mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
CLI: define and use format version 5
This is a bit of a cheat, since the format does not actually change. On the other hand it is fairly common to do something like this to shared libary SONAMEs when the ABI changes in some subtle way. It does rely on the format-version argument being early enough on the command line to generate a sensible error message.
This commit is contained in:
parent
357dd488ca
commit
731697d671
9 changed files with 13 additions and 9 deletions
|
@ -14,7 +14,7 @@ are interleaved. Keys are printed as keywords (symbols preceded by a
|
|||
colon), e.g. (:id "123" :time 54321 :from "foobar"). Null is printed as
|
||||
nil, true as t and false as nil.
|
||||
|
||||
This is version 4 of the structured output format.
|
||||
This is version 5 of the structured output format.
|
||||
|
||||
Version history
|
||||
---------------
|
||||
|
@ -36,6 +36,10 @@ v4
|
|||
- (notmuch 0.29) added message.crypto to identify overall message
|
||||
cryptographic state
|
||||
|
||||
v5
|
||||
- sorting support for notmuch show (no change to actual schema,
|
||||
just new command line argument)
|
||||
|
||||
Common non-terminals
|
||||
--------------------
|
||||
|
||||
|
|
|
@ -308,7 +308,7 @@ execution, CALLBACK is called when harvesting finishes."
|
|||
(and config-query
|
||||
(format " and (%s)" config-query)))
|
||||
from-or-to-me-query))
|
||||
(args `("address" "--format=sexp" "--format-version=4"
|
||||
(args `("address" "--format=sexp" "--format-version=5"
|
||||
,(if sent "--output=recipients" "--output=sender")
|
||||
"--deduplicate=address"
|
||||
,query)))
|
||||
|
|
|
@ -235,7 +235,7 @@ Typically this is added to `notmuch-mua-send-hook'."
|
|||
;;; Mua reply
|
||||
|
||||
(defun notmuch-mua-reply (query-string &optional sender reply-all)
|
||||
(let ((args '("reply" "--format=sexp" "--format-version=4"))
|
||||
(let ((args '("reply" "--format=sexp" "--format-version=5"))
|
||||
(process-crypto notmuch-show-process-crypto)
|
||||
reply
|
||||
original)
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
A thread is a forest or list of trees. A tree is a two element
|
||||
list where the first element is a message, and the second element
|
||||
is a possibly empty forest of replies."
|
||||
(let ((args '("show" "--format=sexp" "--format-version=4")))
|
||||
(let ((args '("show" "--format=sexp" "--format-version=5")))
|
||||
(when notmuch-show-process-crypto
|
||||
(setq args (append args '("--decrypt=true"))))
|
||||
(setq args (append args search-terms))
|
||||
|
|
|
@ -1103,7 +1103,7 @@ the same as for the function notmuch-tree."
|
|||
(notmuch-tag-clear-cache)
|
||||
(let ((proc (notmuch-start-notmuch
|
||||
"notmuch-tree" (current-buffer) #'notmuch-tree-process-sentinel
|
||||
"show" "--body=false" "--format=sexp" "--format-version=4"
|
||||
"show" "--body=false" "--format=sexp" "--format-version=5"
|
||||
sort-arg message-arg search-args))
|
||||
;; Use a scratch buffer to accumulate partial output.
|
||||
;; This buffer will be killed by the sentinel, which
|
||||
|
|
|
@ -1020,7 +1020,7 @@ the configured default sort order."
|
|||
(save-excursion
|
||||
(let ((proc (notmuch-start-notmuch
|
||||
"notmuch-search" buffer #'notmuch-search-process-sentinel
|
||||
"search" "--format=sexp" "--format-version=4"
|
||||
"search" "--format=sexp" "--format-version=5"
|
||||
(if oldest-first
|
||||
"--sort=oldest-first"
|
||||
"--sort=newest-first")
|
||||
|
|
|
@ -137,7 +137,7 @@ chomp_newline (char *str)
|
|||
* this. New (required) map fields can be added without increasing
|
||||
* this.
|
||||
*/
|
||||
#define NOTMUCH_FORMAT_CUR 4
|
||||
#define NOTMUCH_FORMAT_CUR 5
|
||||
/* The minimum supported structured output format version. Requests
|
||||
* for format versions below this will return an error. */
|
||||
#define NOTMUCH_FORMAT_MIN 1
|
||||
|
|
|
@ -1060,7 +1060,7 @@ End of search results.
|
|||
YYY/notmuch_fail exited with status 1 (see *Notmuch errors* for more details)
|
||||
=== ERROR ===
|
||||
YYY/notmuch_fail exited with status 1
|
||||
command: YYY/notmuch_fail search --format\=sexp --format-version\=4 --sort\=newest-first tag\:inbox
|
||||
command: YYY/notmuch_fail search --format\=sexp --format-version\=5 --sort\=newest-first tag\:inbox
|
||||
exit status: 1"
|
||||
|
||||
test_begin_subtest "Search handles subprocess warnings"
|
||||
|
|
|
@ -192,7 +192,7 @@ test_expect_equal "$(notmuch_emacs_error_sanitize notmuch_fail OUTPUT MESSAGES E
|
|||
This is an error (see *Notmuch errors* for more details)
|
||||
=== ERROR ===
|
||||
This is an error
|
||||
command: YYY/notmuch_fail show --format\\=sexp --format-version\\=4 --decrypt\\=true --exclude\\=false \\' \\* \\'
|
||||
command: YYY/notmuch_fail show --format\\=sexp --format-version\\=5 --decrypt\\=true --exclude\\=false \\' \\* \\'
|
||||
exit status: 1
|
||||
stderr:
|
||||
This is an error
|
||||
|
|
Loading…
Reference in a new issue