emacs-devel
[Top][All Lists]
Advanced

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

Re: Additional cleanup around xterm-mouse


From: Jared Finder
Subject: Re: Additional cleanup around xterm-mouse
Date: Sat, 26 Dec 2020 15:49:19 -0800
User-agent: Roundcube Webmail/1.3.15

On 2020-12-24 10:43 am, Eli Zaretskii wrote:
Date: Wed, 23 Dec 2020 09:21:10 -0800
From: Jared Finder <jared@finder.org>
Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org

The additional thing to keep in mind is that read-key is implemented on
top of read-key-sequence.  read-key currently will never return down
mouse events due to them being discarded in the (C function)
read_key_sequence.

And xterm-mouse-mode does need these down-mouse events?  For what
purpose?

Libraries need those events. For example, artist mode relies on reading both down mouse events when drawing a polyline.

1. [Stefan's preference] Change the behavior of the dont-downcase-last
parameter to this more extensive meaning. Update global-set-key (the
only other caller who sets dont-downcase-last in Emacs' code) to take
this new behavior into account.

2. Make the dont-downcase-last parameter have the new behavior only if
it is passed some new value (for example: 'all-fallbacks). Leave the
existing behavior for any other value, especially 'nil and 't.

3. [My preference] Like 2, but with a deprecation message on values
other than 'nil, 'all-fallbacks, or 't (or maybe 'downcase-last if we
want full explicitness). This allows maximal ability to define new
behaviors in the future.

I prefer 3 or 2.  1 sounds too radical to me.  It's true that in core
there's only one caller, but we have no idea what happens outside of
the core.

Great, I've coded behavior #3. Updated patch attached. The remaining work to do is just documentation, but I was hoping to defer that until the code otherwise looks good. Let me know what you think.

  -- MJF

Attachment: 0001-WIP-version-making-libraries-work-with-xterm-mouse-m.patch
Description: Text Data


reply via email to

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