On Mon, Feb 03 2014, Tomi Ollila <tomi.ollila@iki.fi> wrote: > On Mon, Feb 03 2014, David Bremner <david@tethera.net> wrote: > >> Antoine Beaupré found a bug when notmuch-saved-searches contains >> newlines: >> >> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=737496 >> >> We can remove newlines with something like >> >> (mapcar (lambda (arg) >> (replace-regexp-in-string "\n" " " arg)) >> args) >> >> I wonder if we should do some other sanitization at the same time? > > It took a while to reproduce... > > $ echo $'foo\nbar' | notmuch count --batch > 665 > 631 > > $ echo $'foo\n and bar' | notmuch count --batch > 665 > A Xapian exception occurred: Syntax: <expression> AND <expression> > Query string was: and bar > 0 > > Therefore: (wrong-type-argument number-or-marker-p A) > > (I run non-byte-compiled version of (one-) notmuch.el and > got this as a backtrace: > > Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p A) > >(A 0) > (or (plist-get options :show-empty-searches) (> message-count 0)) > ... > (notmuch-remove-if-not > ... > notmuch-hello-query-counts > ... > > simpler way to reproduce: > > $ notmuch count 'and bar' > A Xapian exception occurred: Syntax: <expression> AND <expression> > Query string was: and bar > 0 > > Maybe the cli should be fixed ? (and/or make emacs MUA resilient to > this kind of result) of yes, the notmuch count --batch gets borken with \n -- from one query there are 2 new count queries (and counts should be all wrong from that point on (if there were no Xapian exception)) We would not have noticed this (as easily) if the Xapian execption did not happen. So, whether (or not?) some fixing is done in CLI the batch query emacs sends needs to be sanitized exactly as David suggested above. > >> >> d >> > > Tomi Tomi