aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Austin Clements <amdragon@MIT.EDU>2012-07-09 17:42:36 -0400
committerGravatar David Bremner <bremner@debian.org>2012-07-12 17:38:54 -0600
commit9b4361d0fe26249b74505014b66a78000ca1f8e5 (patch)
treeb78ecf2efd9bf4cc62dcefdeacbbdd3262fd3cf5
parente4818cc9c50acf162f505b26706047132900cf63 (diff)
emacs: Helper for reporting search parsing errors
This removes the last bit of direct output from the parsing function. With the parser now responsible solely for parsing, we can swap it out for another parser.
-rw-r--r--emacs/notmuch.el8
1 files changed, 7 insertions, 1 deletions
diff --git a/emacs/notmuch.el b/emacs/notmuch.el
index 746d0cb9..f952fa8e 100644
--- a/emacs/notmuch.el
+++ b/emacs/notmuch.el
@@ -741,6 +741,11 @@ non-authors is found, assume that all of the authors match."
(put-text-property beg (point) 'notmuch-search-authors authors)
(put-text-property beg (point) 'notmuch-search-subject subject))))
+(defun notmuch-search-show-error (string &rest objects)
+ (insert "Error: Unexpected output from notmuch search:\n")
+ (insert (apply #'format string objects))
+ (insert "\n"))
+
(defun notmuch-search-process-filter (proc string)
"Process and filter the output of \"notmuch search\""
(let ((buffer (process-buffer proc))
@@ -766,7 +771,8 @@ non-authors is found, assume that all of the authors match."
(tag-list (if tags (save-match-data (split-string tags)))))
(goto-char (point-max))
(if (/= (match-beginning 1) line)
- (insert (concat "Error: Unexpected output from notmuch search:\n" (substring string line (match-beginning 1)) "\n")))
+ (notmuch-search-show-error
+ (substring string line (match-beginning 1))))
(when (string= thread-id notmuch-search-target-thread)
(set 'found-target (point))
(set 'notmuch-search-target-thread "found"))