1 Return-Path: <tomi.ollila@iki.fi>
\r
2 X-Original-To: notmuch@notmuchmail.org
\r
3 Delivered-To: notmuch@notmuchmail.org
\r
4 Received: from localhost (localhost [127.0.0.1])
\r
5 by olra.theworths.org (Postfix) with ESMTP id EFE07431FC9
\r
6 for <notmuch@notmuchmail.org>; Sat, 18 May 2013 06:45:41 -0700 (PDT)
\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org
\r
11 X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none]
\r
13 Received: from olra.theworths.org ([127.0.0.1])
\r
14 by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)
\r
15 with ESMTP id xNRq5UVkHoJL for <notmuch@notmuchmail.org>;
\r
16 Sat, 18 May 2013 06:45:37 -0700 (PDT)
\r
17 Received: from guru.guru-group.fi (guru.guru-group.fi [46.183.73.34])
\r
18 by olra.theworths.org (Postfix) with ESMTP id 90271431FC2
\r
19 for <notmuch@notmuchmail.org>; Sat, 18 May 2013 06:45:37 -0700 (PDT)
\r
20 Received: from guru.guru-group.fi (localhost [IPv6:::1])
\r
21 by guru.guru-group.fi (Postfix) with ESMTP id 4D954100094;
\r
22 Sat, 18 May 2013 16:45:31 +0300 (EEST)
\r
23 From: Tomi Ollila <tomi.ollila@iki.fi>
\r
24 To: Austin Clements <amdragon@MIT.EDU>, notmuch@notmuchmail.org
\r
25 Subject: Re: [PATCH] emacs: Fix trimming regexp in notmuch-check-exit-status
\r
26 In-Reply-To: <1368821643-24179-1-git-send-email-amdragon@mit.edu>
\r
27 References: <1368821643-24179-1-git-send-email-amdragon@mit.edu>
\r
28 User-Agent: Notmuch/0.15.2+99~g7e455bc (http://notmuchmail.org) Emacs/24.3.1
\r
29 (x86_64-unknown-linux-gnu)
\r
30 X-Face: HhBM'cA~<r"^Xv\KRN0P{vn'Y"Kd;zg_y3S[4)KSN~s?O\"QPoL
\r
31 $[Xv_BD:i/F$WiEWax}R(MPS`^UaptOGD`*/=@\1lKoVa9tnrg0TW?"r7aRtgk[F
\r
32 !)g;OY^,BjTbr)Np:%c_o'jj,Z
\r
33 Date: Sat, 18 May 2013 16:45:30 +0300
\r
34 Message-ID: <m2ip2gjtad.fsf@guru.guru-group.fi>
\r
36 Content-Type: text/plain
\r
37 X-BeenThere: notmuch@notmuchmail.org
\r
38 X-Mailman-Version: 2.1.13
\r
40 List-Id: "Use and development of the notmuch mail system."
\r
41 <notmuch.notmuchmail.org>
\r
42 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
\r
43 <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
\r
44 List-Archive: <http://notmuchmail.org/pipermail/notmuch>
\r
45 List-Post: <mailto:notmuch@notmuchmail.org>
\r
46 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
\r
47 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
\r
48 <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
\r
49 X-List-Received-Date: Sat, 18 May 2013 13:45:42 -0000
\r
51 On Fri, May 17 2013, Austin Clements <amdragon@MIT.EDU> wrote:
\r
53 > For such a simple regexp, this was broken in a very complicated way.
\r
55 > The intent was to strip the newline (and potentially other whitespace)
\r
56 > off the end of the error string so there wasn't an extra newline in
\r
57 > the error signal. However, the regexp was deeply dependent on the
\r
58 > active syntax table and the subtleties of $. We didn't notice this
\r
59 > because all notmuch major modes put ?\n in the whitespace class, which
\r
60 > makes this behaved as intended: the "\\s " matches all newlines, but
\r
61 > by matching the newline character, causes the $ *not* to match
\r
62 > *except* where it matched the empty string at the very end of the
\r
63 > string, which was not followed by a newline.
\r
65 > However, if the syntax table declares ?\n to be non-whitespace
\r
66 > (lisp-mode declares it as endcomment, and is likely to be the mode
\r
67 > you're in when testing functions), then this regexp behaves completely
\r
68 > differently, matching trailing spaces at the end of every line within
\r
71 > The solution is to say what we mean for whitespace *and* to switch
\r
72 > from $ to \', which matches only the end of the string, rather than
\r
73 > the end of each line. Both are necessary or this will strip away
\r
74 > interior newlines, which is not what we want.
\r
82 > emacs/notmuch-lib.el | 2 +-
\r
83 > 1 file changed, 1 insertion(+), 1 deletion(-)
\r
85 > diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el
\r
86 > index 790136e..59b1ce3 100644
\r
87 > --- a/emacs/notmuch-lib.el
\r
88 > +++ b/emacs/notmuch-lib.el
\r
89 > @@ -438,7 +438,7 @@ You may need to restart Emacs or upgrade your notmuch package."))
\r
91 > ;; We have an error message straight from the CLI.
\r
92 > (notmuch-logged-error
\r
93 > - (replace-regexp-in-string "\\s $" "" err) extra)
\r
94 > + (replace-regexp-in-string "[ \n\r\t\f]*\\'" "" err) extra)
\r
95 > ;; We only have combined output from the CLI; don't inundate
\r
96 > ;; the user with it. Mimic `process-lines'.
\r
97 > (notmuch-logged-error (format "%s exited with status %s"
\r
101 > _______________________________________________
\r
102 > notmuch mailing list
\r
103 > notmuch@notmuchmail.org
\r
104 > http://notmuchmail.org/mailman/listinfo/notmuch
\r