Re: [PATCH] emacs: remap send-message and send-message-and-exit

2021-06-07 Thread Tomi Ollila
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

2021-06-04 Thread edef
> >  (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

2021-06-02 Thread Tomi Ollila
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


[PATCH] emacs: remap send-message and send-message-and-exit

2021-06-01 Thread edef
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
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)
 (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
___
notmuch mailing list -- notmuch@notmuchmail.org
To unsubscribe send an email to notmuch-le...@notmuchmail.org