Skip to content

[Bug]: evil-mode cursor rendering desyncs from actual point after activating macOS input method (IME) #264

Description

@TheWaWaR

Bug summary

After activating the macOS Input Method (IME) inside a Doom Emacs
session running on neomacs, the rendered cursor stops tracking the
actual point correctly during evil-mode normal-state navigation
(e.g. j/k/w/b). The visual cursor and the real editing
position become desynced. This coincides with the following message
in the terminal/console:

error messaging the mach port for IMKCFRunLoopWakeUpReliable

It's not yet confirmed whether this IMK message is the root cause or
just an unrelated/benign log line that happens to correlate with IME
activation.

Image

Steps to reproduce

  1. Launch neomacs in GUI mode (not -nw) with a Doom Emacs
    configuration (default :editor evil module enabled).
  2. Open a regular file buffer and enter evil normal state.
  3. Activate the macOS input method (IME, Squirrel)
  4. Move the cursor with ordinary evil motions (j/k/w/b, etc.).
  5. Observed

Expected behavior

The rendered cursor should track point exactly during evil-mode
navigation, matching GNU Emacs's behavior, regardless of whether an
IME was activated earlier in the session.

Runtime diagnostics

- neomacs commit: d4e68268fa334130c8efe50addbc48b9008383f0 (2026-08-14)
- neomacs workspace version: 0.0.15
- Doom Emacs revision: ad55ed08df3a1d3398d136d07b60ba2ad00fb91b
- OS: macOS 15.7.3 (Build 24G419), Apple Silicon (arm64)
- Launch mode: GUI (native window, not `-nw`)

Extra context

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions