[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Emacs-diffs] emacs-25 d4e1549: Guard terminal parameter in XTerm mo

From: Philipp Stephani
Subject: Re: [Emacs-diffs] emacs-25 d4e1549: Guard terminal parameter in XTerm mouse mode
Date: Wed, 23 Nov 2016 17:09:30 +0000

Eli Zaretskii <address@hidden> schrieb am Mi., 23. Nov. 2016 um 16:54 Uhr:
> From: Philipp Stephani <address@hidden>
> Date: Wed, 23 Nov 2016 12:20:16 +0000
> Stefan Monnier <address@hidden> schrieb am Mi., 23. Nov. 2016 um 02:08 Uhr:
>  > + (setf (terminal-parameter nil 'xterm-mouse-last-down)
>  > + ;; EVENT might be handed back to the input queue, which
>  > + ;; might modify it. Copy it into the terminal parameter
>  > + ;; to guard against that.
>  > + (copy-sequence event))
>  Do you have further information about when/where events might be
>  modified in place? It sounds like a risky operation.
> I assume it's in the code that translates consecutive mouse-down events to mouse-movement events. It's
> easy to reproduce in HTerm: without the patch, dragging the mouse while holding a button causes
> "drag-mouse-0" events to be generated. These come from spurious mouse-movement events in
> xterm-mouse-last-down. Since nothing places these events explicitly there, the root cause must be that the
> event list is overwritten.
> Agreed that the input loop probably shouldn't modify event objects. But it might be a necessary optimization
> somewhere. Unfortunately I wasn't able to find the specific piece of code responsible for this modification.

Does this have to be applied to the release branch?  If so, can you
tell why?

It's a very annoying and highly visible bug, and the fix is trivial and cannot possibly break anything. 

Google Germany GmbH
Erika-Mann-Straße 33
80636 München

Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Geschäftsführer: Matthew Scott Sucherman, Paul Terence Manicle

Diese E-Mail ist vertraulich. Wenn Sie nicht der richtige Adressat sind, leiten Sie diese bitte nicht weiter, informieren Sie den Absender und löschen Sie die E-Mail und alle Anhänge. Vielen Dank.

This e-mail is confidential. If you are not the right addressee please do not forward it, please inform the sender, and please erase this e-mail including any attachments. Thanks.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]