Re: [PATCH] emacs: remap send-message and send-message-and-exit
On Fri, Jun 04 2021, e...@edef.eu wrote: >> > (defvar notmuch-message-mode-map >> >(let ((map (make-sparse-keymap))) >> > -(define-key map (kbd "C-c C-c") #'notmuch-mua-send-and-exit) >> > -(define-key map (kbd "C-c C-s") #'notmuch-mua-send) >> > +(define-key map [remap message-send-and-exit] >> > 'notmuch-mua-send-and-exit) >> > +(define-key map [remap message-send] 'notmuch-mua-send) >> >> where did the # characters disappear here ? >> >> afaic #' is the recommended way here... > I'm not sure where to find that recommendation — the Emacs manual and > information I've found in the wild don't use it for define-key. In this particular case, around the change #' is used, and in change ' is used. (in some other parts in notmuch elisp source there is only ' used -- consistency -- in one way or another, would be nice...) emacs sharp quote can be used in internet searches to find more info, then, in http://www.gnu.org/software/emacs/manual/html_node/elisp/Anonymous-Functions.html Special Form: function function-object This special form returns function-object without evaluating it. In this, it is similar to quote (see Quoting). But unlike quote, it also serves as a note to the Emacs evaluator and byte-compiler that function-object is intended to be used as a function. Assuming function-object is a valid lambda expression, this has two effects: When the code is byte-compiled, function-object is compiled into a byte-code function object (see Byte Compilation). When lexical binding is enabled, function-object is converted into a closure. See Closures. When function-object is a symbol and the code is byte compiled, the byte-compiler will warn if that function is not defined or might not be known at run time. The read syntax #' is a short-hand for using function. Tomi ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: [PATCH] emacs: remap send-message and send-message-and-exit
> > (defvar notmuch-message-mode-map > >(let ((map (make-sparse-keymap))) > > -(define-key map (kbd "C-c C-c") #'notmuch-mua-send-and-exit) > > -(define-key map (kbd "C-c C-s") #'notmuch-mua-send) > > +(define-key map [remap message-send-and-exit] > > 'notmuch-mua-send-and-exit) > > +(define-key map [remap message-send] 'notmuch-mua-send) > > where did the # characters disappear here ? > > afaic #' is the recommended way here... I'm not sure where to find that recommendation — the Emacs manual and information I've found in the wild don't use it for define-key. ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: [PATCH] emacs: remap send-message and send-message-and-exit
On Tue, Jun 01 2021, e...@edef.eu wrote: > All three of C-c C-c, , > and are bound to message-send-and-exit by > message.el, but notmuch-mua.el only had an explicit override for the > keyboard binding. This mostly manifests as confusing Fcc behaviour for > GUI users. > > Patching the bindings for specific keys is rather brittle, since it has > to be aware of every relevant binding. This patch switches to instead After committed to repo this is no longer 'patch'. Simple change is to use 'commit', 'change', 'changeset' -- alternative is not to write 'This ...' but reword... > using a remap binding, which turns any binding for message-send or > message-send-and-exit into a binding for the corresponding notmuch-mua > command. > --- > The previous patch managed to *disappear* the menu item, but while > figuring out how to make that work correctly, I happened upon a much > simpler and less brittle solution. > > emacs/notmuch-mua.el | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/emacs/notmuch-mua.el b/emacs/notmuch-mua.el > index bbf059a2..8572aa1b 100644 > --- a/emacs/notmuch-mua.el > +++ b/emacs/notmuch-mua.el > @@ -341,8 +341,8 @@ Typically this is added to `notmuch-mua-send-hook'." > > (defvar notmuch-message-mode-map >(let ((map (make-sparse-keymap))) > -(define-key map (kbd "C-c C-c") #'notmuch-mua-send-and-exit) > -(define-key map (kbd "C-c C-s") #'notmuch-mua-send) > +(define-key map [remap message-send-and-exit] 'notmuch-mua-send-and-exit) > +(define-key map [remap message-send] 'notmuch-mua-send) where did the # characters disappear here ? afaic #' is the recommended way here... > (define-key map (kbd "C-c C-p") #'notmuch-draft-postpone) > (define-key map (kbd "C-x C-s") #'notmuch-draft-save) > map) > -- > 2.31.1 Tomi ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org