Quoth Mark Walters on Oct 08 at 8:27 am: > On Mon, 07 Oct 2013, Austin Clements <amdragon@MIT.EDU> wrote: > > (Unfortunately, it's difficult to first demonstrate this problem with > > a known-broken test because modern Linux kernels have argument length > > limits in the megabytes, which makes Emacs really slow!) > > --- > > emacs/notmuch-lib.el | 8 ++++++++ > > emacs/notmuch-tag.el | 12 ++++++++++-- > > test/emacs | 8 ++++++++ > > 3 files changed, 26 insertions(+), 2 deletions(-) > > > > diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el > > index 22156f1..348112b 100644 > > --- a/emacs/notmuch-lib.el > > +++ b/emacs/notmuch-lib.el > > @@ -261,6 +261,14 @@ user-friendly queries." > > "Return a query that matches the message with id ID." > > (concat "id:" (notmuch-escape-boolean-term id))) > > > > +(defun notmuch-hex-encode (str) > > + "Hex-encode STR (e.g., as used by batch tagging). > > + > > +This replaces spaces, percents, and double quotes in STR with > > +%NN where NN is the hexadecimal value of the character." > > + (replace-regexp-in-string > > + "[ %\"]" (lambda (match) (format "%%%02x" (aref match 0))) str)) > > + > > ;; > > > > (defun notmuch-common-do-stash (text) > > diff --git a/emacs/notmuch-tag.el b/emacs/notmuch-tag.el > > index 064cfa8..a4eec14 100644 > > --- a/emacs/notmuch-tag.el > > +++ b/emacs/notmuch-tag.el > > @@ -242,6 +242,8 @@ from TAGS if present." > > (error "Changed tag must be of the form `+this_tag' or `-that_tag'"))))) > > (sort result-tags 'string<))) > > > > +(defconst notmuch-tag-argument-limit 1000) > > + > > Another triviality: I think this should have a doc string saying use > batch tag if the query is longer than this. Done. > The other patches in the series up to this point LGTM. > > Mark