diff options
author | Austin Clements <amdragon@MIT.EDU> | 2013-01-03 16:47:49 -0500 |
---|---|---|
committer | David Bremner <bremner@debian.org> | 2013-01-06 22:47:35 -0400 |
commit | 401dbebd4803477563eff03d719605ed37a8e44d (patch) | |
tree | e4ad1803db370bdc913da6ad14ac97759dd0abed /test/emacs-show | |
parent | c31a91bc5c270a9f416b63bb75c95f6274fce978 (diff) |
emacs: Use the minibuffer for CLI error reporting
We recently switched to popping up a buffer to report CLI errors, but
this was too intrusive, especially for transient errors and especially
since we made fewer things ignore errors. This patch changes this to
display a basic error message in the minibuffer (using Emacs' usual
error handling path) and, if there are additional details, to log
these to a separate error buffer and reference the error buffer from
the minibuffer message. This is more in line with how Emacs typically
handles errors, but makes the details available to the user without
flooding them with the details.
Given this split, we pare down the basic message and make it more
user-friendly, and also make the verbose message even more detailed
(and more debugging-oriented).
Diffstat (limited to 'test/emacs-show')
-rwxr-xr-x | test/emacs-show | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/test/emacs-show b/test/emacs-show index ebf530bc..9f2ccb0e 100755 --- a/test/emacs-show +++ b/test/emacs-show @@ -172,16 +172,28 @@ exit 1 EOF chmod a+x notmuch_fail test_emacs "(let ((notmuch-command \"$PWD/notmuch_fail\")) - (ignore-errors (notmuch-show \"*\")) + (with-current-buffer \"*Messages*\" (erase-buffer)) + (condition-case err + (notmuch-show \"*\") + (error (message \"%s\" (second err)))) (notmuch-test-wait) - (test-output) + (with-current-buffer \"*Messages*\" + (test-output \"MESSAGES\")) (with-current-buffer \"*Notmuch errors*\" - (test-output \"ERROR\")))" -test_expect_equal "$(cat OUTPUT ERROR)" "\ -Error invoking notmuch. $PWD/notmuch_fail show --format=json --format-version=1 --exclude=false ' * ' exited with status 1. -Error: + (test-output \"ERROR\")) + (test-output))" +sed -i -e 's/^\[.*\]$/[XXX]/' ERROR +test_expect_equal "$(cat OUTPUT; echo ---; cat MESSAGES; echo ---; cat ERROR)" "\ +--- +This is an error (see *Notmuch errors* for more details) +--- +[XXX] This is an error -Output: +command: $PWD/notmuch_fail show --format\\=json --format-version\\=1 --exclude\\=false \\' \\* \\' +exit status: 1 +stderr: +This is an error +stdout: This is output" |