Subject: Re: bug#28955: 27.0.50; mouse event translation loses parameters

From: Sam Steingold <[email-masked]>
Date: Mon, 15 Jul 2019 12:58:50 -0400

> * Lars Ingebrigtsen <[email-masked]> [2019-07-14 23:52:11 +0200]:
>
> Sam Steingold <[email-masked]> writes:
>
>> (define-key key-translation-map (kbd "<s-mouse-1>") (kbd "<mouse-2>"))
>>
>> Alas, when I actually do command-mouse-1, I get an error:
>>
>> Debugger entered--Lisp error: (error "mouse-yank-primary must be bound
>> to an event with parameters")
>>   call-interactively(mouse-yank-primary nil nil)
>>   command-execute(mouse-yank-primary)
>>
>>
>> Charles writes:
>>
>> When you add the key translation and type s-mouse-1, the mouse click
>> event ends up losing its location information.
>>
>> For example, the following:
>>
>> (s-mouse-1 (#<window 3 on *scratch*> 227 (116 . 92) 143676325 nil 227
>> (16 . 5) nil (116 . 12) (7 . 16)))
>>
>> gets turned into just:
>>
>> mouse-2
>>
>> which leads to the error about the missing parameters.
>
> I'm not quite sure what the test case is here, but if I do this:
>
> (progn
>   (define-key key-translation-map (kbd "<s-mouse-1>") (kbd "<mouse-2>"))
>   (insert (format "%S" (read-event))))
> =>
> (S-down-mouse-1 (#<window 4 on *Minibuf-0*> 1 (322 . 8) 1947797915 nil 1
> (21 . 0) nil (322 . 8) (15 . 29)))
>
> then things look pretty normal, I think?  So (unless this has fixed in
> the meantime), how does one reproduce the error?

Either of the following:

```
(define-key key-translation-map (kbd "<s-mouse-1>") (kbd "<mouse-2>"))
```

or

```
(define-key function-key-map (kbd "<s-mouse-1>") (kbd "<mouse-2>"))
```

exhibit the same behavior:

1. `C-u C-h c s-mouse-1` ==>
```
   <mouse-2> (translated from <s-down-mouse-1> <s-mouse-1>) at that spot
   runs the command mouse-yank-primary
```

2. Actually clicking s-mouse-1:
```
Debugger entered--Lisp error: (error "mouse-yank-primary must be bound to an event with ...")
  call-interactively(mouse-yank-primary nil nil)
  command-execute(mouse-yank-primary)
```

-- 
Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1671
http://childpsy.net http://calmchildstories.com http://steingoldpsychology.com
http://mideasttruth.com http://www.dhimmitude.org http://camera.org
Those who can't write, write manuals.