unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#67457: 29.1; Error when dragging mode line in terminal
@ 2023-11-26 17:31 Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-11-26 18:03 ` Eli Zaretskii
  0 siblings, 1 reply; 14+ messages in thread
From: Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-11-26 17:31 UTC (permalink / raw)
  To: 67457

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))





^ permalink raw reply	[flat|nested] 14+ messages in thread

* bug#67457: 29.1; Error when dragging mode line in terminal
  2023-11-26 17:31 bug#67457: 29.1; Error when dragging mode line in terminal Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-11-26 18:03 ` Eli Zaretskii
  2023-11-26 18:09   ` Visuwesh
  0 siblings, 1 reply; 14+ messages in thread
From: Eli Zaretskii @ 2023-11-26 18:03 UTC (permalink / raw)
  To: Jared Finder; +Cc: 67457

> 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@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?





^ permalink raw reply	[flat|nested] 14+ messages in thread

* bug#67457: 29.1; Error when dragging mode line in terminal
  2023-11-26 18:03 ` Eli Zaretskii
@ 2023-11-26 18:09   ` Visuwesh
  2023-11-26 18:19     ` Eli Zaretskii
  0 siblings, 1 reply; 14+ messages in thread
From: Visuwesh @ 2023-11-26 18:09 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 67457, Jared Finder

[ஞாயிறு நவம்பர் 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@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.





^ permalink raw reply	[flat|nested] 14+ messages in thread

* bug#67457: 29.1; Error when dragging mode line in terminal
  2023-11-26 18:09   ` Visuwesh
@ 2023-11-26 18:19     ` Eli Zaretskii
  2023-11-26 22:08       ` Stephen Berman
  0 siblings, 1 reply; 14+ messages in thread
From: Eli Zaretskii @ 2023-11-26 18:19 UTC (permalink / raw)
  To: Visuwesh; +Cc: 67457, jared

> From: Visuwesh <visuweshm@gmail.com>
> Cc: Jared Finder <jared@finder.org>,  67457@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@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?





^ permalink raw reply	[flat|nested] 14+ messages in thread

* bug#67457: 29.1; Error when dragging mode line in terminal
  2023-11-26 18:19     ` Eli Zaretskii
@ 2023-11-26 22:08       ` Stephen Berman
  2023-11-27  0:24         ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 14+ messages in thread
From: Stephen Berman @ 2023-11-26 22:08 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: jared, 67457, Visuwesh

On Sun, 26 Nov 2023 20:19:45 +0200 Eli Zaretskii <eliz@gnu.org> wrote:

>> From: Visuwesh <visuweshm@gmail.com>
>> Cc: Jared Finder <jared@finder.org>,  67457@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@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





^ permalink raw reply	[flat|nested] 14+ messages in thread

* bug#67457: 29.1; Error when dragging mode line in terminal
  2023-11-26 22:08       ` Stephen Berman
@ 2023-11-27  0:24         ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-11-27  9:05           ` Stephen Berman
  2023-11-27 12:37           ` Eli Zaretskii
  0 siblings, 2 replies; 14+ messages in thread
From: Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-11-27  0:24 UTC (permalink / raw)
  To: Stephen Berman; +Cc: Eli Zaretskii, 67457, Visuwesh

On 2023-11-26 14:08, Stephen Berman wrote:
> On Sun, 26 Nov 2023 20:19:45 +0200 Eli Zaretskii <eliz@gnu.org> wrote:
> 
>>> From: Visuwesh <visuweshm@gmail.com>
>>> Cc: Jared Finder <jared@finder.org>,  67457@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@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





^ permalink raw reply	[flat|nested] 14+ messages in thread

* bug#67457: 29.1; Error when dragging mode line in terminal
  2023-11-27  0:24         ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-11-27  9:05           ` Stephen Berman
  2023-11-27 12:37           ` Eli Zaretskii
  1 sibling, 0 replies; 14+ messages in thread
From: Stephen Berman @ 2023-11-27  9:05 UTC (permalink / raw)
  To: Jared Finder; +Cc: Eli Zaretskii, 67457, Visuwesh

On Sun, 26 Nov 2023 16:24:46 -0800 Jared Finder <jared@finder.org> wrote:

> On 2023-11-26 14:08, Stephen Berman wrote:
>> On Sun, 26 Nov 2023 20:19:45 +0200 Eli Zaretskii <eliz@gnu.org> wrote:
>> 
>>>> From: Visuwesh <visuweshm@gmail.com>
>>>> Cc: Jared Finder <jared@finder.org>,  67457@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@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





^ permalink raw reply	[flat|nested] 14+ messages in thread

* bug#67457: 29.1; Error when dragging mode line in terminal
  2023-11-27  0:24         ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-11-27  9:05           ` Stephen Berman
@ 2023-11-27 12:37           ` Eli Zaretskii
  2023-11-27 15:16             ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 1 reply; 14+ messages in thread
From: Eli Zaretskii @ 2023-11-27 12:37 UTC (permalink / raw)
  To: Jared Finder; +Cc: stephen.berman, 67457, visuweshm

> Date: Sun, 26 Nov 2023 16:24:46 -0800
> From: Jared Finder <jared@finder.org>
> Cc: Eli Zaretskii <eliz@gnu.org>, Visuwesh <visuweshm@gmail.com>,
>  67457@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.





^ permalink raw reply	[flat|nested] 14+ messages in thread

* bug#67457: 29.1; Error when dragging mode line in terminal
  2023-11-27 12:37           ` Eli Zaretskii
@ 2023-11-27 15:16             ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-11-27 16:34               ` Eli Zaretskii
  0 siblings, 1 reply; 14+ messages in thread
From: Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-11-27 15:16 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: stephen.berman, 67457, visuweshm



On 2023-11-27 04:37, Eli Zaretskii wrote:
>> Date: Sun, 26 Nov 2023 16:24:46 -0800
>> From: Jared Finder <jared@finder.org>
>> Cc: Eli Zaretskii <eliz@gnu.org>, Visuwesh <visuweshm@gmail.com>,
>>  67457@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@debian:^/emacs-devel$ git bisect bad
a28ede3a61a70cf83dfcba6c9d314fbb051a3a94 is the first bad commit
commit a28ede3a61a70cf83dfcba6c9d314fbb051a3a94
Author: Stefan Monnier <monnier@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





^ permalink raw reply	[flat|nested] 14+ messages in thread

* bug#67457: 29.1; Error when dragging mode line in terminal
  2023-11-27 15:16             ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-11-27 16:34               ` Eli Zaretskii
  2023-12-06 23:55                 ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 14+ messages in thread
From: Eli Zaretskii @ 2023-11-27 16:34 UTC (permalink / raw)
  To: Jared Finder, Stefan Monnier; +Cc: stephen.berman, 67457, visuweshm

> Date: Mon, 27 Nov 2023 07:16:34 -0800
> From: Jared Finder <jared@finder.org>
> Cc: stephen.berman@gmx.net, visuweshm@gmail.com, 67457@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@debian:^/emacs-devel$ git bisect bad
> a28ede3a61a70cf83dfcba6c9d314fbb051a3a94 is the first bad commit
> commit a28ede3a61a70cf83dfcba6c9d314fbb051a3a94
> Author: Stefan Monnier <monnier@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.





^ permalink raw reply	[flat|nested] 14+ messages in thread

* bug#67457: 29.1; Error when dragging mode line in terminal
  2023-11-27 16:34               ` Eli Zaretskii
@ 2023-12-06 23:55                 ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-12-07 22:35                   ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 14+ messages in thread
From: Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-12-06 23:55 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: stephen.berman, 67457, Stefan Monnier, visuweshm

On 2023-11-27 08:34, Eli Zaretskii wrote:
>> Date: Mon, 27 Nov 2023 07:16:34 -0800
>> From: Jared Finder <jared@finder.org>
>> Cc: stephen.berman@gmx.net, visuweshm@gmail.com, 67457@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@debian:^/emacs-devel$ git bisect bad
>> a28ede3a61a70cf83dfcba6c9d314fbb051a3a94 is the first bad commit
>> commit a28ede3a61a70cf83dfcba6c9d314fbb051a3a94
>> Author: Stefan Monnier <monnier@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





^ permalink raw reply	[flat|nested] 14+ messages in thread

* bug#67457: 29.1; Error when dragging mode line in terminal
  2023-12-06 23:55                 ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-12-07 22:35                   ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-12-08 16:18                     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-12-09  8:19                     ` Eli Zaretskii
  0 siblings, 2 replies; 14+ messages in thread
From: Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-12-07 22:35 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: stephen.berman, 67457, Stefan Monnier, visuweshm

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@finder.org>
>>> Cc: stephen.berman@gmx.net, visuweshm@gmail.com, 
>>> 67457@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@debian:^/emacs-devel$ git bisect bad
>>> a28ede3a61a70cf83dfcba6c9d314fbb051a3a94 is the first bad commit
>>> commit a28ede3a61a70cf83dfcba6c9d314fbb051a3a94
>>> Author: Stefan Monnier <monnier@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





^ permalink raw reply	[flat|nested] 14+ messages in thread

* bug#67457: 29.1; Error when dragging mode line in terminal
  2023-12-07 22:35                   ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-12-08 16:18                     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-12-09  8:19                     ` Eli Zaretskii
  1 sibling, 0 replies; 14+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-12-08 16:18 UTC (permalink / raw)
  To: Jared Finder; +Cc: Eli Zaretskii, stephen.berman, 67457, visuweshm

> 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






^ permalink raw reply	[flat|nested] 14+ messages in thread

* bug#67457: 29.1; Error when dragging mode line in terminal
  2023-12-07 22:35                   ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-12-08 16:18                     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-12-09  8:19                     ` Eli Zaretskii
  1 sibling, 0 replies; 14+ messages in thread
From: Eli Zaretskii @ 2023-12-09  8:19 UTC (permalink / raw)
  To: Jared Finder; +Cc: stephen.berman, 67457-done, monnier, visuweshm

> Date: Thu, 07 Dec 2023 14:35:57 -0800
> From: Jared Finder <jared@finder.org>
> Cc: Stefan Monnier <monnier@iro.umontreal.ca>, stephen.berman@gmx.net,
>  visuweshm@gmail.com, 67457@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.





^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2023-12-09  8:19 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-26 17:31 bug#67457: 29.1; Error when dragging mode line in terminal Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-11-26 18:03 ` Eli Zaretskii
2023-11-26 18:09   ` Visuwesh
2023-11-26 18:19     ` Eli Zaretskii
2023-11-26 22:08       ` Stephen Berman
2023-11-27  0:24         ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-11-27  9:05           ` Stephen Berman
2023-11-27 12:37           ` Eli Zaretskii
2023-11-27 15:16             ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-11-27 16:34               ` Eli Zaretskii
2023-12-06 23:55                 ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-07 22:35                   ` Jared Finder via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-08 16:18                     ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-09  8:19                     ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).