notmuch.el: Leave a blank line after last thread in search.
authorCarl Worth <cworth@cworth.org>
Wed, 4 Nov 2009 18:43:07 +0000 (10:43 -0800)
committerCarl Worth <cworth@cworth.org>
Wed, 4 Nov 2009 19:02:40 +0000 (11:02 -0800)
This allows for pleasant termination of the "show next thread" magic
in notmuch-show mode. Now, it will terminate and show the
notmuch-search results rather than continually displaying the last
thread over and over.

notmuch.el

index e15921bca1a4274302aad0962f773decb1726d77..16ca037ed5573757280116f82e04b72503c856ed 100644 (file)
@@ -428,7 +428,7 @@ thread from that buffer can be show when done with this one)."
   "Move point to the last thread in the buffer."
   (interactive "^P")
   (end-of-buffer arg)
-  (beginning-of-line))
+  (forward-line -1))
 
 ;;;###autoload
 (defun notmuch-search-mode ()
@@ -497,7 +497,9 @@ global search.
   (interactive)
   (let ((thread-id (notmuch-search-find-thread-id)))
     (forward-line)
-    (notmuch-show thread-id (current-buffer))))
+    (if (> (length thread-id) 0)
+       (notmuch-show thread-id (current-buffer))
+      (error "End of search results"))))
 
 (defun notmuch-call-notmuch-process (&rest args)
   (let ((error-buffer (get-buffer-create "*Notmuch errors*")))
@@ -569,12 +571,6 @@ This function advances point to the next line when finished."
       (save-excursion
        (call-process "notmuch" nil t nil "search" query)
        (notmuch-search-markup-thread-ids)
-        ; A well-behaved program ends its output with a newline, but we
-        ; don't actually want the blank line at the end of the file.
-       (goto-char (point-max))
-       (if (looking-at "^$")
-           (delete-backward-char 1)
-         )
        ))))
 
 (defun notmuch-search-refresh-view ()