X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=emacs%2Fnotmuch-lib.el;h=b8d0198db42988dd03e0cda766b731e434d5e518;hp=921ed2086b6b5fc15caad6b102e1574e6cb6eb02;hb=ddc44ae0d02c7f92640b5e560fca5fddbd7b6c98;hpb=c7e18288ae677b50344aed7d8f1746d1c72a30c2 diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el index 921ed208..b8d0198d 100644 --- a/emacs/notmuch-lib.el +++ b/emacs/notmuch-lib.el @@ -628,6 +628,17 @@ You may need to restart Emacs or upgrade your notmuch package.")) ;; `notmuch-logged-error' does not return. )))) +(defun notmuch-call-notmuch-process (&rest args) + "Synchronously invoke \"notmuch\" with the given list of arguments. + +If notmuch exits with a non-zero status, output from the process +will appear in a buffer named \"*Notmuch errors*\" and an error +will be signaled." + (with-temp-buffer + (let ((status (apply #'call-process notmuch-command nil t nil args))) + (notmuch-check-exit-status status (cons notmuch-command args) + (buffer-string))))) + (defun notmuch-call-notmuch-sexp (&rest args) "Invoke `notmuch-command' with ARGS and return the parsed S-exp output.