GNU bug report logs - #67457
29.1; Error when dragging mode line in terminal

Previous Next

Package: emacs;

Reported by: Jared Finder <jared <at> finder.org>

Date: Sun, 26 Nov 2023 17:32:02 UTC

Severity: normal

Found in version 29.1

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 67457 in the body.
You can then email your comments to 67457 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#67457; Package emacs. (Sun, 26 Nov 2023 17:32:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Jared Finder <jared <at> finder.org>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sun, 26 Nov 2023 17:32:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Jared Finder <jared <at> finder.org>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.1; Error when dragging mode line in terminal
Date: Sun, 26 Nov 2023 09:31:26 -0800
When in a terminal with the tab-line showing and mouse enabled, the
following error in shown when dragging the mode line down:

<tab-line> <mouse-movement> is undefined

I believe the following diff fully fixes the issue:

--- /usr/share/emacs/29.1/lisp/mouse.el.gz
+++ #<buffer mouse.el.gz>
@@ -861,6 +861,7 @@
 	       (define-key map [mode-line] map)
 	       (define-key map [header-line] map)
 	       (define-key map [vertical-line] map)
+	       (define-key map [tab-line] map)
 	       ;; ... and some maybe even with a right- or bottom-divider
 	       ;; or left- or right-margin prefix ...
 	       (define-key map [right-divider] map)

Diff finished.  Sun Nov 26 09:22:55 2023

Steps to reproduce:

emacs -Q -nw
M-x global-tab-line-mode
M-x xterm-mouse-mode
C-x 2
Attempt to drag the mode line down


In GNU Emacs 29.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.37,
 cairo version 1.16.0) of 2023-09-11, modified by Debian built on melete
System Description: Debian GNU/Linux 12 (bookworm)

Configured using:
 'configure --build x86_64-linux-gnu --prefix=/usr
 --sharedstatedir=/var/lib --libexecdir=/usr/libexec
 --localstatedir=/var/lib --infodir=/usr/share/info
 --mandir=/usr/share/man --with-libsystemd --with-pop=yes
 
--enable-locallisppath=/etc/emacs:/usr/local/share/emacs/29.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/29.1/site-lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --without-gconf --with-mailutils
 --with-native-compilation --build x86_64-linux-gnu --prefix=/usr
 --sharedstatedir=/var/lib --libexecdir=/usr/libexec
 --localstatedir=/var/lib --infodir=/usr/share/info
 --mandir=/usr/share/man --with-libsystemd --with-pop=yes
 
--enable-locallisppath=/etc/emacs:/usr/local/share/emacs/29.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/29.1/site-lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --without-gconf --with-mailutils
 --with-native-compilation --with-pgtk 'CFLAGS=-g -O2
 -ffile-prefix-map=/build/emacs-N816CI/emacs-29.1+1=. 
-fstack-protector-strong
 -Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time
 -D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP
NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  xterm-mouse-mode: t
  global-tab-line-mode: t
  tab-line-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils jka-compr find-func shortdoc
text-property-search mouse-copy mouse-drag thingatpt help-fns radix-tree
time-date xt-mouse cus-start cus-load tab-line cl-loaddefs comp
comp-cstr warnings icons subr-x rx cl-seq cl-macs cl-extra help-mode
cl-lib term/xterm xterm byte-opt gv bytecomp byte-compile rmc iso-transl
tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win term/common-win
pgtk-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list
replace newcomment text-mode lisp-mode prog-mode register page tab-bar
menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse
jit-lock font-lock syntax font-core term/tty-colors frame minibuffer
nadvice seq simple cl-generic indonesian philippine cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop
case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads dbusbind inotify dynamic-setting system-font-setting
font-render-setting cairo gtk pgtk lcms2 multi-tty make-network-process
native-compile emacs)

Memory information:
((conses 16 108696 9979)
 (symbols 48 8647 0)
 (strings 32 24548 3073)
 (string-bytes 1 826713)
 (vectors 16 14024)
 (vector-slots 8 289995 11948)
 (floats 8 94 211)
 (intervals 56 772 80)
 (buffers 984 16))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#67457; Package emacs. (Sun, 26 Nov 2023 18:04:01 GMT) Full text and rfc822 format available.

Message #8 received at 67457 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Jared Finder <jared <at> finder.org>
Cc: 67457 <at> debbugs.gnu.org
Subject: Re: bug#67457: 29.1; Error when dragging mode line in terminal
Date: Sun, 26 Nov 2023 20:03:16 +0200
> Date: Sun, 26 Nov 2023 09:31:26 -0800
> From:  Jared Finder via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> 
> When in a terminal with the tab-line showing and mouse enabled, the
> following error in shown when dragging the mode line down:
> 
> <tab-line> <mouse-movement> is undefined

Thanks, but I cannot reproduce this, at least not on MS-Windows (I
don't have access to a Posix system with a mouse-capable text
terminal).

> Steps to reproduce:
> 
> emacs -Q -nw
> M-x global-tab-line-mode
> M-x xterm-mouse-mode
> C-x 2
> Attempt to drag the mode line down

Does it matter which part of the mode line you drag?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#67457; Package emacs. (Sun, 26 Nov 2023 18:11:01 GMT) Full text and rfc822 format available.

Message #11 received at 67457 <at> debbugs.gnu.org (full text, mbox):

From: Visuwesh <visuweshm <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 67457 <at> debbugs.gnu.org, Jared Finder <jared <at> finder.org>
Subject: Re: bug#67457: 29.1; Error when dragging mode line in terminal
Date: Sun, 26 Nov 2023 23:39:45 +0530
[ஞாயிறு நவம்பர் 26, 2023] Eli Zaretskii wrote:

>> Date: Sun, 26 Nov 2023 09:31:26 -0800
>> From:  Jared Finder via "Bug reports for GNU Emacs,
>>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
>> 
>> When in a terminal with the tab-line showing and mouse enabled, the
>> following error in shown when dragging the mode line down:
>> 
>> <tab-line> <mouse-movement> is undefined
>
> Thanks, but I cannot reproduce this, at least not on MS-Windows (I
> don't have access to a Posix system with a mouse-capable text
> terminal).

I can reproduce this in xterm in master branch commit
2fca889cfb4fa495a6ffa0c7fe368551ee9a32bc.

>> Steps to reproduce:
>> 
>> emacs -Q -nw
>> M-x global-tab-line-mode
>> M-x xterm-mouse-mode
>> C-x 2
>> Attempt to drag the mode line down
>
> Does it matter which part of the mode line you drag?

It doesn't seem to matter.  I pulled from the final '----' part and
could reproduce the message.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#67457; Package emacs. (Sun, 26 Nov 2023 18:21:02 GMT) Full text and rfc822 format available.

Message #14 received at 67457 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Visuwesh <visuweshm <at> gmail.com>
Cc: 67457 <at> debbugs.gnu.org, jared <at> finder.org
Subject: Re: bug#67457: 29.1; Error when dragging mode line in terminal
Date: Sun, 26 Nov 2023 20:19:45 +0200
> From: Visuwesh <visuweshm <at> gmail.com>
> Cc: Jared Finder <jared <at> finder.org>,  67457 <at> debbugs.gnu.org
> Date: Sun, 26 Nov 2023 23:39:45 +0530
> 
> [ஞாயிறு நவம்பர் 26, 2023] Eli Zaretskii wrote:
> 
> >> Date: Sun, 26 Nov 2023 09:31:26 -0800
> >> From:  Jared Finder via "Bug reports for GNU Emacs,
> >>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> >> 
> >> When in a terminal with the tab-line showing and mouse enabled, the
> >> following error in shown when dragging the mode line down:
> >> 
> >> <tab-line> <mouse-movement> is undefined
> >
> > Thanks, but I cannot reproduce this, at least not on MS-Windows (I
> > don't have access to a Posix system with a mouse-capable text
> > terminal).
> 
> I can reproduce this in xterm in master branch commit
> 2fca889cfb4fa495a6ffa0c7fe368551ee9a32bc.

Thanks.

And the fix solves the problem?

Does anyone have a Linux terminal with GPM mouse and can test there?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#67457; Package emacs. (Sun, 26 Nov 2023 22:09:02 GMT) Full text and rfc822 format available.

Message #17 received at 67457 <at> debbugs.gnu.org (full text, mbox):

From: Stephen Berman <stephen.berman <at> gmx.net>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: jared <at> finder.org, 67457 <at> debbugs.gnu.org, Visuwesh <visuweshm <at> gmail.com>
Subject: Re: bug#67457: 29.1; Error when dragging mode line in terminal
Date: Sun, 26 Nov 2023 23:08:04 +0100
On Sun, 26 Nov 2023 20:19:45 +0200 Eli Zaretskii <eliz <at> gnu.org> wrote:

>> From: Visuwesh <visuweshm <at> gmail.com>
>> Cc: Jared Finder <jared <at> finder.org>,  67457 <at> debbugs.gnu.org
>> Date: Sun, 26 Nov 2023 23:39:45 +0530
>> 
>> [ஞாயிறு நவம்பர் 26, 2023] Eli Zaretskii wrote:
>> 
>> >> Date: Sun, 26 Nov 2023 09:31:26 -0800
>> >> From:  Jared Finder via "Bug reports for GNU Emacs,
>> >>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
>> >> 
>> >> When in a terminal with the tab-line showing and mouse enabled, the
>> >> following error in shown when dragging the mode line down:
>> >> 
>> >> <tab-line> <mouse-movement> is undefined
>> >
>> > Thanks, but I cannot reproduce this, at least not on MS-Windows (I
>> > don't have access to a Posix system with a mouse-capable text
>> > terminal).
>> 
>> I can reproduce this in xterm in master branch commit
>> 2fca889cfb4fa495a6ffa0c7fe368551ee9a32bc.
>
> Thanks.
>
> And the fix solves the problem?

I can also reproduce the problem on GNU/Linux with emacs-29 and master,
and the fix works for me.

> Does anyone have a Linux terminal with GPM mouse and can test there?

I do and after splitting the window and enabling gpm-mouse-mode I can't
drag the mode line with GPM mouse at all, whether global-tab-line is
enabled or not (on emacs-29 and master), and there are no errors or
other notifications in *Messages*.  Is dragging the mode line
supposed to work in the Linux terminal with GPM mouse?

Steve Berman




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#67457; Package emacs. (Mon, 27 Nov 2023 00:25:01 GMT) Full text and rfc822 format available.

Message #20 received at 67457 <at> debbugs.gnu.org (full text, mbox):

From: Jared Finder <jared <at> finder.org>
To: Stephen Berman <stephen.berman <at> gmx.net>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 67457 <at> debbugs.gnu.org,
 Visuwesh <visuweshm <at> gmail.com>
Subject: Re: bug#67457: 29.1; Error when dragging mode line in terminal
Date: Sun, 26 Nov 2023 16:24:46 -0800
On 2023-11-26 14:08, Stephen Berman wrote:
> On Sun, 26 Nov 2023 20:19:45 +0200 Eli Zaretskii <eliz <at> gnu.org> wrote:
> 
>>> From: Visuwesh <visuweshm <at> gmail.com>
>>> Cc: Jared Finder <jared <at> finder.org>,  67457 <at> debbugs.gnu.org
>>> Date: Sun, 26 Nov 2023 23:39:45 +0530
>>> 
>>> [ஞாயிறு நவம்பர் 26, 2023] Eli Zaretskii wrote:
>>> 
>>> >> Date: Sun, 26 Nov 2023 09:31:26 -0800
>>> >> From:  Jared Finder via "Bug reports for GNU Emacs,
>>> >>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
>>> >>
>>> >> When in a terminal with the tab-line showing and mouse enabled, the
>>> >> following error in shown when dragging the mode line down:
>>> >>
>>> >> <tab-line> <mouse-movement> is undefined
>>> >
>>> > Thanks, but I cannot reproduce this, at least not on MS-Windows (I
>>> > don't have access to a Posix system with a mouse-capable text
>>> > terminal).
>>> 
>>> I can reproduce this in xterm in master branch commit
>>> 2fca889cfb4fa495a6ffa0c7fe368551ee9a32bc.
>> 
>> Thanks.
>> 
>> And the fix solves the problem?
> 
> I can also reproduce the problem on GNU/Linux with emacs-29 and master,
> and the fix works for me.
> 
>> Does anyone have a Linux terminal with GPM mouse and can test there?
> 
> I do and after splitting the window and enabling gpm-mouse-mode I can't
> drag the mode line with GPM mouse at all, whether global-tab-line is
> enabled or not (on emacs-29 and master), and there are no errors or
> other notifications in *Messages*.  Is dragging the mode line
> supposed to work in the Linux terminal with GPM mouse?

I also have a GPM mouse available and I see different behavior.

On Emacs 28.2 (installed from Debian package): Dragging the mode line 
works fine, even if the tab line is visible. (GPM mouse mode is enabled 
by default)

On HEAD (2407f8): Dragging the mode line does not work until I disable 
and re-enable GPM mouse mode. Then it works fine.

This indicates two things to me:

1. My original patch is likely inaccurate.  A better fix would be to 
align the mouse-movement event with how it is emitted under GPM and DOS. 
 I will investigate.

2. Something broke with how GPM mouse mode is enabled between Emacs 28.2 
and HEAD.  I can help with a bisect here.

  -- MJF




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#67457; Package emacs. (Mon, 27 Nov 2023 09:06:01 GMT) Full text and rfc822 format available.

Message #23 received at 67457 <at> debbugs.gnu.org (full text, mbox):

From: Stephen Berman <stephen.berman <at> gmx.net>
To: Jared Finder <jared <at> finder.org>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 67457 <at> debbugs.gnu.org,
 Visuwesh <visuweshm <at> gmail.com>
Subject: Re: bug#67457: 29.1; Error when dragging mode line in terminal
Date: Mon, 27 Nov 2023 10:05:02 +0100
On Sun, 26 Nov 2023 16:24:46 -0800 Jared Finder <jared <at> finder.org> wrote:

> On 2023-11-26 14:08, Stephen Berman wrote:
>> On Sun, 26 Nov 2023 20:19:45 +0200 Eli Zaretskii <eliz <at> gnu.org> wrote:
>> 
>>>> From: Visuwesh <visuweshm <at> gmail.com>
>>>> Cc: Jared Finder <jared <at> finder.org>,  67457 <at> debbugs.gnu.org
>>>> Date: Sun, 26 Nov 2023 23:39:45 +0530
>>>> [ஞாயிறு நவம்பர் 26, 2023] Eli Zaretskii wrote:
>>>>  >> Date: Sun, 26 Nov 2023 09:31:26 -0800
>>>> >> From:  Jared Finder via "Bug reports for GNU Emacs,
>>>> >>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
>>>> >>
>>>> >> When in a terminal with the tab-line showing and mouse enabled, the
>>>> >> following error in shown when dragging the mode line down:
>>>> >>
>>>> >> <tab-line> <mouse-movement> is undefined
>>>> >
>>>> > Thanks, but I cannot reproduce this, at least not on MS-Windows (I
>>>> > don't have access to a Posix system with a mouse-capable text
>>>> > terminal).
>>>> I can reproduce this in xterm in master branch commit
>>>> 2fca889cfb4fa495a6ffa0c7fe368551ee9a32bc.
>>> Thanks.
>>> And the fix solves the problem?
>> I can also reproduce the problem on GNU/Linux with emacs-29 and master,
>> and the fix works for me.
>> 
>>> Does anyone have a Linux terminal with GPM mouse and can test there?
>> I do and after splitting the window and enabling gpm-mouse-mode I can't
>> drag the mode line with GPM mouse at all, whether global-tab-line is
>> enabled or not (on emacs-29 and master), and there are no errors or
>> other notifications in *Messages*.  Is dragging the mode line
>> supposed to work in the Linux terminal with GPM mouse?
>
> I also have a GPM mouse available and I see different behavior.
>
> On Emacs 28.2 (installed from Debian package): Dragging the mode line works
> fine, even if the tab line is visible. (GPM mouse mode is enabled by default)
>
> On HEAD (2407f8): Dragging the mode line does not work until I disable and
> re-enable GPM mouse mode. Then it works fine.

I can now confirm this (and see the same on the emacs-29 branch as on
master; I can't currently test emacs-28).  My previous report was
erroneous: I had never used (or even heard of) gpm-mouse-mode before
reading this bug thread, and didn't realize it was enabled by default,
so all I had done was to disable it; on re-enabling it, dragging works
as Jared reported, both without and with the tab line.

> This indicates two things to me:
>
> 1. My original patch is likely inaccurate.  A better fix would be to align the
> mouse-movement event with how it is emitted under GPM and DOS.   I will
> investigate.
>
> 2. Something broke with how GPM mouse mode is enabled between Emacs 28.2 and
> HEAD.  I can help with a bisect here.

As noted, I see the same behavior on master and emacs-29, so it may be
quicker to use the latter for bisecting (I cannot help with that for the
time being, sorry).

Steve Berman




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#67457; Package emacs. (Mon, 27 Nov 2023 12:39:01 GMT) Full text and rfc822 format available.

Message #26 received at 67457 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Jared Finder <jared <at> finder.org>
Cc: stephen.berman <at> gmx.net, 67457 <at> debbugs.gnu.org, visuweshm <at> gmail.com
Subject: Re: bug#67457: 29.1; Error when dragging mode line in terminal
Date: Mon, 27 Nov 2023 14:37:50 +0200
> Date: Sun, 26 Nov 2023 16:24:46 -0800
> From: Jared Finder <jared <at> finder.org>
> Cc: Eli Zaretskii <eliz <at> gnu.org>, Visuwesh <visuweshm <at> gmail.com>,
>  67457 <at> debbugs.gnu.org
> 
> This indicates two things to me:
> 
> 1. My original patch is likely inaccurate.  A better fix would be to 
> align the mouse-movement event with how it is emitted under GPM and DOS. 
>   I will investigate.
> 
> 2. Something broke with how GPM mouse mode is enabled between Emacs 28.2 
> and HEAD.  I can help with a bisect here.

Thanks, please do, on both counts.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#67457; Package emacs. (Mon, 27 Nov 2023 15:17:01 GMT) Full text and rfc822 format available.

Message #29 received at 67457 <at> debbugs.gnu.org (full text, mbox):

From: Jared Finder <jared <at> finder.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: stephen.berman <at> gmx.net, 67457 <at> debbugs.gnu.org, visuweshm <at> gmail.com
Subject: Re: bug#67457: 29.1; Error when dragging mode line in terminal
Date: Mon, 27 Nov 2023 07:16:34 -0800

On 2023-11-27 04:37, Eli Zaretskii wrote:
>> Date: Sun, 26 Nov 2023 16:24:46 -0800
>> From: Jared Finder <jared <at> finder.org>
>> Cc: Eli Zaretskii <eliz <at> gnu.org>, Visuwesh <visuweshm <at> gmail.com>,
>>  67457 <at> debbugs.gnu.org
>> 
>> This indicates two things to me:
>> 
>> 1. My original patch is likely inaccurate.  A better fix would be to
>> align the mouse-movement event with how it is emitted under GPM and 
>> DOS.
>>   I will investigate.
>> 
>> 2. Something broke with how GPM mouse mode is enabled between Emacs 
>> 28.2
>> and HEAD.  I can help with a bisect here.
> 
> Thanks, please do, on both counts.

Bisect identified the following commit as the bad commit, confirmed 
locally:

jared <at> debian:^/emacs-devel$ git bisect bad
a28ede3a61a70cf83dfcba6c9d314fbb051a3a94 is the first bad commit
commit a28ede3a61a70cf83dfcba6c9d314fbb051a3a94
Author: Stefan Monnier <monnier <at> iro.umontreal.ca>
Date:
t-mouse.el: Make sure we apply the setting to new terminals
* lisp/t-mouse.el (gpm-mouse-tty-setup): New function.
(gpm-mouse-mode): Use it as well as 'tty-setup-hook".
* lisp/term/linux.el (terminal-init-linux): Remove gpm-specific code,
not neded any more.
lisp/t-mouse.el
lisp/term/linux.el | 2 --

  -- MJF




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#67457; Package emacs. (Mon, 27 Nov 2023 16:35:02 GMT) Full text and rfc822 format available.

Message #32 received at 67457 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Jared Finder <jared <at> finder.org>, Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: stephen.berman <at> gmx.net, 67457 <at> debbugs.gnu.org, visuweshm <at> gmail.com
Subject: Re: bug#67457: 29.1; Error when dragging mode line in terminal
Date: Mon, 27 Nov 2023 18:34:09 +0200
> Date: Mon, 27 Nov 2023 07:16:34 -0800
> From: Jared Finder <jared <at> finder.org>
> Cc: stephen.berman <at> gmx.net, visuweshm <at> gmail.com, 67457 <at> debbugs.gnu.org
> 
> >> 1. My original patch is likely inaccurate.  A better fix would be to
> >> align the mouse-movement event with how it is emitted under GPM and 
> >> DOS.
> >>   I will investigate.
> >> 
> >> 2. Something broke with how GPM mouse mode is enabled between Emacs 
> >> 28.2
> >> and HEAD.  I can help with a bisect here.
> > 
> > Thanks, please do, on both counts.
> 
> Bisect identified the following commit as the bad commit, confirmed 
> locally:
> 
> jared <at> debian:^/emacs-devel$ git bisect bad
> a28ede3a61a70cf83dfcba6c9d314fbb051a3a94 is the first bad commit
> commit a28ede3a61a70cf83dfcba6c9d314fbb051a3a94
> Author: Stefan Monnier <monnier <at> iro.umontreal.ca>
> Date:
> t-mouse.el: Make sure we apply the setting to new terminals
> * lisp/t-mouse.el (gpm-mouse-tty-setup): New function.
> (gpm-mouse-mode): Use it as well as 'tty-setup-hook".
> * lisp/term/linux.el (terminal-init-linux): Remove gpm-specific code,
> not neded any more.
> lisp/t-mouse.el
> lisp/term/linux.el | 2 --

Thanks, adding Stefan to the discussion.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#67457; Package emacs. (Wed, 06 Dec 2023 23:56:01 GMT) Full text and rfc822 format available.

Message #35 received at 67457 <at> debbugs.gnu.org (full text, mbox):

From: Jared Finder <jared <at> finder.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: stephen.berman <at> gmx.net, 67457 <at> debbugs.gnu.org,
 Stefan Monnier <monnier <at> iro.umontreal.ca>, visuweshm <at> gmail.com
Subject: Re: bug#67457: 29.1; Error when dragging mode line in terminal
Date: Wed, 06 Dec 2023 15:55:04 -0800
On 2023-11-27 08:34, Eli Zaretskii wrote:
>> Date: Mon, 27 Nov 2023 07:16:34 -0800
>> From: Jared Finder <jared <at> finder.org>
>> Cc: stephen.berman <at> gmx.net, visuweshm <at> gmail.com, 67457 <at> debbugs.gnu.org
>> 
>> >> 1. My original patch is likely inaccurate.  A better fix would be to
>> >> align the mouse-movement event with how it is emitted under GPM and
>> >> DOS.
>> >>   I will investigate.
>> >>
>> >> 2. Something broke with how GPM mouse mode is enabled between Emacs
>> >> 28.2
>> >> and HEAD.  I can help with a bisect here.
>> >
>> > Thanks, please do, on both counts.
>> 
>> Bisect identified the following commit as the bad commit, confirmed
>> locally:
>> 
>> jared <at> debian:^/emacs-devel$ git bisect bad
>> a28ede3a61a70cf83dfcba6c9d314fbb051a3a94 is the first bad commit
>> commit a28ede3a61a70cf83dfcba6c9d314fbb051a3a94
>> Author: Stefan Monnier <monnier <at> iro.umontreal.ca>
>> Date:
>> t-mouse.el: Make sure we apply the setting to new terminals
>> * lisp/t-mouse.el (gpm-mouse-tty-setup): New function.
>> (gpm-mouse-mode): Use it as well as 'tty-setup-hook".
>> * lisp/term/linux.el (terminal-init-linux): Remove gpm-specific code,
>> not neded any more.
>> lisp/t-mouse.el
>> lisp/term/linux.el | 2 --
> 
> Thanks, adding Stefan to the discussion.

Following up on #2:  The issue here is that after a28ede, 
gpm-mouse-tty-setup is never added to tty-setup-hook since it is only 
added within gpm-mouse-mode. This is clearly visible by checking the 
value of tty-setup-hook at startup, and after toggling gpm-mouse-mode 
off and on again.

The following simple patch fixes that, while leaving the details of how 
gpm-mouse-mode works an internal detail:

--- a/lisp/term/linux.el
+++ b/lisp/term/linux.el
@@ -13,6 +13,9 @@ terminal-init-linux
  ;; Compositions confuse cursor movement.
  (setq-default auto-composition-mode "linux")

+ ;; Ensure additional terminal setup is done when `gpm-mouse-mode' is 
enabled.
+ (ignore-errors (when gpm-mouse-mode (gpm-mouse-mode 1)))
+
  ;; Don't translate ESC TAB to backtab as directed by ncurses-6.3.
  (define-key input-decode-map "\e\t" nil)

One could also just revert just the linux.el changes in a28ede, though 
that assumes that gpm-mouse-enable exists.

  -- MJF




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#67457; Package emacs. (Thu, 07 Dec 2023 22:37:02 GMT) Full text and rfc822 format available.

Message #38 received at 67457 <at> debbugs.gnu.org (full text, mbox):

From: Jared Finder <jared <at> finder.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: stephen.berman <at> gmx.net, 67457 <at> debbugs.gnu.org,
 Stefan Monnier <monnier <at> iro.umontreal.ca>, visuweshm <at> gmail.com
Subject: Re: bug#67457: 29.1; Error when dragging mode line in terminal
Date: Thu, 07 Dec 2023 14:35:57 -0800
Leaving this as one email so both changes are easy to follow.  I believe 
both patches are valuable to apply.

On 2023-12-06 15:55, Jared Finder wrote:
> On 2023-11-27 08:34, Eli Zaretskii wrote:
>>> Date: Mon, 27 Nov 2023 07:16:34 -0800
>>> From: Jared Finder <jared <at> finder.org>
>>> Cc: stephen.berman <at> gmx.net, visuweshm <at> gmail.com, 
>>> 67457 <at> debbugs.gnu.org
>>> 
>>> >> 1. My original patch is likely inaccurate.  A better fix would be to
>>> >> align the mouse-movement event with how it is emitted under GPM and
>>> >> DOS.
>>> >>   I will investigate.

And I have a better patch here.  The real issue is that xt-mouse 
generated mouse-movement events were getting prefixed with mode-line or 
tab-line symbols but other mouse-movement events were not.  The 
following simple change fixes that:

--- a/lisp/xt-mouse.el
+++ b/lisp/xt-mouse.el
@@ -63,9 +63,14 @@ xterm-mouse-translate-1
           (is-move (eq 'mouse-movement ev-command))
           (is-down (string-match "down-" (symbol-name ev-command))))

-      ;; Mouse events symbols must have an 'event-kind property with
-      ;; the value 'mouse-click.
-      (when ev-command (put ev-command 'event-kind 'mouse-click))
+      ;; Mouse events symbols must have an 'event-kind property set.
+      ;; Most of them use the value 'mouse-click, but 'mouse-movement
+      ;; has a different value.  See head_table in
+      ;; keyboard.c. (bug#67457)
+      (when ev-command (put ev-command 'event-kind
+                            (if (eq ev-command 'mouse-movement)
+                                'mouse-movement
+                              'mouse-click)))

>>> >>
>>> >> 2. Something broke with how GPM mouse mode is enabled between Emacs
>>> >> 28.2
>>> >> and HEAD.  I can help with a bisect here.
>>> >
>>> > Thanks, please do, on both counts.
>>> 
>>> Bisect identified the following commit as the bad commit, confirmed
>>> locally:
>>> 
>>> jared <at> debian:^/emacs-devel$ git bisect bad
>>> a28ede3a61a70cf83dfcba6c9d314fbb051a3a94 is the first bad commit
>>> commit a28ede3a61a70cf83dfcba6c9d314fbb051a3a94
>>> Author: Stefan Monnier <monnier <at> iro.umontreal.ca>
>>> Date:
>>> t-mouse.el: Make sure we apply the setting to new terminals
>>> * lisp/t-mouse.el (gpm-mouse-tty-setup): New function.
>>> (gpm-mouse-mode): Use it as well as 'tty-setup-hook".
>>> * lisp/term/linux.el (terminal-init-linux): Remove gpm-specific code,
>>> not neded any more.
>>> lisp/t-mouse.el
>>> lisp/term/linux.el | 2 --
>> 
>> Thanks, adding Stefan to the discussion.
> 
> Following up on #2:  The issue here is that after a28ede, 
> gpm-mouse-tty-setup is never added to tty-setup-hook since it is only 
> added within gpm-mouse-mode. This is clearly visible by checking the 
> value of tty-setup-hook at startup, and after toggling gpm-mouse-mode 
> off and on again.
> 
> The following simple patch fixes that, while leaving the details of how 
> gpm-mouse-mode works an internal detail:
> 
> --- a/lisp/term/linux.el
> +++ b/lisp/term/linux.el
> @@ -13,6 +13,9 @@ terminal-init-linux
>   ;; Compositions confuse cursor movement.
>   (setq-default auto-composition-mode "linux")
> 
> + ;; Ensure additional terminal setup is done when `gpm-mouse-mode' is 
> enabled.
> + (ignore-errors (when gpm-mouse-mode (gpm-mouse-mode 1)))
> +
>   ;; Don't translate ESC TAB to backtab as directed by ncurses-6.3.
>   (define-key input-decode-map "\e\t" nil)
> 
> One could also just revert just the linux.el changes in a28ede, though 
> that assumes that gpm-mouse-enable exists.
> 
>   -- MJF




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#67457; Package emacs. (Fri, 08 Dec 2023 16:19:02 GMT) Full text and rfc822 format available.

Message #41 received at 67457 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Jared Finder <jared <at> finder.org>
Cc: Eli Zaretskii <eliz <at> gnu.org>, stephen.berman <at> gmx.net, 67457 <at> debbugs.gnu.org,
 visuweshm <at> gmail.com
Subject: Re: bug#67457: 29.1; Error when dragging mode line in terminal
Date: Fri, 08 Dec 2023 11:18:27 -0500
> And I have a better patch here.  The real issue is that xt-mouse generated
>  mouse-movement events were getting prefixed with mode-line or tab-line
>  symbols but other mouse-movement events were not.  The following simple
> change fixes that:
>
> --- a/lisp/xt-mouse.el
> +++ b/lisp/xt-mouse.el
> @@ -63,9 +63,14 @@ xterm-mouse-translate-1
>            (is-move (eq 'mouse-movement ev-command))
>            (is-down (string-match "down-" (symbol-name ev-command))))
>
> -      ;; Mouse events symbols must have an 'event-kind property with
> -      ;; the value 'mouse-click.
> -      (when ev-command (put ev-command 'event-kind 'mouse-click))
> +      ;; Mouse events symbols must have an 'event-kind property set.
> +      ;; Most of them use the value 'mouse-click, but 'mouse-movement
> +      ;; has a different value.  See head_table in
> +      ;; keyboard.c. (bug#67457)
> +      (when ev-command (put ev-command 'event-kind
> +                            (if (eq ev-command 'mouse-movement)
> +                                'mouse-movement
> +                              'mouse-click)))

Ooohhh.... nice!


        Stefan





Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Sat, 09 Dec 2023 08:21:01 GMT) Full text and rfc822 format available.

Notification sent to Jared Finder <jared <at> finder.org>:
bug acknowledged by developer. (Sat, 09 Dec 2023 08:21:01 GMT) Full text and rfc822 format available.

Message #46 received at 67457-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Jared Finder <jared <at> finder.org>
Cc: stephen.berman <at> gmx.net, 67457-done <at> debbugs.gnu.org,
 monnier <at> iro.umontreal.ca, visuweshm <at> gmail.com
Subject: Re: bug#67457: 29.1; Error when dragging mode line in terminal
Date: Sat, 09 Dec 2023 10:19:31 +0200
> Date: Thu, 07 Dec 2023 14:35:57 -0800
> From: Jared Finder <jared <at> finder.org>
> Cc: Stefan Monnier <monnier <at> iro.umontreal.ca>, stephen.berman <at> gmx.net,
>  visuweshm <at> gmail.com, 67457 <at> debbugs.gnu.org
> 
> Leaving this as one email so both changes are easy to follow.  I believe 
> both patches are valuable to apply.

Thanks, I've now installed both patches on the emacs-29 branch, and
I'm closing this bug.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 06 Jan 2024 12:24:10 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 126 days ago.

Previous Next


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