Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 79719431FAF for ; Tue, 27 Mar 2012 00:01:59 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: -0.7 X-Spam-Level: X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5 tests=[RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TRKZCiH6bAhs for ; Tue, 27 Mar 2012 00:01:59 -0700 (PDT) Received: from dmz-mailsec-scanner-4.mit.edu (DMZ-MAILSEC-SCANNER-4.MIT.EDU [18.9.25.15]) by olra.theworths.org (Postfix) with ESMTP id D64C7431FAE for ; Tue, 27 Mar 2012 00:01:58 -0700 (PDT) X-AuditID: 1209190f-b7f8a6d000000914-ab-4f7165e53a39 Received: from mailhub-auth-1.mit.edu ( [18.9.21.35]) by dmz-mailsec-scanner-4.mit.edu (Symantec Messaging Gateway) with SMTP id 14.60.02324.5E5617F4; Tue, 27 Mar 2012 03:01:57 -0400 (EDT) Received: from outgoing.mit.edu (OUTGOING-AUTH.MIT.EDU [18.7.22.103]) by mailhub-auth-1.mit.edu (8.13.8/8.9.2) with ESMTP id q2R71u2w005720; Tue, 27 Mar 2012 03:01:57 -0400 Received: from awakening.csail.mit.edu (awakening.csail.mit.edu [18.26.4.91]) (authenticated bits=0) (User authenticated as amdragon@ATHENA.MIT.EDU) by outgoing.mit.edu (8.13.6/8.12.4) with ESMTP id q2R71rn7023101 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NOT); Tue, 27 Mar 2012 03:01:55 -0400 (EDT) Received: from amthrax by awakening.csail.mit.edu with local (Exim 4.77) (envelope-from ) id 1SCQPg-0007kJ-Dp; Tue, 27 Mar 2012 03:01:52 -0400 From: Austin Clements To: Tomi Ollila , notmuch@notmuchmail.org Subject: Re: [PATCH 0/2] Escape message ID queries in Emacs In-Reply-To: References: <1332812236-20387-1-git-send-email-amdragon@mit.edu> User-Agent: Notmuch/0.12+68~g2b97293 (http://notmuchmail.org) Emacs/23.3.1 (i486-pc-linux-gnu) Date: Tue, 27 Mar 2012 03:01:52 -0400 Message-ID: <87aa32h6hr.fsf@awakening.csail.mit.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrCIsWRmVeSWpSXmKPExsUixCmqrPs0tdDfYGWDisX1mzOZLd6snMfq wORx+OtCFo9nq24xBzBFcdmkpOZklqUW6dslcGU07zjAVLCTp+Jkr34DYzdXFyMnh4SAicTf Q7eYIWwxiQv31rN1MXJxCAnsY5S4vPwvI4SzgVHi9/ePzBDOSSaJJ1fvQpUtYZR42vGNEaSf TUBDYtv+5WC2iICtxJUlJ1lBbGEBa4kH/x+zg9icAgYSkz5PZ4doPsQoMefuf6YuRg4OFgFV id710SAmL9BNP+Z6g5TzCghKnJz5hAXEZhbQkrjx7yXTBEb+WUhSs5CkFjAyrWKUTcmt0s1N zMwpTk3WLU5OzMtLLdI10cvNLNFLTSndxAgOPEn+HYzfDiodYhTgYFTi4TWaXuAvxJpYVlyZ e4hRkoNJSZTXI7nQX4gvKT+lMiOxOCO+qDQntRjoXg5mJRFe7SigHG9KYmVValE+TEqag0VJ nFdN652fkEB6YklqdmpqQWoRTFaGg0NJglcfGGFCgkWp6akVaZk5JQhpJg5OkOE8QMNNQGp4 iwsSc4sz0yHypxgVpcR5A0ASAiCJjNI8uF5YYnjFKA70ijCvKUgVDzCpwHW/AhrMBDR4yZF8 kMEliQgpqQbGxCtFExVyE6zkmBRTrwnNOmacrGrC9TAu/5/PbC2NubIf2M0O7bOVqJI4Hy/i lKqq21r8cgX/7EcaLsX3PtXFP/34ILTHsO4eZ5Z1nGvaVWmnHhGTxPZ5Ev6/Uj+rHa/7EBQ6 YWr3Ws2Jeoa/mSKsb0xRelH6We/LMaUkleLWfN0tnulGQUosxRmJhlrMRcWJAE5bLynnAgAA X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Mar 2012 07:01:59 -0000 On Tue, 27 Mar 2012, Tomi Ollila wrote: > On Tue, Mar 27 2012, Austin Clements wrote: > >> Currently, Emacs does not escape message ID queries and is >> inconsistent about quoting them. This patch centralizes this in one >> function that always produces a properly quoted and escaped message ID >> query. >> >> With this, Emacs no longer gets confused by Tomi's crazy message, >> id:"id:""1332281811-24710-2b-git-send-email-tomi.ollila@iki.fi""" > > LGTM. Things work! > > > One observation, though: > > In search bar the following queries return one match: > > id:id:"1332281811-24710-2b-git-send-email-tomi.ollila@iki.fi" > id:"id:""1332281811-24710-2b-git-send-email-tomi.ollila@iki.fi""" > > but > > id:"id:"1332281811-24710-2b-git-send-email-tomi.ollila@iki.fi"" > > return 0 matches. > > It looks like the (above) search strings goes verbatim to command line > > i.e. 'notmuch' 'search' '--sort=oldest-first' 'id:...' > > can be used to compare... so that would be CLI issue if there > is ever need to do do anything with it. I'm not sure I would consider this a CLI "issue". It may not be intuitive, but it is an intentional part of the Xapian query parser's grammar. If a boolean prefix is followed immediately by a quote, then the term is between that quote and the next quote, modulo an escaping rule that lets you include a literal quote in the term by doubling it in the query string. Together, these rules let you reliably put anything in a boolean search term. > +1 > > Thanks for fixing this. > > Tomi