GNU bug report logs - #61241
29.0.60; Incoherent last_mouse_window (xterm.c) between XInput and XInput 2

Previous Next

Package: emacs;

Reported by: Adrián Medraño Calvo <adrian <at> medranocalvo.com>

Date: Thu, 2 Feb 2023 22:29:02 UTC

Severity: normal

Found in version 29.0.60

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

Full log


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

From: Eli Zaretskii <eliz <at> gnu.org>
To: luangruo <at> yahoo.com
Cc: 61241 <at> debbugs.gnu.org, adrian <at> medranocalvo.com
Subject: Re: bug#61241: 29.0.60;
 Incoherent last_mouse_window (xterm.c) between XInput and XInput 2
Date: Sat, 07 Jun 2025 11:20:59 +0300
Ping!  Po Lu, please respond.

> Cc: 61241 <at> debbugs.gnu.org
> Date: Sat, 24 May 2025 12:07:27 +0300
> From: Eli Zaretskii <eliz <at> gnu.org>
> 
> Po Lu, any comments?
> 
> > From: Adrián Medraño Calvo <adrian <at> medranocalvo.com>
> > Date: Tue, 13 May 2025 17:49:16 +0200
> > Cc: Eli Zaretskii <eliz <at> gnu.org>,
> >  61241 <at> debbugs.gnu.org
> > 
> > > On 22. Aug 2023, at 08:59, Po Lu <luangruo <at> yahoo.com> wrote:
> > > 
> > > Thanks.  Taking into account your experiences with the TEST extension,
> > > I'm inclined towards believing that such a change is TRT, but the
> > > variable should be made terminal-local instead.  (Emacs Lisp does
> > > provide such a facility.)
> > > 
> > > Also, there are a few difficulties with the patch you attached.  First
> > > of all, it obsoletes an existing variable without due reason, and that
> > > should be avoided.  Secondly, :version specifiers within the patch
> > > should be revised to mention Emacs 30, since such a large change is not
> > > apposite for the release branch.
> > > 
> > > Finally, you missed the new terminal backend introduced in Emacs 30,
> > > src/androidterm.c.
> > 
> > Dear Po Lu,
> > 
> > in the summer of 2024 I implemented a patch incorporating your suggestions.
> > A couple of days ago I had a new look with the intention of finally submitting
> > it.  The patch corrects most of the issues you pointed out back then: nothing
> > is touched in lisp/window.el, the variable is made terminal-local and it is
> > implemented for androidterm as well.  I don’t know how to indicate the :version
> > for this terminal-local variable in the C code –or whether it’s possible–,
> > please indicate how to do so (or simply edit the patch, as you prefer).
> > 
> > A surprise emerged while rebasing to master: I discovered that since commit 2e8ef0910412aef8f9f1beba7c942473ad8602bb ("Protect against GCing of
> > last_mouse_window”) all `last_mouse_window` of different terminals were merged
> > into a single global variable.  This is equivalent to my proposal in "Expose last
> > window under pointer to Lisp” of 2023-08-22.  This commit solves the original
> > issue and, if you find it satisfactory, would allow to happily close this ticket.
> > 
> > If you still think that implementing it as a terminal-local variable is necessary
> > or preferable, I’m attaching the patch I described above.  Note that I revert the
> > changes introduced in 2e8ef09104 in my patch (please review attentively).
> > 
> > Thank you for your patience and, as always, thank you for your work in Emacs.
> > 
> > Kind regards,
> > Adrián.
> 
> 
> 
> 




This bug report was last modified 9 days ago.

Previous Next


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