all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Juri Linkov <juri@linkov.net>
Cc: Richard Stallman <rms@gnu.org>,
	 spacibba@aol.com,  philipk@posteo.net, emacs-devel@gnu.org,
	 arthur.miller@live.com,  dgutov@yandex.ru, ghe@sdf.org,
	 drew.adams@oracle.com
Subject: Re: Context menus and mouse-3
Date: Tue, 13 Jul 2021 22:14:08 -0400	[thread overview]
Message-ID: <jwvmtqpwso2.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <871r8123jg.fsf@mail.linkov.net> (Juri Linkov's message of "Wed,  14 Jul 2021 02:32:35 +0300")

>>> I tried to override the global [context-menu] with e.g. menu-bar-custom-menu
>>> (that later could be replaced with the value returned from mouse-context-menu-function):
>>>
>>>     (let ((map (make-sparse-keymap)))
>>>       (define-key map [context-menu] menu-bar-custom-menu)
>>>       (set-transient-map map))
>>>     (push (cons 'context-menu (cdr event)) unread-command-events)
>>>
>>> However, it doesn't override the global [context-menu], but prepends
>>> the transient [context-menu] before the global one.
>>
>> Yes, if the key is bound in various keymaps and all the bindings are to
>> a keymap, then those keymaps get merged, as usual for prefix keymaps.
>>
>> Two ways to solve that:
>> - use `mouse-context-menu-function` instead of adding a new local
>>   key binding for `context-menu`.
>> - don't bind `context-menu` to a keymap but to a command (that
>>   presumably then uses `popup-menu` internally).
>
> `popup-menu` has the same problems: it doesn't run post/pre-command-hook, etc.

That doesn't matter: the command loop does that for us before/after calling
the command bound to `context-menu`, so the command bound to
`context-menu` doesn't need to do it.  The problem with your original
call is not the use of `popup-menu` but the fact that it runs it from
from a timer.


        Stefan




  reply	other threads:[~2021-07-14  2:14 UTC|newest]

Thread overview: 112+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-14  3:06 Context menus and mouse-3 [was: Changes for emacs 28] Drew Adams
2020-09-14  6:11 ` Ergus
2020-09-14  6:28   ` Stefan Monnier
2020-09-14  6:48     ` Ergus
2020-09-14  7:49       ` tomas
2020-09-14  7:58         ` Thibaut Verron
2020-09-14  8:29           ` tomas
2020-09-14  9:03             ` Thibaut Verron
2020-09-14  9:12               ` Göktuğ Kayaalp
2020-09-14 11:37               ` tomas
2020-09-14 12:36                 ` Thibaut Verron
2020-09-14 15:59             ` Drew Adams
2020-09-14 15:12         ` Eli Zaretskii
2020-09-14 15:47         ` Drew Adams
2020-09-14 20:54           ` tomas
2020-09-15  4:35     ` Richard Stallman
2020-09-15 13:11       ` Stefan Monnier
2020-09-19  7:47         ` Tak Kunihiro
2020-09-19  8:02         ` Tak Kunihiro
2021-07-11 23:38         ` Context menus and mouse-3 Juri Linkov
2021-07-12  1:25           ` [External] : " Drew Adams
2021-07-12 11:55           ` Eli Zaretskii
2021-07-12 20:56             ` Juri Linkov
2021-07-13  0:19               ` [External] : " Drew Adams
2021-07-13 11:32               ` Eli Zaretskii
2021-07-13 23:46                 ` Juri Linkov
2021-07-14  4:30                   ` Eli Zaretskii
2021-07-14 23:37                     ` Juri Linkov
2021-07-15  6:22                       ` Eli Zaretskii
2021-07-15 22:23                         ` Juri Linkov
2021-07-16  6:49                           ` Eli Zaretskii
2021-07-16 18:59                             ` Juri Linkov
2021-07-16 20:05                               ` [External] : " Drew Adams
2021-07-18  5:13                               ` Tak Kunihiro
2021-07-18 15:53                                 ` Stefan Monnier
2021-07-19 15:55                                   ` Juri Linkov
2021-07-19 16:37                                     ` Stefan Monnier
2021-07-20 20:52                                       ` Juri Linkov
2021-07-20 22:24                                         ` Stefan Monnier
2021-07-20 23:15                                           ` Juri Linkov
2021-07-21  4:39                                             ` Tak Kunihiro
2021-07-21  5:07                                               ` [External] : " Drew Adams
2021-07-21 12:45                                               ` Stefan Monnier
2021-07-21 17:26                                                 ` [External] : " Drew Adams
2021-07-22  3:49                                                   ` Tak Kunihiro
2021-07-22  4:06                                                     ` [External] : " Drew Adams
2021-07-19 19:59                                     ` Ergus via Emacs development discussions.
2021-07-20 20:51                                       ` Juri Linkov
2021-07-12 22:32           ` Stefan Monnier
2021-07-12 23:56             ` Juri Linkov
2021-07-13  3:01               ` Stefan Monnier
2021-07-13 23:32                 ` Juri Linkov
2021-07-14  2:14                   ` Stefan Monnier [this message]
2021-07-14 23:32                     ` Juri Linkov
2021-07-15  1:18                       ` Stefan Monnier
2021-07-15 22:31                         ` Juri Linkov
2021-07-16 15:46                           ` Stefan Monnier
2021-07-16 18:50                             ` Juri Linkov
2021-07-16 19:25                               ` Stefan Monnier
2021-07-15  6:24                       ` Eli Zaretskii
2021-07-15 22:28                         ` Juri Linkov
2021-07-16  6:51                           ` Eli Zaretskii
2021-07-16 18:56                             ` Juri Linkov
2021-07-16 23:13                               ` Stefan Kangas
2021-07-17  6:22                                 ` Eli Zaretskii
2021-07-17 21:46                                   ` Juri Linkov
2021-07-17  6:02                               ` Eli Zaretskii
2021-07-19 17:48                                 ` Stefan Kangas
2021-07-19 18:08                                   ` Stefan Monnier
2020-09-14 15:10   ` Context menus and mouse-3 [was: Changes for emacs 28] Eli Zaretskii
2020-09-14 16:42     ` Göktuğ Kayaalp
2020-09-14  8:15 ` Göktuğ Kayaalp
2020-09-14  8:33   ` tomas
2020-09-14 15:57   ` Drew Adams
2020-09-15 19:17     ` Juri Linkov
2020-09-15 20:33       ` Drew Adams
2020-09-15 22:47         ` Ergus via Emacs development discussions.
2020-09-16  0:29           ` Corwin Brust
2020-09-16  1:47             ` Drew Adams
2020-09-16  1:25           ` Drew Adams
2020-09-16  8:10             ` Ergus
2020-09-16 15:02               ` Drew Adams
2020-09-17  3:57               ` Richard Stallman
2020-09-17 20:10                 ` Ergus
2020-09-17 21:58                   ` Philip K.
2020-09-17  3:51             ` Richard Stallman
2020-09-16 14:13           ` Eli Zaretskii
2020-09-16 19:41         ` Juri Linkov
2020-09-16  2:24       ` Eli Zaretskii
2020-09-16 19:35         ` Juri Linkov
2020-09-16 23:10           ` Dmitry Gutov
2020-09-17  3:58           ` Richard Stallman
2020-09-17  7:48             ` Juri Linkov
2020-09-17 20:13               ` Ergus
2020-09-18  8:19                 ` Juri Linkov
2020-09-18 10:53               ` Stefan Kangas
2020-09-19  4:01                 ` Richard Stallman
  -- strict thread matches above, loose matches on Subject: below --
2020-09-16  6:28 Context menus and mouse-3 Tak Kunihiro
2020-09-16 14:18 ` Eli Zaretskii
2020-09-16 14:37   ` Thibaut Verron
2020-09-16 15:06     ` Eli Zaretskii
2020-09-16 15:39       ` Thibaut Verron
2020-09-17  3:57     ` Richard Stallman
2020-09-16 19:45 ` Juri Linkov
2020-09-16 23:49   ` Tak Kunihiro
2020-09-17  2:33     ` Tak Kunihiro
2020-09-17  7:43     ` Juri Linkov
2020-09-17  9:22       ` Robert Pluim
2020-09-17 18:59         ` Juri Linkov
2020-09-17 19:41       ` chad
2020-09-18  8:23         ` Juri Linkov
2020-09-18 18:41           ` chad

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwvmtqpwso2.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=arthur.miller@live.com \
    --cc=dgutov@yandex.ru \
    --cc=drew.adams@oracle.com \
    --cc=emacs-devel@gnu.org \
    --cc=ghe@sdf.org \
    --cc=juri@linkov.net \
    --cc=philipk@posteo.net \
    --cc=rms@gnu.org \
    --cc=spacibba@aol.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.