mirror of
https://git.notmuchmail.org/git/notmuch
synced 2025-01-03 15:21:41 +01:00
emacs: Introduce `notmuch-call-notmuch-sexp'
This is just like `notmuch-call-notmuch-json', but parses S-expression output. Note that, also like `notmuch-call-notmuch-json', this doesn't consider trailing data to be an error, which may or may not be what we want in the long run.
This commit is contained in:
parent
0e035e1ccd
commit
2626d81573
1 changed files with 17 additions and 0 deletions
|
@ -489,6 +489,23 @@ an error."
|
|||
(json-read)))
|
||||
(delete-file err-file)))))
|
||||
|
||||
(defun notmuch-call-notmuch-sexp (&rest args)
|
||||
"Invoke `notmuch-command' with ARGS and return the parsed S-exp output.
|
||||
|
||||
If notmuch exits with a non-zero status, this will pop up a
|
||||
buffer containing notmuch's output and signal an error."
|
||||
|
||||
(with-temp-buffer
|
||||
(let ((err-file (make-temp-file "nmerr")))
|
||||
(unwind-protect
|
||||
(let ((status (apply #'call-process
|
||||
notmuch-command nil (list t err-file) nil args)))
|
||||
(notmuch-check-exit-status status (cons notmuch-command args)
|
||||
(buffer-string) err-file)
|
||||
(goto-char (point-min))
|
||||
(read (current-buffer)))
|
||||
(delete-file err-file)))))
|
||||
|
||||
(defun notmuch-start-notmuch (name buffer sentinel &rest args)
|
||||
"Start and return an asynchronous notmuch command.
|
||||
|
||||
|
|
Loading…
Reference in a new issue