Subject: Re: bug#17140: 24.4.50; Modified mouse-click events are not translated to unmodified if unbound

From: Juri Linkov <[email-masked]>
Date: Tue, 16 Sep 2025 21:01:04 +0300

> A keyboard event that includes modifiers as "S-" is translated to the
> unmodified version if there is no binding of the modified
> key. (Eg. <S-left> gets translated to <left>)
> This should also happen for mouse-click events, but doesn't. (Unbind
> <S-mouse-1> and <S-down-mouse-1>. Then, clicking inside a buffer with
> Shift held down results in "<S-mouse-1> is undefined" in minibuffer)

This report looks similar to bug#11575.

> (refer also to description in emacs-dev; copied here for completeness)
> I am using shift-select-mode and want to activate a region using S-
> mouse-1. I have <mouse-1> and <S-mouse-1> bound to "mouse-set-point". I 
> either change "mouse-set-point" to contain (interactive "^e") or use cua-
> mode and (put 'mouse-set-point 'CUA 'move).
> I find that I can then extend existing regions with <S-mouse-1>, but not 
> activate one (ie. click on some spot to activate the region between that 
> spot and the current mark).

Now extending existing regions and activating the region with <S-mouse-1>
is possible in 'mouse-shift-adjust-mode' implemented in bug#79453.

> This issue exists since rev 107888 and is documented there: "Don't 
> activate the region on shift if the binding is already shifted." That's 
> fine for <left> as <S-left> translates to <left>, but <S-mouse-1> does 
> not translate to <mouse-1>. The only option is to bind <S-mouse-1>, but 
> this does not activate the region as it is already shifted.