GNU bug report logs - #78218
30.1; mouse-highlight variable does not work on macOS

Previous Next

Package: emacs;

Reported by: Robert Morelli <morelli <at> flux.utah.edu>

Date: Fri, 2 May 2025 18:21:02 UTC

Severity: normal

Found in version 30.1

Full log


View this message in rfc822 format

From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: alan <at> idiocy.org, 78218 <at> debbugs.gnu.org, morelli <at> flux.utah.edu
Subject: bug#78218: 30.1; mouse-highlight variable does not work on macOS
Date: Sun, 04 May 2025 08:20:40 +0200
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
>> Cc: morelli <at> flux.utah.edu,  alan <at> idiocy.org,  78218 <at> debbugs.gnu.org
>> Date: Sun, 04 May 2025 06:51:47 +0200
>> 
>> Eli Zaretskii <eliz <at> gnu.org> writes:
>> 
>> >> From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
>> >> Cc: morelli <at> flux.utah.edu,  alan <at> idiocy.org,  78218 <at> debbugs.gnu.org
>> >> Date: Sat, 03 May 2025 14:44:08 +0200
>> >> 
>> >> Eli Zaretskii <eliz <at> gnu.org> writes:
>> >> 
>> >> > AFAICT, it wasn't implemented (except for MS-DOS).  I've now fixed
>> >> > that for the MS-Windows console.  I don't have access to a Unix
>> >> > terminal with a mouse, so I cannot work on fixing this, but AFAIU the
>> >> > fix should be in handle_one_term_event.
>> >> 
>> >> That function is part of the GMP mouse handling, AFAICS.
>> >
>> > Yes, that's what I had in mind.  For xterm-mouse we'll need something
>> > else.
>> >
>> >> Also something one should maybe take into account is if/how multi-tty
>> >> comes into play here?
>> >
>> > The mouse_highlight structure is per-terminal, so I think this is
>> > solved.
>> 
>> I've pushed something to master for NS.
>> 
>> While checking what xterm does I found this:
>> 
>> xterm.c:
>> 20204       if (!hlinfo->mouse_face_hidden && FIXNUMP (Vmouse_highlight)
>> 20205           && (f == 0
>> 20206 #if ! defined (USE_GTK)
>> 20207               || !EQ (f->tool_bar_window, hlinfo->mouse_face_window)
>> 20208 #endif
>> 20209               || !EQ (f->tab_bar_window, hlinfo->mouse_face_window))
>> 
>> Shouldn't that check that mouse_face_window is neither the tool bar
>> window (if USE_GTK) nor the tab bar window? Something like (!EQ && !EQ)?
>
> Yes, I think so.  Here's the w32 implementation, for comparison:
>
> 	  if (f && !FRAME_ICONIFIED_P (f))
> 	    {
> 	      if (!hlinfo->mouse_face_hidden && FIXNUMP (Vmouse_highlight)
> 		  && !EQ (f->tab_bar_window, hlinfo->mouse_face_window)
> 		  && !EQ (f->tool_bar_window, hlinfo->mouse_face_window))
> 		{
> 		  clear_mouse_face (hlinfo);
> 		  hlinfo->mouse_face_hidden = true;
> 		}

Thanks. I've pushed a fix.




This bug report was last modified 47 days ago.

Previous Next


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