- If true, <b>notmuch</b> <b>show</b> outputs all messages in the thread of any
- message matching the search terms; if false, it outputs only
- the matching messages. For <b>--format=json</b> and <b>--format=sexp</b> this
- defaults to true. For other formats, this defaults to false.
-
- <b>--format=(text|json|sexp|mbox|raw)</b>
-
- <b>text</b> (default for messages)
-
- The default plain-text format has all text-content MIME
- parts decoded. Various components in the output, (<b>message</b>,
- <b>header</b>, <b>body</b>, <b>attachment</b>, and MIME <b>part</b>), will be delimited
- by easily-parsed markers. Each marker consists of a Con-
- trol-L character (ASCII decimal 12), the name of the
- marker, and then either an opening or closing brace, ('{'
- or '}'), to either open or close the component. For a mul-
- tipart MIME message, these parts will be nested.
-
- <b>json</b>
-
- The output is formatted with Javascript Object Notation
- (JSON). This format is more robust than the text format for
- automated processing. The nested structure of multipart
- MIME messages is reflected in nested JSON output. By
- default JSON output includes all messages in a matching
- thread; that is, by default,
-
- <b>--format=json</b> sets <b>--entire-thread</b> The caller can disable
- this behaviour by setting <b>--entire-thread=false</b>
-
- <b>sexp</b>
-
- The output is formatted as an S-Expression (sexp). This
- format is more robust than the text format for automated
- processing. The nested structure of multipart MIME messages
- is reflected in nested S-Expression output. By default, S-
- Expression output includes all messages in a matching
- thread; that is, by default,
-
- <b>--format=sexp</b> sets <b>--entire-thread</b> The caller can disable
- this behaviour by setting <b>--entire-thread=false</b>
-
- <b>mbox</b>
-
- All matching messages are output in the traditional, Unix
- mbox format with each message being prefixed by a line
- beginning with "From " and a blank line separating each
- message. Lines in the message content beginning with "From
- " (preceded by zero or more '>' characters) have an addi-
- tional '>' character added. This reversible escaping is
- termed "mboxrd" format and described in detail here:
-
- http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/mail-mbox-formats.html
-
- <b>raw</b> (default for a single part, see --part)
-
- For a message or an attached message part, the original,
- raw content of the email message is output. Consumers of
- this format should expect to implement MIME decoding and
- similar functions.
-
- For a single part (--part) the raw part content is output
- after performing any necessary MIME decoding. Note that
- messages with a simple body still have two parts: part 0 is
- the whole message and part 1 is the body.
-
- For a multipart part, the part headers and body (including
- all child parts) is output.
-
- The raw format must only be used with search terms matching
- single message.
+ If true, <b>notmuch</b> <b>show</b> outputs all messages in the thread of
+ any message matching the search terms; if false, it outputs
+ only the matching messages. For --format=json and --for-
+ mat=sexp this defaults to true. For other formats, this
+ defaults to false.
+
+ --format=(text|json|sexp|mbox|raw)
+
+ <b>text</b> <b>(default</b> <b>for</b> <b>messages)</b>
+
+ The default plain-text format has all text-content MIME
+ parts decoded. Various components in the output, (<b>mes-</b>
+ <b>sage</b>, <b>header</b>, <b>body</b>, <b>attachment</b>, and MIME <b>part</b>), will be
+ delimited by easily-parsed markers. Each marker consists
+ of a Control-L character (ASCII decimal 12), the name of
+ the marker, and then either an opening or closing brace,
+ ('{' or '}'), to either open or close the component. For
+ a multipart MIME message, these parts will be nested.
+
+ <b>json</b>
+
+ The output is formatted with Javascript Object Notation
+ (JSON). This format is more robust than the text format
+ for automated processing. The nested structure of multi-
+ part MIME messages is reflected in nested JSON output. By
+ default JSON output includes all messages in a matching
+ thread; that is, by default, --format=json sets
+ --entire-thread. The caller can disable this behaviour by
+ setting --entire-thread=false. The JSON output is always
+ encoded as UTF-8 and any message content included in the
+ output will be charset-converted to UTF-8.
+
+ <b>sexp</b>
+
+ The output is formatted as the Lisp s-expression (sexp)
+ equivalent of the JSON format above. Objects are format-
+ ted as property lists whose keys are keywords (symbols
+ preceded by a colon). True is formatted as t and both
+ false and null are formatted as nil. As for JSON, the
+ s-expression output is always encoded as UTF-8.
+
+ <b>mbox</b>
+
+ All matching messages are output in the traditional, Unix
+ mbox format with each message being prefixed by a line
+ beginning with "From " and a blank line separating each
+ message. Lines in the message content beginning with
+ "From " (preceded by zero or more '>' characters) have an
+ additional '>' character added. This reversible escaping
+ is termed "mboxrd" format and described in detail here:
+
+ <u>http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/mail-mbox-formats.html</u>
+
+ <b>raw</b> <b>(default</b> <b>if</b> <b>--part</b> <b>is</b> <b>given)</b>
+
+ Write the raw bytes of the given MIME part of a message
+ to standard out. For this format, it is an error to spec-
+ ify a query that matches more than one message.
+
+ If the specified part is a leaf part, this outputs the
+ body of the part after performing content transfer decod-
+ ing (but no charset conversion). This is suitable for
+ saving attachments, for example.
+
+ For a multipart or message part, the output includes the
+ part headers as well as the body (including all child
+ parts). No decoding is performed because multipart and
+ message parts cannot have non-trivial content transfer
+ encoding. Consumers of this may need to implement MIME
+ decoding and similar functions.