GNU bug report logs - #26104
26.0.50; In Ubuntu, having mouse over other frame cause Alt key to produce a <switch-frame> event

Previous Next

Package: emacs;

Reported by: Jonathan Ganc <jonganc <at> gmail.com>

Date: Wed, 15 Mar 2017 03:26:02 UTC

Severity: normal

Found in version 26.0.50

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


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

From: Jonathan Ganc <jonganc <at> gmail.com>
To: martin rudalics <rudalics <at> gmx.at>, 26104 <at> debbugs.gnu.org
Subject: Re: bug#26104: 26.0.50; In Ubuntu, having mouse over other frame
 cause Alt key to produce a <switch-frame> event
Date: Fri, 17 Mar 2017 21:04:57 -0400
Hi.

That does fix the problem for yank-pop, but I don't think it's a good 
fix. For example, it let's someone use yank-pop without having used yank 
if they use handle-switch-frame before. Also, the same issue happens 
with other commands like dabbrev-expand, which relies on checking what 
the previous command was.

What is the purpose of executing `handle-switch-frame` at all? Maybe 
there's some way of excluding it from last-command. But again, I don't 
really understand x-windows well or why that command is being sent.

Jonathan


On 03/17/2017 03:19 AM, martin rudalics wrote:
> > In Ubuntu, if I have two frames open and the mouse is positioned 
> over the other frame (i.e. not over the active one), pressing the Alt 
> key produces a <switch-frame> event.
> >
> > While this event does nothing in itself, it disrupts things like 
> yank-pop, which no longer works if it is bound to M-y as usual 
> (because instead of the command sequence yank -> yank-pop, we now have 
> yank -> handle-switch-frame -> yank-pop, which gives an error 
> "user-error: Previous command was not a yank").
> >
> > To be honest, I don't know enough about X-Windows to know if this is 
> emacs' fault or x-windows fault. But it's very annoying.
> >
> > [Tried on Emacs versions 24.5, 25.1, and the 26.0 and Ubuntu 16.10.]
>
> Could you try in simple.el to replace
>
>   (if (not (eq last-command 'yank))
>       (user-error "Previous command was not a yank"))
>
> with
>
>   (if (not (memq last-command '(yank handle-switch-frame)))
>       (user-error "Previous command was not a yank"))
>
> Thanks, martin





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

Previous Next


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