[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#28955: 27.0.50; mouse event translation loses parameters
From: |
Sam Steingold |
Subject: |
bug#28955: 27.0.50; mouse event translation loses parameters |
Date: |
Mon, 15 Jul 2019 12:58:50 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (darwin) |
> * Lars Ingebrigtsen <ynefv@tahf.bet> [2019-07-14 23:52:11 +0200]:
>
> Sam Steingold <sds@gnu.org> 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.