This is version 4 of this patch set (previous version at [1]) which removes the --entire-thread constraint from json output in notmuch-show, and then uses to implement the emacs elide functionality. Changes from the previous version: split the cli patch update devel/schemata output "null" rather than "{}" for a null message and do so using a format string remove this feature from devel/TODO The first three patches implement the client side changes: one to allow null messages to be output in Json (without upsetting the parsing/structure), one to do the command line parsing for --entire-thread=false and one to update the schemata. The final emacs patch is independent (and the first three make sense without it) and uses this new functionality to implement the elide option. I think this addresses all review comments Best wishes Mark [1] id:"1334999750-21811-1-git-send-email-markwalters1009@gmail.com" Mark Walters (4): cli: Let json output "null" messages for non --entire-thread cli: make --entire-thread=false work for format=json. Update devel/schemata for --entire-thread=false emacs: make elide messages use notmuch-show for omitting messages. devel/TODO | 2 -- devel/schemata | 2 +- emacs/notmuch-show.el | 18 ++++++++++-------- notmuch-client.h | 1 + notmuch-show.c | 36 ++++++++++++++++++++++++++++++------ 5 files changed, 42 insertions(+), 17 deletions(-) -- 1.7.9.1