emacs: remove newlines from input to notmuch count --batch
authorDavid Bremner <david@tethera.net>
Sat, 8 Feb 2014 14:25:17 +0000 (10:25 -0400)
committerDavid Bremner <david@tethera.net>
Wed, 26 Feb 2014 00:53:19 +0000 (20:53 -0400)
Since a newline starts a new query in batch mode, this causes
mysterious crashes in the emacs interface if saved searches contain
newlines.  See the discussion at

      id:87wqhcxb5j.fsf@maritornes.cs.unb.ca

In general newlines seem to be just whitespace to the xapian query
parser, so this should be mainly harmless.

emacs/notmuch-hello.el

index 7b3d76b7d8505e71cd8742d9e5e25f996ae2aa35..e325cd3bd0268570ac412d740961b1f5663906a4 100644 (file)
@@ -399,10 +399,12 @@ options will be handled as specified for
                             (third elem)
                           (cdr elem))))
        (insert
-        (notmuch-hello-filtered-query count-query
-                                      (or (plist-get options :filter-count)
-                                          (plist-get options :filter)))
-        "\n")))
+        (replace-regexp-in-string
+         "\n" " "
+         (notmuch-hello-filtered-query count-query
+                                       (or (plist-get options :filter-count)
+                                           (plist-get options :filter))))
+         "\n")))
 
     (unless (= (call-process-region (point-min) (point-max) notmuch-command
                                    t t nil "count" "--batch") 0)