all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Philipp Stephani <phst@google.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>, emacs-devel@gnu.org
Subject: Re: [Emacs-diffs] emacs-25 d4e1549: Guard terminal parameter in XTerm mouse mode
Date: Wed, 23 Nov 2016 12:20:16 +0000	[thread overview]
Message-ID: <CAP-RRPt+co+orzTdaZcb=mrnCd_LYMmpLJ1A_AJR=dSLX4wX-A@mail.gmail.com> (raw)
In-Reply-To: <jwv4m2zgg0u.fsf-monnier+emacsdiffs@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 1786 bytes --]

Stefan Monnier <monnier@iro.umontreal.ca> 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.

[-- Attachment #2: Type: text/html, Size: 2478 bytes --]

  reply	other threads:[~2016-11-23 12:20 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20161122204222.29398.86534@vcs.savannah.gnu.org>
     [not found] ` <20161122204222.DBE712201C5@vcs.savannah.gnu.org>
2016-11-23  1:08   ` [Emacs-diffs] emacs-25 d4e1549: Guard terminal parameter in XTerm mouse mode Stefan Monnier
2016-11-23 12:20     ` Philipp Stephani [this message]
2016-11-23 15:54       ` Eli Zaretskii
2016-11-23 17:09         ` Philipp Stephani
2016-11-23 17:22           ` Eli Zaretskii
2016-11-24  8:58             ` Philipp Stephani
2016-11-24 16:23               ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAP-RRPt+co+orzTdaZcb=mrnCd_LYMmpLJ1A_AJR=dSLX4wX-A@mail.gmail.com' \
    --to=phst@google.com \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.