<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://permalink.gmane.org/gmane.mail.notmuch.general">
    <title>gmane.mail.notmuch.general</title>
    <link>http://permalink.gmane.org/gmane.mail.notmuch.general</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.mail.notmuch.general/15005"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.mail.notmuch.general/15004"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.mail.notmuch.general/15003"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.mail.notmuch.general/15002"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.mail.notmuch.general/15001"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.mail.notmuch.general/15000"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.mail.notmuch.general/14999"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.mail.notmuch.general/14998"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.mail.notmuch.general/14997"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.mail.notmuch.general/14996"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.mail.notmuch.general/14995"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.mail.notmuch.general/14994"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.mail.notmuch.general/14993"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.mail.notmuch.general/14992"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.mail.notmuch.general/14991"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.mail.notmuch.general/14990"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.mail.notmuch.general/14989"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.mail.notmuch.general/14988"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.mail.notmuch.general/14987"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.mail.notmuch.general/14986"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.mail.notmuch.general/15005">
    <title>[PATCH] emacs: Avoid deprecated function flet</title>
    <link>http://permalink.gmane.org/gmane.mail.notmuch.general/15005</link>
    <description>&lt;pre&gt;flet was deprecated in Emacs 24.3 and replaced with cl-flet.  However,
cl-flet lexically binds the function symbol, while we depend on flet
dynamically binding the function symbol.  Hence, this patch replaces
the deprecated flet use with letf, which lets us dynamically bind the
function symbol, while remaining compatible with both Emacs 23 and 24.

Since we don't have an automated test for this, this was tested
manually in Emacs 24.3 and 23.4.
---
 emacs/notmuch-show.el |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
index 423dd58..7101236 100644
--- a/emacs/notmuch-show.el
+++ b/emacs/notmuch-show.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -539,8 +539,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; message at DEPTH in the current thread."
     (nth nth)
     (filename filename)
     (content-type content-type))
-(flet ((mm-save-part (&amp;amp;rest args) (notmuch-show-save-part
-   message-id nth filename content-type)))
+(letf (((symbol-function 'mm-save-part)
+(lambda (&amp;amp;rest args) (notmuch-show-save-part
&lt;/pre&gt;</description>
    <dc:creator>Austin Clements</dc:creator>
    <dc:date>2013-05-19T15:14:07</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.mail.notmuch.general/15004">
    <title>Re: [PATCH] emacs: Compute build dependencies to fix byte compileissues</title>
    <link>http://permalink.gmane.org/gmane.mail.notmuch.general/15004</link>
    <description>&lt;pre&gt;

The last line above could be in format

{ cmp -s $&amp;lt; at &amp;gt;.tmp $&amp;lt; at &amp;gt; || mv $&amp;lt; at &amp;gt;.tmp $&amp;lt; at &amp;gt;; }

so that the expression is evaluated in current shell instead of a subshell.

You may consider changing this if you add year to copyright line.

Tomi


&lt;/pre&gt;</description>
    <dc:creator>Tomi Ollila</dc:creator>
    <dc:date>2013-05-19T14:33:24</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.mail.notmuch.general/15003">
    <title>Re: [PATCH] emacs: Compute build dependencies to fix byte compileissues</title>
    <link>http://permalink.gmane.org/gmane.mail.notmuch.general/15003</link>
    <description>&lt;pre&gt;Quoth David Bremner on May 19 at  8:15 am:

Strangely, none of the Elisp files have copyright years.  But maybe
they should?


That is technically true (really, it can be an arbitrary expression),
but I don't have an environment in which to evaluate that expression,
so I opted for only supporting the obvious static case, which also
happens to be the only case that matters for the notmuch code.
&lt;/pre&gt;</description>
    <dc:creator>Austin Clements</dc:creator>
    <dc:date>2013-05-19T12:14:40</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.mail.notmuch.general/15002">
    <title>use of flet in notmuch-emacs</title>
    <link>http://permalink.gmane.org/gmane.mail.notmuch.general/15002</link>
    <description>&lt;pre&gt;
Today I noticed

,----
| emacs --quick --directory emacs -batch -f batch-byte-compile emacs/notmuch-show.el
| 
| In notmuch-show-view-part:
| emacs/notmuch-show.el:541:22:Warning: `flet' is an obsolete macro (as of
|     24.3); use either `cl-flet' or `cl-letf'.
`----

Chatter on #emacs suggests that cl-flet is not in fact a replacement for
our use case since it does not do dynamic binding. I'm not really 100%
sure what the best plan is, but the old definition of flet is available
at

        https://github.com/sigma/el-x/blob/master/lisp/dflet.el

d


&lt;/pre&gt;</description>
    <dc:creator>David Bremner</dc:creator>
    <dc:date>2013-05-19T11:31:46</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.mail.notmuch.general/15001">
    <title>Re: [PATCH] emacs: Compute build dependencies to fix byte compileissues</title>
    <link>http://permalink.gmane.org/gmane.mail.notmuch.general/15001</link>
    <description>&lt;pre&gt;
this seems to work as advertised.


I guess you need a copyright year?


This might be a corner case, but formally can't the argument to require
be a variable or even a function call? Maybe this never happens in
practice.
_______________________________________________
notmuch mailing list
notmuch&amp;lt; at &amp;gt;notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch
&lt;/pre&gt;</description>
    <dc:creator>David Bremner</dc:creator>
    <dc:date>2013-05-19T11:15:33</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.mail.notmuch.general/15000">
    <title>Re: [PATCH 1/1] NEWS: removal of backported support for Emacs version22</title>
    <link>http://permalink.gmane.org/gmane.mail.notmuch.general/15000</link>
    <description>&lt;pre&gt;

Hi Tomi;

What do you think about a more user-focussed item, something like 

,----
| No Emacs 22 support
| -------------------
| 
| We started some Emacs 22 support, but it never really worked, and the
| last remnants have been removed from this release
`----

but better, of course ;).

d
&lt;/pre&gt;</description>
    <dc:creator>David Bremner</dc:creator>
    <dc:date>2013-05-18T23:48:10</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.mail.notmuch.general/14999">
    <title>Re: [PATCH 3/5] emacs: Use async process helper for search</title>
    <link>http://permalink.gmane.org/gmane.mail.notmuch.general/14999</link>
    <description>&lt;pre&gt;Quoth Mark Walters on May 18 at  8:14 am:

Indeed.  I'll just use condition-case in v2 (unless we want to
introduce a compatibility macro).

I really wish the Emacs documentation included what version functions
were introduced in.  I couldn't even *find* a copy of the non-latest
documentation; I wound up downloading a tarball of Emacs 23 and
building the documentation myself.


Sorry, I thought these patches were independent from the ones I'd sent
earlier, but obviously not.  It should apply now that David has
applied the other patch.

&lt;/pre&gt;</description>
    <dc:creator>Austin Clements</dc:creator>
    <dc:date>2013-05-18T20:13:57</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.mail.notmuch.general/14998">
    <title>[PATCH 1/1] NEWS: removal of backported support for Emacs version 22</title>
    <link>http://permalink.gmane.org/gmane.mail.notmuch.general/14998</link>
    <description>&lt;pre&gt;---
 NEWS | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/NEWS b/NEWS
index c348068..8d22e1b 100644
--- a/NEWS
+++ b/NEWS
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -18,6 +18,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Bash command-line completion
   `notmuch config`. The new completion support depends on the
   bash-completion package.
 
+Emacs Interface
+---------------
+
+Removal of backported Emacs version 23 functionality for Emacs 22
+
+  Two years ago some Emacs 23 functionality that notmuch used were
+  backported to notmuch to be conditionally used with Emacs version 22.
+  That worked for a few months until new Emacs 23 features were taken
+  into use and due to lack of interest no one continued to backport
+  those. To clean up dead code and to avoid confusion in new
+  developers these backports are now removed.
+
+
 Vim Front-End
 -------------
 
&lt;/pre&gt;</description>
    <dc:creator>Tomi Ollila</dc:creator>
    <dc:date>2013-05-18T15:41:28</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.mail.notmuch.general/14997">
    <title>Re: [PATCH] emacs: Fix trimming regexp in notmuch-check-exit-status</title>
    <link>http://permalink.gmane.org/gmane.mail.notmuch.general/14997</link>
    <description>&lt;pre&gt;

LGTM.

Tomi


&lt;/pre&gt;</description>
    <dc:creator>Tomi Ollila</dc:creator>
    <dc:date>2013-05-18T13:45:30</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.mail.notmuch.general/14996">
    <title>Re: Solaris support - missing or incompatible functions</title>
    <link>http://permalink.gmane.org/gmane.mail.notmuch.general/14996</link>
    <description>&lt;pre&gt;

For what it's worth, I can confirm no test failures for me either on
linux (Debian wheezy).

d
&lt;/pre&gt;</description>
    <dc:creator>David Bremner</dc:creator>
    <dc:date>2013-05-18T13:19:31</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.mail.notmuch.general/14995">
    <title>Re: [PATCH] emacs: Proper error string handling in search sentinel</title>
    <link>http://permalink.gmane.org/gmane.mail.notmuch.general/14995</link>
    <description>&lt;pre&gt;

Pushed.

Mark, this should fix the problem with applying the asynch parser
series you noticed.

d
&lt;/pre&gt;</description>
    <dc:creator>David Bremner</dc:creator>
    <dc:date>2013-05-18T10:57:54</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.mail.notmuch.general/14994">
    <title>Re: [PATCH 3/5] emacs: Use async process helper for search</title>
    <link>http://permalink.gmane.org/gmane.mail.notmuch.general/14994</link>
    <description>&lt;pre&gt;

This is a seperate patch sent to the list recently.

d
&lt;/pre&gt;</description>
    <dc:creator>David Bremner</dc:creator>
    <dc:date>2013-05-18T10:48:51</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.mail.notmuch.general/14993">
    <title>Re: [PATCH 3/5] emacs: Use async process helper for search</title>
    <link>http://permalink.gmane.org/gmane.mail.notmuch.general/14993</link>
    <description>&lt;pre&gt;
I have only very briefly looked at this: it seems to not quite apply to
master (one fix up see below)

Also, as far as I can see condition-case-unless-debug (used in patch
2/5) is emacs 24 only.

Best wishes

Mark

On Sat, 18 May 2013, Austin Clements &amp;lt;amdragon-DPNOqEs/LNQ&amp;lt; at &amp;gt;public.gmane.org&amp;gt; wrote:

This line is 
       (message "%s" (second err))
in master.


&lt;/pre&gt;</description>
    <dc:creator>Mark Walters</dc:creator>
    <dc:date>2013-05-18T07:14:37</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.mail.notmuch.general/14992">
    <title>[PATCH 5/5] emacs: Use streaming S-expr parser for search</title>
    <link>http://permalink.gmane.org/gmane.mail.notmuch.general/14992</link>
    <description>&lt;pre&gt;In addition to being the Right Thing to do, this noticeably improves
the time taken to display the first page of search results, since it's
roughly an order of magnitude faster than the JSON parser.
Interestingly, it does *not* significantly improve the time to
completely fill a large search buffer because for large search
buffers, the cost of creating author invisibility overlays and
inserting text (which slows down with more overlays) dominates.
However, the time required to display the first page of results is
generally more important to the user experience.
---
 emacs/notmuch.el |   13 +++----------
 test/emacs       |   10 +++-------
 2 files changed, 6 insertions(+), 17 deletions(-)

diff --git a/emacs/notmuch.el b/emacs/notmuch.el
index b8d9c44..5a8c957 100644
--- a/emacs/notmuch.el
+++ b/emacs/notmuch.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -58,6 +58,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 (require 'notmuch-hello)
 (require 'notmuch-maildir-fcc)
 (require 'notmuch-message)
+(require 'notmuch-parser)
 
 (defcustom notmuch-search-result-format
   `(("date" . "%12s ")
&amp;lt; at &amp;gt;&lt;/pre&gt;</description>
    <dc:creator>Austin Clements</dc:creator>
    <dc:date>2013-05-18T04:31:12</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.mail.notmuch.general/14991">
    <title>[PATCH 2/5] emacs: Utilities to manage asynchronous notmuch processes</title>
    <link>http://permalink.gmane.org/gmane.mail.notmuch.general/14991</link>
    <description>&lt;pre&gt;This provides a new notmuch-lib utility to start an asynchronous
notmuch process that handles redirecting of stderr and checking of the
exit status.  This is similar to `notmuch-call-notmuch-json', but for
asynchronous processes (and it leaves output processing to the
caller).
---
 emacs/notmuch-lib.el |   73 +++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 69 insertions(+), 4 deletions(-)

diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el
index 59b1ce3..a543471 100644
--- a/emacs/notmuch-lib.el
+++ b/emacs/notmuch-lib.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -383,18 +383,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; signaled error.  This function does not return."
   (error "%s" (concat msg (when extra
     " (see *Notmuch errors* for more details)"))))
 
-(defun notmuch-check-async-exit-status (proc msg)
+(defun notmuch-check-async-exit-status (proc msg &amp;amp;optional command err-file)
   "If PROC exited abnormally, pop up an error buffer and signal an error.
 
 This is a wrapper around `notmuch-check-exit-status' for
 asynchronous process sentinels.  PROC&lt;/pre&gt;</description>
    <dc:creator>Austin Clements</dc:creator>
    <dc:date>2013-05-18T04:31:09</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.mail.notmuch.general/14990">
    <title>[PATCH 1/5] test: Remove extraneous Emacs error handling test</title>
    <link>http://permalink.gmane.org/gmane.mail.notmuch.general/14990</link>
    <description>&lt;pre&gt;We now check error handling more carefully in the last test in
test/emacs and we're about to add more error handling tests.  (This
was also a strange place for this test, since it had nothing to do
with large search buffers.)
---
 test/emacs-large-search-buffer |   11 -----------
 1 file changed, 11 deletions(-)

diff --git a/test/emacs-large-search-buffer b/test/emacs-large-search-buffer
index 9dcbef5..8b1251f 100755
--- a/test/emacs-large-search-buffer
+++ b/test/emacs-large-search-buffer
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -29,15 +29,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; test_emacs '(notmuch-search "*")
 sed -i -e s',  *, ,g' -e 's/xxx*/[BLOB]/g' OUTPUT
 test_expect_equal_file OUTPUT EXPECTED
 
-test_begin_subtest "Ensure that emacs doesn't drop error messages"
-test_emacs '(notmuch-search "--this-option-does-not-exist")
-    (notmuch-test-wait)
-    (test-output)'
-cat &amp;lt;&amp;lt;EOF &amp;gt;EXPECTED
-Error: Unexpected output from notmuch search:
-Unrecognized option: --this-option-does-not-exist
-End of search results.
-EOF
-test_expect_equal_file OUTPUT EXPECTED
-
 test_done
&lt;/pre&gt;</description>
    <dc:creator>Austin Clements</dc:creator>
    <dc:date>2013-05-18T04:31:08</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.mail.notmuch.general/14989">
    <title>[PATCH 4/5] emacs: Streaming S-expression parser</title>
    <link>http://permalink.gmane.org/gmane.mail.notmuch.general/14989</link>
    <description>&lt;pre&gt;This provides the same interface as the streaming JSON parser, but
reads S-expressions incrementally.  The only difference is that the
`notmuch-sexp-parse-partial-list' helper does not handle interleaved
error messages (since we now have the ability to separate these out at
the invocation level), so it no longer takes an error function and
does not need to do the horrible resynchronization that the JSON
parser had to.

Some implementation improvements have been made over the JSON parser.
This uses a vector instead of a list for the parser data structure,
since this allows faster access to elements (and modern versions of
Emacs handle storage of small vectors efficiently).  Private functions
follow the "prefix--name" convention.  And the implementation is much
simpler overall because S-expressions are much easier to parse.
---
 emacs/Makefile.local    |    1 +
 emacs/notmuch-parser.el |  212 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 213 insertions(+)
 create mode 100644 emacs/notmuch-p&lt;/pre&gt;</description>
    <dc:creator>Austin Clements</dc:creator>
    <dc:date>2013-05-18T04:31:11</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.mail.notmuch.general/14988">
    <title>[PATCH 3/5] emacs: Use async process helper for search</title>
    <link>http://permalink.gmane.org/gmane.mail.notmuch.general/14988</link>
    <description>&lt;pre&gt;Previously, search started the async notmuch process directly.  Now,
it uses `notmuch-start-notmuch'.  This simplifies the process sentinel
a bit and means that we no longer have to worry about errors
interleaved with the JSON output.

We also update the tests of Emacs error handling, since the error
output is now separated from the search results buffer.
---
 emacs/notmuch.el |   19 +++++--------------
 test/emacs       |   36 ++++++++++++++++++++++++++++++++----
 2 files changed, 37 insertions(+), 18 deletions(-)

diff --git a/emacs/notmuch.el b/emacs/notmuch.el
index 4c1a6ca..b8d9c44 100644
--- a/emacs/notmuch.el
+++ b/emacs/notmuch.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -653,15 +653,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; of the result."
     ;; For version mismatch, there's no point in
     ;; showing the search buffer
     (when (or (= exit-status 20) (= exit-status 21))
-      (kill-buffer))
-    (condition-case err
-(notmuch-check-async-exit-status proc msg)
-      ;; Suppress the error signal since strange
-      ;; things happen if a sentinel signa&lt;/pre&gt;</description>
    <dc:creator>Austin Clements</dc:creator>
    <dc:date>2013-05-18T04:31:10</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.mail.notmuch.general/14987">
    <title>[PATCH 0/5] Make Emacs search use sexp format</title>
    <link>http://permalink.gmane.org/gmane.mail.notmuch.general/14987</link>
    <description>&lt;pre&gt;This series implements an incremental S-expression parser and switches
search over to it.  To simplify things, it also implements better
handing of stderr for asynchronous processes so we don't have to
handle errors embedded in the S-expression stream.

&lt;/pre&gt;</description>
    <dc:creator>Austin Clements</dc:creator>
    <dc:date>2013-05-18T04:31:07</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.mail.notmuch.general/14986">
    <title>[PATCH] emacs: Proper error string handling in search sentinel</title>
    <link>http://permalink.gmane.org/gmane.mail.notmuch.general/14986</link>
    <description>&lt;pre&gt;Apparently Emacs provides a function to stringify errors properly.
Use this in the search sentinel where we have to do our own error
messaging, rather than assuming the first error argument will be the
descriptive string.
---
 emacs/notmuch.el |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/emacs/notmuch.el b/emacs/notmuch.el
index e58c51d..4c1a6ca 100644
--- a/emacs/notmuch.el
+++ b/emacs/notmuch.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -660,7 +660,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; of the result."
       ;; things happen if a sentinel signals.  Mimic
       ;; the top-level's handling of error messages.
       (error
-       (message "%s" (second err))
+       (message "%s" (error-message-string err))
        (throw 'return nil)))
     (if (and atbob
      (not (string= notmuch-search-target-thread "found")))
&lt;/pre&gt;</description>
    <dc:creator>Austin Clements</dc:creator>
    <dc:date>2013-05-17T20:14:28</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.mail.notmuch.general/14985">
    <title>[PATCH] emacs: Fix trimming regexp in notmuch-check-exit-status</title>
    <link>http://permalink.gmane.org/gmane.mail.notmuch.general/14985</link>
    <description>&lt;pre&gt;For such a simple regexp, this was broken in a very complicated way.

The intent was to strip the newline (and potentially other whitespace)
off the end of the error string so there wasn't an extra newline in
the error signal.  However, the regexp was deeply dependent on the
active syntax table and the subtleties of $.  We didn't notice this
because all notmuch major modes put ?\n in the whitespace class, which
makes this behaved as intended: the "\\s " matches all newlines, but
by matching the newline character, causes the $ *not* to match
*except* where it matched the empty string at the very end of the
string, which was not followed by a newline.

However, if the syntax table declares ?\n to be non-whitespace
(lisp-mode declares it as endcomment, and is likely to be the mode
you're in when testing functions), then this regexp behaves completely
differently, matching trailing spaces at the end of every line within
the string.

The solution is to say what we mean for whitespace *and* to switch
from $ to \',&lt;/pre&gt;</description>
    <dc:creator>Austin Clements</dc:creator>
    <dc:date>2013-05-17T20:14:03</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.mail.notmuch.general">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.mail.notmuch.general</link>
  </textinput>
</rdf:RDF>
