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

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

Date: Sun, 24 Jan 2010 15:22:33 -0500

To: notmuch@notmuchmail.org

Cc:

From: Jesse Rosenthal


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


Thread: