On 2020-12-24 10:43 am, Eli Zaretskii wrote: >> Date: Wed, 23 Dec 2020 09:21:10 -0800 >> From: Jared Finder >> 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