Stefan Monnier 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. -- 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.