GNU bug report logs - #53276
The blink-cursor-mode not work after startup on macOS

Previous Next

Package: emacs;

Reported by: Eason Huang <aqua0210 <at> foxmail.com>

Date: Sat, 15 Jan 2022 04:42:02 UTC

Severity: normal

Done: Po Lu <luangruo <at> yahoo.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Po Lu <luangruo <at> yahoo.com>
To: Alan Third <alan <at> idiocy.org>
Cc: Eason Huang <aqua0210 <at> foxmail.com>, 53276 <at> debbugs.gnu.org
Subject: bug#53276: The blink-cursor-mode not work after startup on macOS
Date: Sat, 15 Jan 2022 21:11:30 +0800
Po Lu <luangruo <at> yahoo.com> writes:

> I think the right solution is to store events directly into the keyboard
> buffer instead of using emacs_event, but I don't know if there's a
> reason the NS port was not developed that way.

If you don't know the answer, I think we should install the following
version of `windowDidBecomeKey' in master and see if anyone complains:

    - (void)windowDidBecomeKey      /* for direct calls */
    {
      struct ns_display_info *dpyinfo = FRAME_DISPLAY_INFO (emacsframe);
      struct frame *old_focus = dpyinfo->ns_focus_frame;
      struct input_event event;

      EVENT_INIT (event);

      NSTRACE ("[EmacsView windowDidBecomeKey]");

      if (emacsframe != old_focus)
        dpyinfo->ns_focus_frame = emacsframe;

      ns_frame_rehighlight (emacsframe);

      event.kind = FOCUS_IN_EVENT;
      XSETFRAME (event.frame_or_window, emacsframe);
      kbd_buffer_store_event (&event);
    }

And if nobody complains in a year, convert the rest of the places where
emacs_event is used to do this as well.

WDYT?




This bug report was last modified 3 years and 170 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.