On Wed, Oct 29 2014, Jani Nikula wrote:
>>> +(defun notmuch-show-stash-git-send-email ()
>>> +  "Copy From/To/Cc/Message-Id of current message to kill-ring in a form 
>>> suitable for pasting to git send-email command line."
>>> +  (interactive)
>>> +  (notmuch-common-do-stash
>>> +   (concat
>>> +    (notmuch-show-stash-git-helper (message-tokenize-header 
>>> (notmuch-show-get-from)) "--to=")
>>> +    (notmuch-show-stash-git-helper (message-tokenize-header 
>>> (notmuch-show-get-to)) "--to=")
>>> +    (notmuch-show-stash-git-helper (message-tokenize-header 
>>> (notmuch-show-get-cc)) "--cc=")
>>> +    (concat "--in-reply-to=\"" (notmuch-show-get-message-id t) "\""))))
>>
>> ...this would have to use something like:
>>
>>   (mapconcat 'identity (list
>>                      (notmuch-show-stash-git-helper (message-tokenize-header 
>> (notmuch-show-get-from)) "--to=")
>>                      (notmuch-show-stash-git-helper (message-tokenize-header 
>> (notmuch-show-get-to)) "--to=")
>>                      (notmuch-show-stash-git-helper (message-tokenize-header 
>> (notmuch-show-get-cc)) "--cc=")
>>                      (concat "--in-reply-to=\"" (notmuch-show-get-message-id 
>> t) "\""))
>>           "")
>>
>> to separate the chunks (untested).
>
> The last "" has to be " " to separate the elements,

Of course.

> but this brings another small wrinkle: if one of the headers is
> missing, typically Cc:, it will be nil in the list, and mapconcat adds
> spaces both sides of that, i.e. double space. Any ideas how to fix
> that?

I suppose a collecting loop would do it.

>> Do the leading and trailing spaces really matter?
>
> Does aesthetically displeasing count? Because message-tokenize-header
> splits using "," but headers typically have ", " between addresses, the
> end result will practically always have --to=" user at example.com" without
> the trimming.

The trimming is fine, really.

Reply via email to