diff --git a/emacs/notmuch.el b/emacs/notmuch.el index dbf269a5..d9a6b67a 100644 --- a/emacs/notmuch.el +++ b/emacs/notmuch.el @@ -580,6 +580,8 @@ This function advances the next thread when finished." (insert "Incomplete search results (search process was killed).\n")) (if (eq status 'exit) (progn + (if notmuch-search-process-filter-data + (insert (concat "Error: Unexpected output from notmuch search:\n" notmuch-search-process-filter-data))) (insert "End of search results.") (if (not (= exit-status 0)) (insert (format " (process returned %d)" exit-status))) diff --git a/test/emacs-large-search-buffer b/test/emacs-large-search-buffer index 78b3ae8b..a3b5c79c 100755 --- a/test/emacs-large-search-buffer +++ b/test/emacs-large-search-buffer @@ -18,10 +18,16 @@ done notmuch new > /dev/null -test_begin_subtest 'Comparing emacs result to "notmuch search"' +test_begin_subtest "Ensure that emacs doesn't drop results" expected="$(notmuch search '*' | sed -e 's/^thread:[0-9a-f]* //' -e 's/;//' -e 's/xx*/[BLOB]/') End of search results." output=$(test_emacs '(notmuch-search "*") (notmuch-test-wait) (message (buffer-string))' 2>&1 | sed -e s', *, ,g' -e 's/xxx*/[BLOB]/g') test_expect_equal "$output" "$expected" +test_begin_subtest "Ensure that emacs doesn't drop error messages" +output=$(test_emacs '(notmuch-search "--this-option-does-not-exist") (notmuch-test-wait) (message (buffer-string))' 2>&1) +test_expect_equal "$output" "Error: Unexpected output from notmuch search: +Unrecognized option: --this-option-does-not-exist +End of search results. (process returned 1)" + test_done