That is fine. (I think I only moved your code from one file to another but in any case what you suggest is fine.) Best wishes Mark On Mon, 24 Jun 2013, Austin Clements <amdragon@MIT.EDU> wrote: > Yes, and thanks for reminding me about the require's. I'll do that in > a follow up. I was thinking of just moving the streaming JSON parser > to a repo on my GitHub account, since maybe somebody some day will > find a use for it, or at least take inspiration from the API (I looked > into streaming JSON parser APIs before embarking on that one and > they're all terrible!) Mark, you're the only other person who has > touched that code. Is this plan good with you? > > Quoth Mark Walters on Jun 24 at 8:00 pm: >> >> This series looks good to me +1. >> >> Is it worth removing all the json (3 files with (require 'json) and the >> async json parser) too? >> >> Best wishes >> >> Mark >> >> On Mon, 24 Jun 2013, Austin Clements <amdragon@MIT.EDU> wrote: >> > 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. >> > --- >> > emacs/notmuch-lib.el | 17 +++++++++++++++++ >> > 1 file changed, 17 insertions(+) >> > >> > diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el >> > index 534f217..36eacc1 100644 >> > --- a/emacs/notmuch-lib.el >> > +++ b/emacs/notmuch-lib.el >> > @@ -484,6 +484,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.