This patch series adds a new output format "sexp" to notmuch-reply, notmuch-show and notmuch-search. These are useful for the Android mobile client and perhaps other Lisp programs as well. After the switch to a generic structured output printer, which was committed some months ago, these patches just add another one (like the json structured output printer). Basic tests and updates to the man pages are also included. Peter Feigl (5): Adding an S-expression structured output printer. Rename the -json printer functions in notmuch-reply and notmuch-show to generic -sprinter functions. Use the S-Expression structured printer in notmuch-show, notmuch-reply and notmuch-search. Adding tests for --format=sexp. Updating man pages for new S-Expression output format. Makefile.local | 1 + man/man1/notmuch-reply.1 | 14 ++- man/man1/notmuch-search.1 | 15 +-- man/man1/notmuch-show.1 | 36 +++++-- notmuch-client.h | 8 +- notmuch-reply.c | 43 ++++---- notmuch-search.c | 6 +- notmuch-show.c | 48 +++++---- sprinter-sexp.c | 250 ++++++++++++++++++++++++++++++++++++++++++++++ sprinter.h | 4 + test/notmuch-test | 1 + test/sexp | 48 +++++++++ 12 files changed, 414 insertions(+), 60 deletions(-) create mode 100644 sprinter-sexp.c create mode 100755 test/sexp -- 1.8.0