[notmuch] [PATCH] notmuch.el: quote args in notmuch-show to facilitate remote use

Jesse Rosenthal jrosenthal at jhu.edu
Sun Jan 24 12:22:33 PST 2010


Put single-quotes around the argument of the `show --entire-thread' command
in notmuch-show. This change should have no effect on normal usage.
However, it allows us to use the notmuch.el client with a remote notmuch
binary and database over ssh (by, e.g., setting `notmuch-command' to a
simple shell script). Without the quotes, ssh will not send the command
properly.

One very simple example script is as follows. (Note that it requires
keypair login to the ssh server.)

        #!/bin/sh

        SSH_BIN="/path/to/local/ssh"
        NOTMUCH_HOST="my.remote.server"
        NOTMUCH_REMOTE_PATH="/path/to/remote/notmuch"

        $SSH_BIN $NOTMUCH_HOST $NOTMUCH_REMOTE_PATH $@

---
 notmuch.el |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/notmuch.el b/notmuch.el
index e333f24..e6eef46 100644
--- a/notmuch.el
+++ b/notmuch.el
@@ -953,8 +953,10 @@ matching this search term are shown if non-nil. "
       (erase-buffer)
       (goto-char (point-min))
       (save-excursion
-	(let* ((basic-args (list notmuch-command nil t nil "show" "--entire-thread" thread-id))
-		(args (if query-context (append basic-args (list "and (" query-context ")")) basic-args)))
+	(let* ((basic-args (list notmuch-command nil t nil "show" "--entire-thread" "\'" thread-id))
+		(args (if query-context
+			  (append basic-args (list "and (" query-context ")\'"))
+			(append basic-args (list "\'")))))
 	  (apply 'call-process args)
 	  (when (and (eq (buffer-size) 0) query-context)
 	    (apply 'call-process basic-args)))
-- 
1.6.5.3



More information about the notmuch mailing list