[PATCH] notmuch-emacs-mua: escape $PWD (and cd always). use message-add-actions.

Tomi Ollila tomi.ollila at iki.fi
Thu Apr 14 10:44:44 PDT 2016


Escaping $PWD makes this work in directories like 'foo"bar'...

Cd'ing always makes the working directory to be consistent whether
--body option was used or not (when using emacsclient, but cd'ing
when using emacs does not cause any harm).

Finally, use message.el -provided function message-add-actions to
set(/add) #'save-buffers-kill-terminal to the message-exit-actions
list.
---

Now that there is new potential interest to this tool I got motivation
to prepare this for sending (i.e. commit message & message-add-action
usage done today).


 notmuch-emacs-mua | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/notmuch-emacs-mua b/notmuch-emacs-mua
index 4404cd7..fdb9744 100755
--- a/notmuch-emacs-mua
+++ b/notmuch-emacs-mua
@@ -39,8 +39,10 @@ USE_EMACSCLIENT=
 AUTO_DAEMON=
 CREATE_FRAME=
 
+escape -v pwd "$PWD"
+
 # The crux of it all: construct an elisp progn and eval it.
-ELISP="(prog1 'done (require 'notmuch) (notmuch-mua-new-mail)"
+ELISP="(prog1 'done (require 'notmuch) (cd \"$pwd\") (notmuch-mua-new-mail)"
 
 # Short options compatible with mutt(1).
 while getopts :s:c:b:i:h opt; do
@@ -95,7 +97,7 @@ while getopts :s:c:b:i:h opt; do
 	    ELISP="${ELISP} (message-goto-bcc) (insert \"${OPTARG}, \")"
 	    ;;
 	--body|i)
-	    ELISP="${ELISP} (message-goto-body) (cd \"${PWD}\") (insert-file \"${OPTARG}\")"
+	    ELISP="${ELISP} (message-goto-body) (insert-file \"${OPTARG}\")"
 	    ;;
 	--print)
 	    PRINT_ONLY=1
@@ -132,7 +134,7 @@ done
 
 # Kill the terminal/frame if we're creating one.
 if [ -z "$USE_EMACSCLIENT" -o -n "$CREATE_FRAME" -o -n "$NO_WINDOW" ]; then
-    ELISP="${ELISP} (setq message-exit-actions (list #'save-buffers-kill-terminal))"
+    ELISP="${ELISP} (message-add-action #'save-buffers-kill-terminal 'exit)"
 fi
 
 # End progn.
-- 
1.9.3



More information about the notmuch mailing list