Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id B6F4A431FB6 for ; Wed, 5 Dec 2012 23:33:15 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: 0.001 X-Spam-Level: X-Spam-Status: No, score=0.001 tagged_above=-999 required=5 tests=[FREEMAIL_FROM=0.001] autolearn=disabled Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PEEsHJc59BNi for ; Wed, 5 Dec 2012 23:33:15 -0800 (PST) Received: from mail.nexoid.at (www.nexoid.at [178.79.130.240]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by olra.theworths.org (Postfix) with ESMTPS id 2C98B431FAE for ; Wed, 5 Dec 2012 23:33:15 -0800 (PST) Received: by mail.nexoid.at (Postfix, from userid 1000) id 9E34011C109; Thu, 6 Dec 2012 08:33:12 +0100 (CET) From: Peter Feigl To: notmuch@notmuchmail.org Subject: [PATCH v3 0/5] New output format sexp (Lisp S-Expressions) Date: Thu, 6 Dec 2012 08:33:04 +0100 Message-Id: <1354779189-12231-1-git-send-email-craven@gmx.net> X-Mailer: git-send-email 1.8.0 In-Reply-To: <1354632382-15609-1-git-send-email-craven@gmx.net> References: <1354632382-15609-1-git-send-email-craven@gmx.net> X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Dec 2012 07:33:15 -0000 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. This version includes the fixes according to Austin Clements' comments. It also changes the output from alists to plists, as these should work just as fine on all Lisps. 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 + devel/schemata | 8 +- 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 | 48 ++++++---- notmuch-search.c | 6 +- notmuch-show.c | 65 +++++++------ sprinter-sexp.c | 238 ++++++++++++++++++++++++++++++++++++++++++++++ sprinter.h | 4 + test/notmuch-test | 1 + test/sexp | 48 ++++++++++ 13 files changed, 423 insertions(+), 69 deletions(-) create mode 100644 sprinter-sexp.c create mode 100755 test/sexp -- 1.8.0