test_expect_equal_file OUTPUT EXPECTED
test_begin_subtest "--output=files"
-notmuch search --output=files '*' | notmuch_search_files_sanitize >OUTPUT
+notmuch search --output=files '*' | notmuch_search_files_sanitize | sort >OUTPUT
cat <<EOF >EXPECTED
-MAIL_DIR/cur/52:2,
-MAIL_DIR/cur/53:2,
-MAIL_DIR/cur/50:2,
-MAIL_DIR/cur/49:2,
-MAIL_DIR/cur/48:2,
-MAIL_DIR/cur/47:2,
-MAIL_DIR/cur/46:2,
-MAIL_DIR/cur/45:2,
-MAIL_DIR/cur/44:2,
-MAIL_DIR/cur/43:2,
-MAIL_DIR/cur/42:2,
-MAIL_DIR/cur/41:2,
-MAIL_DIR/cur/40:2,
-MAIL_DIR/cur/39:2,
-MAIL_DIR/cur/38:2,
-MAIL_DIR/cur/37:2,
-MAIL_DIR/cur/36:2,
-MAIL_DIR/cur/35:2,
-MAIL_DIR/cur/34:2,
-MAIL_DIR/cur/33:2,
-MAIL_DIR/cur/32:2,
-MAIL_DIR/cur/31:2,
-MAIL_DIR/cur/30:2,
+MAIL_DIR/01:2,
+MAIL_DIR/02:2,
+MAIL_DIR/bar/17:2,
+MAIL_DIR/bar/18:2,
+MAIL_DIR/bar/baz/05:2,
+MAIL_DIR/bar/baz/23:2,
+MAIL_DIR/bar/baz/24:2,
+MAIL_DIR/bar/baz/cur/25:2,
+MAIL_DIR/bar/baz/cur/26:2,
+MAIL_DIR/bar/baz/new/27:2,
+MAIL_DIR/bar/baz/new/28:2,
+MAIL_DIR/bar/cur/19:2,
+MAIL_DIR/bar/cur/20:2,
+MAIL_DIR/bar/new/21:2,
+MAIL_DIR/bar/new/22:2,
MAIL_DIR/cur/29:2,
-MAIL_DIR/cur/28:2,
-MAIL_DIR/cur/27:2,
-MAIL_DIR/cur/26:2,
-MAIL_DIR/cur/25:2,
-MAIL_DIR/cur/24:2,
-MAIL_DIR/cur/23:2,
-MAIL_DIR/cur/22:2,
-MAIL_DIR/cur/21:2,
-MAIL_DIR/cur/19:2,
-MAIL_DIR/cur/18:2,
+MAIL_DIR/cur/30:2,
+MAIL_DIR/cur/31:2,
+MAIL_DIR/cur/32:2,
+MAIL_DIR/cur/33:2,
+MAIL_DIR/cur/34:2,
+MAIL_DIR/cur/35:2,
+MAIL_DIR/cur/36:2,
+MAIL_DIR/cur/37:2,
+MAIL_DIR/cur/38:2,
+MAIL_DIR/cur/39:2,
+MAIL_DIR/cur/40:2,
+MAIL_DIR/cur/41:2,
+MAIL_DIR/cur/42:2,
+MAIL_DIR/cur/43:2,
+MAIL_DIR/cur/44:2,
+MAIL_DIR/cur/45:2,
+MAIL_DIR/cur/46:2,
+MAIL_DIR/cur/47:2,
+MAIL_DIR/cur/48:2,
+MAIL_DIR/cur/49:2,
+MAIL_DIR/cur/50:2,
MAIL_DIR/cur/51:2,
-MAIL_DIR/cur/20:2,
-MAIL_DIR/cur/17:2,
-MAIL_DIR/cur/16:2,
-MAIL_DIR/cur/15:2,
-MAIL_DIR/cur/14:2,
-MAIL_DIR/cur/13:2,
-MAIL_DIR/cur/12:2,
-MAIL_DIR/cur/11:2,
-MAIL_DIR/cur/10:2,
-MAIL_DIR/cur/09:2,
-MAIL_DIR/cur/08:2,
-MAIL_DIR/cur/06:2,
-MAIL_DIR/cur/05:2,
-MAIL_DIR/cur/04:2,
-MAIL_DIR/cur/03:2,
-MAIL_DIR/cur/07:2,
-MAIL_DIR/cur/02:2,
-MAIL_DIR/cur/01:2,
+MAIL_DIR/cur/52:2,
+MAIL_DIR/cur/53:2,
+MAIL_DIR/foo/06:2,
+MAIL_DIR/foo/baz/11:2,
+MAIL_DIR/foo/baz/12:2,
+MAIL_DIR/foo/baz/cur/13:2,
+MAIL_DIR/foo/baz/cur/14:2,
+MAIL_DIR/foo/baz/new/15:2,
+MAIL_DIR/foo/baz/new/16:2,
+MAIL_DIR/foo/cur/07:2,
+MAIL_DIR/foo/cur/08:2,
+MAIL_DIR/foo/new/03:2,
+MAIL_DIR/foo/new/09:2,
+MAIL_DIR/foo/new/10:2,
+MAIL_DIR/new/04:2,
EOF
test_expect_equal_file OUTPUT EXPECTED
+dup1=$(notmuch search --output=files id:20091117232137.GA7669@griffis1.net | head -n 1 | sed -e "s,$MAIL_DIR,MAIL_DIR,")
+dup2=$(notmuch search --output=files id:20091117232137.GA7669@griffis1.net | tail -n 1 | sed -e "s,$MAIL_DIR,MAIL_DIR,")
+
test_begin_subtest "--output=files --duplicate=1"
-notmuch search --output=files --duplicate=1 '*' | notmuch_search_files_sanitize >OUTPUT
-cat <<EOF >EXPECTED
+notmuch search --output=files --duplicate=1 '*' | notmuch_search_files_sanitize | sort >OUTPUT
+cat <<EOF | sort >EXPECTED
+$dup1
MAIL_DIR/cur/52:2,
MAIL_DIR/cur/53:2,
MAIL_DIR/cur/50:2,
MAIL_DIR/cur/31:2,
MAIL_DIR/cur/30:2,
MAIL_DIR/cur/29:2,
-MAIL_DIR/cur/28:2,
-MAIL_DIR/cur/27:2,
-MAIL_DIR/cur/26:2,
-MAIL_DIR/cur/25:2,
-MAIL_DIR/cur/24:2,
-MAIL_DIR/cur/23:2,
-MAIL_DIR/cur/22:2,
-MAIL_DIR/cur/21:2,
-MAIL_DIR/cur/19:2,
-MAIL_DIR/cur/18:2,
-MAIL_DIR/cur/20:2,
-MAIL_DIR/cur/17:2,
-MAIL_DIR/cur/16:2,
-MAIL_DIR/cur/15:2,
-MAIL_DIR/cur/14:2,
-MAIL_DIR/cur/13:2,
-MAIL_DIR/cur/12:2,
-MAIL_DIR/cur/11:2,
-MAIL_DIR/cur/10:2,
-MAIL_DIR/cur/09:2,
-MAIL_DIR/cur/08:2,
-MAIL_DIR/cur/06:2,
-MAIL_DIR/cur/05:2,
-MAIL_DIR/cur/04:2,
-MAIL_DIR/cur/03:2,
-MAIL_DIR/cur/07:2,
-MAIL_DIR/cur/02:2,
-MAIL_DIR/cur/01:2,
+MAIL_DIR/bar/baz/new/28:2,
+MAIL_DIR/bar/baz/new/27:2,
+MAIL_DIR/bar/baz/cur/26:2,
+MAIL_DIR/bar/baz/cur/25:2,
+MAIL_DIR/bar/baz/24:2,
+MAIL_DIR/bar/baz/23:2,
+MAIL_DIR/bar/new/22:2,
+MAIL_DIR/bar/new/21:2,
+MAIL_DIR/bar/cur/19:2,
+MAIL_DIR/bar/cur/20:2,
+MAIL_DIR/bar/17:2,
+MAIL_DIR/foo/baz/new/16:2,
+MAIL_DIR/foo/baz/new/15:2,
+MAIL_DIR/foo/baz/cur/14:2,
+MAIL_DIR/foo/baz/cur/13:2,
+MAIL_DIR/foo/baz/12:2,
+MAIL_DIR/foo/baz/11:2,
+MAIL_DIR/foo/new/10:2,
+MAIL_DIR/foo/new/09:2,
+MAIL_DIR/foo/cur/08:2,
+MAIL_DIR/foo/06:2,
+MAIL_DIR/bar/baz/05:2,
+MAIL_DIR/new/04:2,
+MAIL_DIR/foo/new/03:2,
+MAIL_DIR/foo/cur/07:2,
+MAIL_DIR/02:2,
+MAIL_DIR/01:2,
EOF
test_expect_equal_file OUTPUT EXPECTED
test_begin_subtest "--output=files --format=json"
-notmuch search --format=json --output=files '*' | notmuch_search_files_sanitize >OUTPUT
-cat <<EOF >EXPECTED
+notmuch search --format=json --output=files '*' | notmuch_search_files_sanitize \
+ | test_sort_json >OUTPUT
+cat <<EOF | test_sort_json >EXPECTED
["MAIL_DIR/cur/52:2,",
"MAIL_DIR/cur/53:2,",
"MAIL_DIR/cur/50:2,",
"MAIL_DIR/cur/31:2,",
"MAIL_DIR/cur/30:2,",
"MAIL_DIR/cur/29:2,",
-"MAIL_DIR/cur/28:2,",
-"MAIL_DIR/cur/27:2,",
-"MAIL_DIR/cur/26:2,",
-"MAIL_DIR/cur/25:2,",
-"MAIL_DIR/cur/24:2,",
-"MAIL_DIR/cur/23:2,",
-"MAIL_DIR/cur/22:2,",
-"MAIL_DIR/cur/21:2,",
-"MAIL_DIR/cur/19:2,",
-"MAIL_DIR/cur/18:2,",
+"MAIL_DIR/bar/baz/new/28:2,",
+"MAIL_DIR/bar/baz/new/27:2,",
+"MAIL_DIR/bar/baz/cur/26:2,",
+"MAIL_DIR/bar/baz/cur/25:2,",
+"MAIL_DIR/bar/baz/24:2,",
+"MAIL_DIR/bar/baz/23:2,",
+"MAIL_DIR/bar/new/22:2,",
+"MAIL_DIR/bar/new/21:2,",
+"MAIL_DIR/bar/cur/19:2,",
+"MAIL_DIR/bar/18:2,",
"MAIL_DIR/cur/51:2,",
-"MAIL_DIR/cur/20:2,",
-"MAIL_DIR/cur/17:2,",
-"MAIL_DIR/cur/16:2,",
-"MAIL_DIR/cur/15:2,",
-"MAIL_DIR/cur/14:2,",
-"MAIL_DIR/cur/13:2,",
-"MAIL_DIR/cur/12:2,",
-"MAIL_DIR/cur/11:2,",
-"MAIL_DIR/cur/10:2,",
-"MAIL_DIR/cur/09:2,",
-"MAIL_DIR/cur/08:2,",
-"MAIL_DIR/cur/06:2,",
-"MAIL_DIR/cur/05:2,",
-"MAIL_DIR/cur/04:2,",
-"MAIL_DIR/cur/03:2,",
-"MAIL_DIR/cur/07:2,",
-"MAIL_DIR/cur/02:2,",
-"MAIL_DIR/cur/01:2,"]
+"MAIL_DIR/bar/cur/20:2,",
+"MAIL_DIR/bar/17:2,",
+"MAIL_DIR/foo/baz/new/16:2,",
+"MAIL_DIR/foo/baz/new/15:2,",
+"MAIL_DIR/foo/baz/cur/14:2,",
+"MAIL_DIR/foo/baz/cur/13:2,",
+"MAIL_DIR/foo/baz/12:2,",
+"MAIL_DIR/foo/baz/11:2,",
+"MAIL_DIR/foo/new/10:2,",
+"MAIL_DIR/foo/new/09:2,",
+"MAIL_DIR/foo/cur/08:2,",
+"MAIL_DIR/foo/06:2,",
+"MAIL_DIR/bar/baz/05:2,",
+"MAIL_DIR/new/04:2,",
+"MAIL_DIR/foo/new/03:2,",
+"MAIL_DIR/foo/cur/07:2,",
+"MAIL_DIR/02:2,",
+"MAIL_DIR/01:2,"]
EOF
test_expect_equal_file OUTPUT EXPECTED
test_begin_subtest "--output=files --format=json --duplicate=2"
notmuch search --format=json --output=files --duplicate=2 '*' | notmuch_search_files_sanitize >OUTPUT
cat <<EOF >EXPECTED
-["MAIL_DIR/cur/51:2,"]
+["$dup2"]
EOF
test_expect_equal_file OUTPUT EXPECTED
--- /dev/null
+From: "Mikhail Gusarov" <dottedmag@dottedmag.net>
+To: notmuch@notmuchmail.org
+Date: Tue, 17 Nov 2009 21:28:37 +0600
+Subject: [notmuch] [PATCH 1/2] Close message file after parsing message
+ headers
+Message-ID: <1258471718-6781-1-git-send-email-dottedmag@dottedmag.net>
+
+Keeping unused files open helps to see "Too many open files" often.
+
+Signed-off-by: Mikhail Gusarov <dottedmag at dottedmag.net>
+---
+ lib/message-file.c | 5 +++++
+ 1 files changed, 5 insertions(+), 0 deletions(-)
+
+diff --git a/lib/message-file.c b/lib/message-file.c
+index 8a3f8ee..197ab01 100644
+--- a/lib/message-file.c
++++ b/lib/message-file.c
+@@ -325,6 +325,11 @@ notmuch_message_file_get_header (notmuch_message_file_t *message,
+ return decoded_value;
+ }
+
++ if (message->parsing_finished) {
++ fclose (message->file);
++ message->file = NULL;
++ }
++
+ if (message->line)
+ free (message->line);
+ message->line = NULL;
+--
+1.6.3.3
+
+
--- /dev/null
+From: "Mikhail Gusarov" <dottedmag@dottedmag.net>
+To: notmuch@notmuchmail.org
+Date: Tue, 17 Nov 2009 21:28:38 +0600
+Subject: [notmuch] [PATCH 2/2] Include <stdint.h> to get uint32_t in C++
+ file with gcc 4.4
+In-Reply-To: <1258471718-6781-1-git-send-email-dottedmag@dottedmag.net>
+References: <1258471718-6781-1-git-send-email-dottedmag@dottedmag.net>
+Message-ID: <1258471718-6781-2-git-send-email-dottedmag@dottedmag.net>
+
+
+Signed-off-by: Mikhail Gusarov <dottedmag at dottedmag.net>
+---
+ lib/message.cc | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/lib/message.cc b/lib/message.cc
+index 72c350f..a4b090b 100644
+--- a/lib/message.cc
++++ b/lib/message.cc
+@@ -21,6 +21,8 @@
+ #include "notmuch-private.h"
+ #include "database-private.h"
+
++#include <stdint.h>
++
+ #include <gmime/gmime.h>
+
+ #include <xapian.h>
+--
+1.6.3.3
+
+
--- /dev/null
+From: "Israel Herraiz" <isra@herraiz.org>
+To: notmuch@notmuchmail.org
+Date: Tue, 17 Nov 2009 23:57:18 +0100
+Subject: [notmuch] New to the list
+Message-ID: <1258498485-sup-142@elly>
+
+Hi all,
+
+I have subscribed to the list. As suggested by the welcome message, I
+am introducing myself. My name is Israel Herraiz, and I have done a
+couple of contributions to Sup, the probably well-known here e-mail
+client.
+
+"Not much" sounds interesting, and I wonder whether it could be
+integrated with the views of Sup (inbox, threads, etc). So I have
+subscribed to the list to keep an eye on what's going on here.
+
+I have just heard of "Not much". I have not even tried to download the
+code yet.
+
+Cheers,
+Israel
+
--- /dev/null
+From: "Aron Griffis" <agriffis@n01se.net>
+To: notmuch@notmuchmail.org
+Date: Tue, 17 Nov 2009 18:21:38 -0500
+Subject: [notmuch] archive
+Message-ID: <20091117232137.GA7669@griffis1.net>
+
+Just subscribed, I'd like to catch up on the previous postings,
+but the archive link seems to be bogus?
+
+Thanks,
+Aron
+
--- /dev/null
+MIME-Version: 1.0
+Date: Tue, 17 Nov 2009 11:36:14 -0800
+Message-ID: <cf0c4d610911171136h1713aa59w9cf9aa31f052ad0a@mail.gmail.com>
+From: Alex Botero-Lowry <alex.boterolowry@gmail.com>
+To: notmuch@notmuchmail.org
+Content-Type: multipart/mixed; boundary=0016e687869333b1570478963d35
+Subject: [notmuch] preliminary FreeBSD support
+X-BeenThere: notmuch@notmuchmail.org
+X-Mailman-Version: 2.1.12
+Precedence: list
+List-Id: "Use and development of the notmuch mail system."
+ <notmuch.notmuchmail.org>
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>
+List-Post: <mailto:notmuch@notmuchmail.org>
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
+Sender: notmuch-bounces@notmuchmail.org
+Errors-To: notmuch-bounces@notmuchmail.org
+
+--0016e687869333b1570478963d35
+Content-Type: multipart/alternative; boundary=0016e687869333b14e0478963d33
+
+--0016e687869333b14e0478963d33
+Content-Type: text/plain; charset=ISO-8859-1
+
+I saw the announcement this morning, and was very excited, as I had been
+hoping sup would be turned into a library,
+since I like the concept more than the UI (I'd rather an emacs interface).
+
+I did a preliminary compile which worked out fine, but
+sysconf(_SC_SC_GETPW_R_SIZE_MAX) returns -1 on
+FreeBSD, so notmuch_config_open segfaulted.
+
+Attached is a patch that supplies a default buffer size of 64 in cases where
+-1 is returned.
+
+http://www.opengroup.org/austin/docs/austin_328.txt - seems to indicate this
+is acceptable behavior,
+and http://mail-index.netbsd.org/pkgsrc-bugs/2006/06/07/msg016808.htmlspecifically
+uses 64 as the
+buffer size.
+
+--0016e687869333b14e0478963d33
+Content-Type: text/html; charset=ISO-8859-1
+Content-Transfer-Encoding: quoted-printable
+
+I saw the announcement this morning, and was very excited, as I had been ho=
+ping sup would be turned into a library,<br>since I like the concept more t=
+han the UI (I'd rather an emacs interface).<br><br>I did a preliminary =
+compile which worked out fine, but sysconf(_SC_SC_GETPW_R_SIZE_MAX) returns=
+ -1 on<br>
+FreeBSD, so notmuch_config_open segfaulted.<br><br>Attached is a patch that=
+ supplies a default buffer size of 64 in cases where -1 is returned.<br><br=
+><a href=3D"http://www.opengroup.org/austin/docs/austin_328.txt">http://www=
+.opengroup.org/austin/docs/austin_328.txt</a> - seems to indicate this is a=
+cceptable behavior,<br>
+and <a href=3D"http://mail-index.netbsd.org/pkgsrc-bugs/2006/06/07/msg01680=
+8.html">http://mail-index.netbsd.org/pkgsrc-bugs/2006/06/07/msg016808.html<=
+/a> specifically uses 64 as the<br>buffer size.<br><br><br>
+
+--0016e687869333b14e0478963d33--
+--0016e687869333b1570478963d35
+Content-Type: application/octet-stream;
+ name="0001-Deal-with-situation-where-sysconf-_SC_GETPW_R_SIZE_M.patch"
+Content-Disposition: attachment;
+ filename="0001-Deal-with-situation-where-sysconf-_SC_GETPW_R_SIZE_M.patch"
+Content-Transfer-Encoding: base64
+X-Attachment-Id: f_g252e6gs0
+
+RnJvbSBlM2JjNGJiZDdiOWQwZDA4NjgxNmFiNWY4ZjJkNmZmZWExZGQzZWE0IE1vbiBTZXAgMTcg
+MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4YW5kZXIgQm90ZXJvLUxvd3J5IDxhbGV4LmJvdGVyb2xv
+d3J5QGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAxNyBOb3YgMjAwOSAxMTozMDozOSAtMDgwMApTdWJq
+ZWN0OiBbUEFUQ0hdIERlYWwgd2l0aCBzaXR1YXRpb24gd2hlcmUgc3lzY29uZihfU0NfR0VUUFdf
+Ul9TSVpFX01BWCkgcmV0dXJucyAtMQoKLS0tCiBub3RtdWNoLWNvbmZpZy5jIHwgICAgMiArKwog
+MSBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCgpkaWZmIC0t
+Z2l0IGEvbm90bXVjaC1jb25maWcuYyBiL25vdG11Y2gtY29uZmlnLmMKaW5kZXggMjQ4MTQ5Yy4u
+ZTcyMjBkOCAxMDA2NDQKLS0tIGEvbm90bXVjaC1jb25maWcuYworKysgYi9ub3RtdWNoLWNvbmZp
+Zy5jCkBAIC03Nyw2ICs3Nyw3IEBAIHN0YXRpYyBjaGFyICoKIGdldF9uYW1lX2Zyb21fcGFzc3dk
+X2ZpbGUgKHZvaWQgKmN0eCkKIHsKICAgICBsb25nIHB3X2J1Zl9zaXplID0gc3lzY29uZihfU0Nf
+R0VUUFdfUl9TSVpFX01BWCk7CisgICAgaWYgKHB3X2J1Zl9zaXplID09IC0xKSBwd19idWZfc2l6
+ZSA9IDY0OwogICAgIGNoYXIgKnB3X2J1ZiA9IHRhbGxvY196ZXJvX3NpemUgKGN0eCwgcHdfYnVm
+X3NpemUpOwogICAgIHN0cnVjdCBwYXNzd2QgcGFzc3dkLCAqaWdub3JlZDsKICAgICBjaGFyICpu
+YW1lOwpAQCAtMTAxLDYgKzEwMiw3IEBAIHN0YXRpYyBjaGFyICoKIGdldF91c2VybmFtZV9mcm9t
+X3Bhc3N3ZF9maWxlICh2b2lkICpjdHgpCiB7CiAgICAgbG9uZyBwd19idWZfc2l6ZSA9IHN5c2Nv
+bmYoX1NDX0dFVFBXX1JfU0laRV9NQVgpOworICAgIGlmIChwd19idWZfc2l6ZSA9PSAtMSkgcHdf
+YnVmX3NpemUgPSA2NDsKICAgICBjaGFyICpwd19idWYgPSB0YWxsb2NfemVyb19zaXplIChjdHgs
+IHB3X2J1Zl9zaXplKTsKICAgICBzdHJ1Y3QgcGFzc3dkIHBhc3N3ZCwgKmlnbm9yZWQ7CiAgICAg
+Y2hhciAqbmFtZTsKLS0gCjEuNi41LjIKCg==
+--0016e687869333b1570478963d35
+Content-Type: text/plain; charset="us-ascii"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Content-Disposition: inline
+
+_______________________________________________
+notmuch mailing list
+notmuch@notmuchmail.org
+http://notmuchmail.org/mailman/listinfo/notmuch
+
+--0016e687869333b1570478963d35--
+
--- /dev/null
+Date: Tue, 17 Nov 2009 19:58:29 -0500
+From: Lars Kellogg-Stedman <lars@seas.harvard.edu>
+To: notmuch <notmuch@notmuchmail.org>
+Message-ID: <20091118005829.GB25380@dottiness.seas.harvard.edu>
+MIME-Version: 1.0
+User-Agent: Mutt/1.5.19 (2009-01-05)
+Subject: [notmuch] "notmuch help" outputs to stderr?
+X-BeenThere: notmuch@notmuchmail.org
+X-Mailman-Version: 2.1.12
+Precedence: list
+List-Id: "Use and development of the notmuch mail system."
+ <notmuch.notmuchmail.org>
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>
+List-Post: <mailto:notmuch@notmuchmail.org>
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
+Content-Type: multipart/mixed; boundary="===============1359248349=="
+Sender: notmuch-bounces@notmuchmail.org
+Errors-To: notmuch-bounces@notmuchmail.org
+
+
+--===============1359248349==
+Content-Type: multipart/signed; micalg=pgp-sha256;
+ protocol="application/pgp-signature"; boundary="L6iaP+gRLNZHKoI4"
+Content-Disposition: inline
+
+
+--L6iaP+gRLNZHKoI4
+Content-Type: multipart/mixed; boundary="z6Eq5LdranGa6ru8"
+Content-Disposition: inline
+
+
+--z6Eq5LdranGa6ru8
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: inline
+Content-Transfer-Encoding: quoted-printable
+
+I'm just noticing that 'notmuch help ...' outputs to stderr, which
+isn't terribly intuitive. For example, the obvious invocation:
+
+ notmuch help | less
+
+=2E..isn't terribly helpful.
+
+I've attached a patch that lets usage() take a FILE * argument so that
+you can output to stderr in response to usage errors, and stdout in
+response to an explicit request.
+
+--=20
+Lars Kellogg-Stedman <lars@seas.harvard.edu>
+Senior Technologist, Computing and Information Technology
+Harvard University School of Engineering and Applied Sciences
+
+
+--z6Eq5LdranGa6ru8
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: attachment; filename="notmuch-help.patch"
+Content-Transfer-Encoding: quoted-printable
+
+diff --git a/notmuch.c b/notmuch.c
+index c47e640..a35cb99 100644
+--- a/notmuch.c
++++ b/notmuch.c
+@@ -157,23 +157,23 @@ command_t commands[] =3D {
+ };
+=20
+ static void
+-usage (void)
++usage (FILE *out)
+ {
+ command_t *command;
+ unsigned int i;
+=20
+- fprintf (stderr, "Usage: notmuch <command> [args...]\n");
+- fprintf (stderr, "\n");
+- fprintf (stderr, "Where <command> and [args...] are as follows:\n");
+- fprintf (stderr, "\n");
++ fprintf (out, "Usage: notmuch <command> [args...]\n");
++ fprintf (out, "\n");
++ fprintf (out, "Where <command> and [args...] are as follows:\n");
++ fprintf (out, "\n");
+=20
+ for (i =3D 0; i < ARRAY_SIZE (commands); i++) {
+ command =3D &commands[i];
+=20
+- fprintf (stderr, "\t%s\t%s\n\n", command->name, command->summary);
++ fprintf (out, "\t%s\t%s\n\n", command->name, command->summary);
+ }
+=20
+- fprintf (stderr, "Use \"notmuch help <command>\" for more details on e=
+ach command.\n\n");
++ fprintf (out, "Use \"notmuch help <command>\" for more details on each=
+ command.\n\n");
+ }
+=20
+ static int
+@@ -183,8 +183,8 @@ notmuch_help_command (unused (void *ctx), int argc, cha=
+r *argv[])
+ unsigned int i;
+=20
+ if (argc =3D=3D 0) {
+- fprintf (stderr, "The notmuch mail system.\n\n");
+- usage ();
++ fprintf (stdout, "The notmuch mail system.\n\n");
++ usage (stdout);
+ return 0;
+ }
+=20
+
+--z6Eq5LdranGa6ru8--
+
+--L6iaP+gRLNZHKoI4
+Content-Type: application/pgp-signature
+Content-Disposition: inline
+
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQEcBAEBCAAGBQJLA0a1AAoJENdGlQYxQazYr78IAJtqTWIpBqSdOWqTzt/r4XNn
+KJ5mWAoNfq4H+3kx3xoWOFYS7qAYeJoHQWCDbMdb+zEXvPX6hMFn9+OxRN+N5FdQ
+uxGTugSG9xSsK28oGDCQUtr5uheo+tH0jygPjI+LTD97vjUYS4K2qzhLGFJmpLcj
+1akMJXM0gSdPZT8dJyjxvC15pgboLspE4+b6jexXmd4UoFvXgqvjkYHeV4Wk+s0L
+xu+HkCGXL9WHYc3t171fFAru4Zd1AUxFQl4BZ2Y+OqRZUrD28Mtz3zGQxbJQoifl
+JFrgPAWioLN71SkVq/y+efjvGSl0osPpKU5dftMmyY1zV7k7mMlO08ZSJU+wANA=
+=Iijt
+-----END PGP SIGNATURE-----
+
+--L6iaP+gRLNZHKoI4--
+
+--===============1359248349==
+Content-Type: text/plain; charset="us-ascii"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Content-Disposition: inline
+
+_______________________________________________
+notmuch mailing list
+notmuch@notmuchmail.org
+http://notmuchmail.org/mailman/listinfo/notmuch
+
+--===============1359248349==--
+
--- /dev/null
+Return-path: <notmuch-bounces@notmuchmail.org>
+Envelope-to: cworth@localhost
+Delivery-date: Wed, 18 Nov 2009 01:43:47 -0800
+Received: from yoom.home.cworth.org ([127.0.0.1])
+ by yoom.home.cworth.org with esmtp (Exim 4.69)
+ (envelope-from <notmuch-bounces@notmuchmail.org>)
+ id 1NAgpH-0005Ab-20
+ for cworth@localhost; Wed, 18 Nov 2009 01:27:47 -0800
+X-Original-To: cworth@cworth.org
+Delivered-To: cworth@cworth.org
+Received: from olra.theworths.org [82.165.184.25]
+ by yoom.home.cworth.org with IMAP (fetchmail-6.3.9-rc2)
+ for <cworth@localhost> (single-drop); Wed, 18 Nov 2009 01:27:47 -0800 (PST)
+Received: from localhost (localhost [127.0.0.1])
+ by olra.theworths.org (Postfix) with ESMTP id 12248431FC3
+ for <cworth@cworth.org>; Tue, 17 Nov 2009 17:01:22 -0800 (PST)
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org
+X-Spam-Flag: NO
+X-Spam-Score: -6.17
+X-Spam-Level:
+X-Spam-Status: No, score=-6.17 tagged_above=-999 required=2 tests=[AWL=0.429,
+ BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4] autolearn=unavailable
+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 TmBdVd1i-Wjb; Tue, 17 Nov 2009 17:01:20 -0800 (PST)
+Received: from olra.theworths.org (localhost [127.0.0.1])
+ by olra.theworths.org (Postfix) with ESMTP id AF876431FBC;
+ Tue, 17 Nov 2009 17:01:20 -0800 (PST)
+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 75784431FBC
+ for <notmuch@notmuchmail.org>; Tue, 17 Nov 2009 17:01:19 -0800 (PST)
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org
+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 IoYHzHoKBskU for <notmuch@notmuchmail.org>;
+ Tue, 17 Nov 2009 17:01:18 -0800 (PST)
+Received: from smtp-outbound.seas.harvard.edu (smtp-outbound.seas.harvard.edu
+ [140.247.51.171])
+ by olra.theworths.org (Postfix) with ESMTP id 7E033431FAE
+ for <notmuch@notmuchmail.org>; Tue, 17 Nov 2009 17:01:18 -0800 (PST)
+Received: from dottiness.seas.harvard.edu (dottiness.seas.harvard.edu
+ [140.247.52.224])
+ by smtp-outbound.seas.harvard.edu (8.13.8/8.13.8) with SMTP id
+ nAI11Gkj008772
+ for <notmuch@notmuchmail.org>; Tue, 17 Nov 2009 20:01:16 -0500
+Received: by dottiness.seas.harvard.edu (sSMTP sendmail emulation);
+ Tue, 17 Nov 2009 20:01:16 -0500
+Date: Tue, 17 Nov 2009 20:01:16 -0500
+From: Lars Kellogg-Stedman <lars@seas.harvard.edu>
+To: notmuch <notmuch@notmuchmail.org>
+Message-ID: <20091118010116.GC25380@dottiness.seas.harvard.edu>
+References: <20091118005829.GB25380@dottiness.seas.harvard.edu>
+MIME-Version: 1.0
+In-Reply-To: <20091118005829.GB25380@dottiness.seas.harvard.edu>
+User-Agent: Mutt/1.5.19 (2009-01-05)
+Subject: Re: [notmuch] "notmuch help" outputs to stderr?
+X-BeenThere: notmuch@notmuchmail.org
+X-Mailman-Version: 2.1.12
+Precedence: list
+List-Id: "Use and development of the notmuch mail system."
+ <notmuch.notmuchmail.org>
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>
+List-Post: <mailto:notmuch@notmuchmail.org>
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
+Content-Type: multipart/mixed; boundary="===============0848253760=="
+Sender: notmuch-bounces@notmuchmail.org
+Errors-To: notmuch-bounces@notmuchmail.org
+
+
+--===============0848253760==
+Content-Type: multipart/signed; micalg=pgp-sha256;
+ protocol="application/pgp-signature"; boundary="ZInfyf7laFu/Kiw7"
+Content-Disposition: inline
+
+
+--ZInfyf7laFu/Kiw7
+Content-Type: multipart/mixed; boundary="KdquIMZPjGJQvRdI"
+Content-Disposition: inline
+
+
+--KdquIMZPjGJQvRdI
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: inline
+Content-Transfer-Encoding: quoted-printable
+
+> I've attached a patch that lets usage() take a FILE * argument so that
+> you can output to stderr in response to usage errors, and stdout in
+> response to an explicit request.
+
+Whoops, missed a couple of stderr's in that last patch. New one
+attached.
+
+--=20
+Lars Kellogg-Stedman <lars@seas.harvard.edu>
+Senior Technologist, Computing and Information Technology
+Harvard University School of Engineering and Applied Sciences
+
+
+--KdquIMZPjGJQvRdI
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: attachment; filename="notmuch-help.patch"
+Content-Transfer-Encoding: quoted-printable
+
+diff --git a/notmuch.c b/notmuch.c
+index c47e640..446c810 100644
+--- a/notmuch.c
++++ b/notmuch.c
+@@ -157,23 +157,23 @@ command_t commands[] =3D {
+ };
+=20
+ static void
+-usage (void)
++usage (FILE *out)
+ {
+ command_t *command;
+ unsigned int i;
+=20
+- fprintf (stderr, "Usage: notmuch <command> [args...]\n");
+- fprintf (stderr, "\n");
+- fprintf (stderr, "Where <command> and [args...] are as follows:\n");
+- fprintf (stderr, "\n");
++ fprintf (out, "Usage: notmuch <command> [args...]\n");
++ fprintf (out, "\n");
++ fprintf (out, "Where <command> and [args...] are as follows:\n");
++ fprintf (out, "\n");
+=20
+ for (i =3D 0; i < ARRAY_SIZE (commands); i++) {
+ command =3D &commands[i];
+=20
+- fprintf (stderr, "\t%s\t%s\n\n", command->name, command->summary);
++ fprintf (out, "\t%s\t%s\n\n", command->name, command->summary);
+ }
+=20
+- fprintf (stderr, "Use \"notmuch help <command>\" for more details on e=
+ach command.\n\n");
++ fprintf (out, "Use \"notmuch help <command>\" for more details on each=
+ command.\n\n");
+ }
+=20
+ static int
+@@ -183,8 +183,8 @@ notmuch_help_command (unused (void *ctx), int argc, cha=
+r *argv[])
+ unsigned int i;
+=20
+ if (argc =3D=3D 0) {
+- fprintf (stderr, "The notmuch mail system.\n\n");
+- usage ();
++ fprintf (stdout, "The notmuch mail system.\n\n");
++ usage (stdout);
+ return 0;
+ }
+=20
+@@ -192,8 +192,8 @@ notmuch_help_command (unused (void *ctx), int argc, cha=
+r *argv[])
+ command =3D &commands[i];
+=20
+ if (strcmp (argv[0], command->name) =3D=3D 0) {
+- fprintf (stderr, "Help for \"notmuch %s\":\n\n", argv[0]);
+- fprintf (stderr, "\t%s\t%s\n\n%s\n\n", command->name,
++ fprintf (stdout, "Help for \"notmuch %s\":\n\n", argv[0]);
++ fprintf (stdout, "\t%s\t%s\n\n%s\n\n", command->name,
+ command->summary, command->documentation);
+ return 0;
+ }
+
+--KdquIMZPjGJQvRdI--
+
+--ZInfyf7laFu/Kiw7
+Content-Type: application/pgp-signature
+Content-Disposition: inline
+
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQEcBAEBCAAGBQJLA0dcAAoJENdGlQYxQazY4nIIAIBCds86/uTmnouvyoPruUUR
+Bg5mXcnjuopz1Nwotl9s9U5sGeZuZngxyEvDz1Z1aTEjwab8ndNTf1xCwIoqBs+l
+i/sc4nPYubLdy1Ab/84DKVtCSbj+v5rtqhegwUWV7S1BY7t8dKNPNv7YBg7P0Azs
+6s3CUxDV5eJCcxCGxxWHH8JDKRf7rDs6vzDwyPWLxlg1Xb1lEM/sRgPCKiShPdO3
+Ak2hECusjskALhSDYX8/FLMd9HwLBC13sfWuSi/pHUAIOI2jru2p5sXrVSlTnFIJ
+fiMbPhKWiEaJj2kmm4pRwAhbTWp/J8ZvXWp0AyosxXQhQUWqujiyxgfiXS70SdQ=
+=t3Yc
+-----END PGP SIGNATURE-----
+
+--ZInfyf7laFu/Kiw7--
+
+--===============0848253760==
+Content-Type: text/plain; charset="us-ascii"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Content-Disposition: inline
+
+_______________________________________________
+notmuch mailing list
+notmuch@notmuchmail.org
+http://notmuchmail.org/mailman/listinfo/notmuch
+
+--===============0848253760==--
+
--- /dev/null
+From: "Stewart Smith" <stewart@flamingspork.com>
+To: notmuch@notmuchmail.org
+Date: Wed, 18 Nov 2009 12:05:53 +1100
+Subject: [notmuch] [PATCH] Fix linking with gcc to use g++ to link in C++
+ libs.
+Message-ID: <1258506353-20352-1-git-send-email-stewart@flamingspork.com>
+
+Previously, Ubuntu 9.10, gcc 4.4.1 was getting:
+
+ccache gcc `pkg-config --libs glib-2.0 gmime-2.4 talloc` `xapian-config --libs` notmuch.o notmuch-config.o notmuch-dump.o notmuch-new.o notmuch-reply.o notmuch-restore.o notmuch-search.o notmuch-setup.o notmuch-show.o notmuch-tag.o notmuch-time.o gmime-filter-reply.o query-string.o show-message.o lib/notmuch.a -o notmuch
+/usr/bin/ld: lib/notmuch.a(database.o): in function global constructors keyed to BOOLEAN_PREFIX_INTERNAL:database.cc(.text+0x3a): error: undefined reference to 'std::ios_base::Init::Init()'
+---
+ Makefile.local | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/Makefile.local b/Makefile.local
+index f824bed..dbd3e20 100644
+--- a/Makefile.local
++++ b/Makefile.local
+@@ -18,7 +18,7 @@ notmuch_client_srcs = \
+
+ notmuch_client_modules = $(notmuch_client_srcs:.c=.o)
+ notmuch: $(notmuch_client_modules) lib/notmuch.a
+- $(CC) $(LDFLAGS) $^ -o $@
++ $(CXX) $(LDFLAGS) $^ -o $@
+
+ notmuch.1.gz:
+ gzip --stdout notmuch.1 > notmuch.1.gz
+--
+1.6.3.3
+
+
--- /dev/null
+From: "Stewart Smith" <stewart@flamingspork.com>
+To: notmuch@notmuchmail.org
+Date: Wed, 18 Nov 2009 12:56:40 +1100
+Subject: [notmuch] [PATCH 2/2] Read mail directory in inode number order
+Message-ID: <1258509400-32511-1-git-send-email-stewart@flamingspork.com>
+
+This gives a rather decent reduction in number of seeks required when
+reading a Maildir that isn't in pagecache.
+
+Most filesystems give some locality on disk based on inode numbers.
+In ext[234] this is the inode tables, in XFS groups of sequential inode
+numbers are together on disk and the most significant bits indicate
+allocation group (i.e inode 1,000,000 is always after inode 1,000).
+
+With this patch, we read in the whole directory, sort by inode number
+before stat()ing the contents.
+
+Ideally, directory is sequential and then we make one scan through the
+file system stat()ing.
+
+Since the universe is not ideal, we'll probably seek during reading the
+directory and a fair bit while reading the inodes themselves.
+
+However... with readahead, and stat()ing in inode order, we should be
+in the best place possible to hit the cache.
+
+In a (not very good) benchmark of "how long does it take to find the first
+15,000 messages in my Maildir after 'echo 3 > /proc/sys/vm/drop_caches'",
+this patch consistently cut at least 8 seconds off the scan time.
+
+Without patch: 50 seconds
+With patch: 38-42 seconds.
+
+(I did this in a previous maildir reading project and saw large improvements too)
+---
+ notmuch-new.c | 32 +++++++++++++++-----------------
+ 1 files changed, 15 insertions(+), 17 deletions(-)
+
+diff --git a/notmuch-new.c b/notmuch-new.c
+index 83a05ba..11fad8c 100644
+--- a/notmuch-new.c
++++ b/notmuch-new.c
+@@ -73,6 +73,11 @@ add_files_print_progress (add_files_state_t *state)
+ fflush (stdout);
+ }
+
++static int ino_cmp(const struct dirent **a, const struct dirent **b)
++{
++ return ((*a)->d_ino < (*b)->d_ino)? -1: 1;
++}
++
+ /* Examine 'path' recursively as follows:
+ *
+ * o Ask the filesystem for the mtime of 'path' (path_mtime)
+@@ -100,13 +105,12 @@ add_files_recursive (notmuch_database_t *notmuch,
+ add_files_state_t *state)
+ {
+ DIR *dir = NULL;
+- struct dirent *e, *entry = NULL;
+- int entry_length;
+- int err;
++ struct dirent *entry = NULL;
+ char *next = NULL;
+ time_t path_mtime, path_dbtime;
+ notmuch_status_t status, ret = NOTMUCH_STATUS_SUCCESS;
+ notmuch_message_t *message = NULL;
++ struct dirent **namelist = NULL;
+
+ /* If we're told to, we bail out on encountering a read-only
+ * directory, (with this being a clear clue from the user to
+@@ -122,31 +126,23 @@ add_files_recursive (notmuch_database_t *notmuch,
+ path_mtime = st->st_mtime;
+
+ path_dbtime = notmuch_database_get_timestamp (notmuch, path);
++ int n_entries= scandir(path, &namelist, 0, ino_cmp);
+
+- dir = opendir (path);
+- if (dir == NULL) {
++ if (n_entries == -1) {
+ fprintf (stderr, "Error opening directory %s: %s\n",
+ path, strerror (errno));
+ ret = NOTMUCH_STATUS_FILE_ERROR;
+ goto DONE;
+ }
+
+- entry_length = offsetof (struct dirent, d_name) +
+- pathconf (path, _PC_NAME_MAX) + 1;
+- entry = malloc (entry_length);
++ int i=0;
+
+ while (!interrupted) {
+- err = readdir_r (dir, entry, &e);
+- if (err) {
+- fprintf (stderr, "Error reading directory: %s\n",
+- strerror (errno));
+- ret = NOTMUCH_STATUS_FILE_ERROR;
+- goto DONE;
+- }
+-
+- if (e == NULL)
++ if (i == n_entries)
+ break;
+
++ entry= namelist[i++];
++
+ /* If this directory hasn't been modified since the last
+ * add_files, then we only need to look further for
+ * sub-directories. */
+@@ -243,6 +239,8 @@ add_files_recursive (notmuch_database_t *notmuch,
+ free (entry);
+ if (dir)
+ closedir (dir);
++ if (namelist)
++ free (namelist);
+
+ return ret;
+ }
+--
+1.6.3.3
+
+
--- /dev/null
+From: "Keith Packard" <keithp@keithp.com>
+To: notmuch@notmuchmail.org
+Date: Tue, 17 Nov 2009 17:59:49 -0800
+Subject: [notmuch] New to the list
+In-Reply-To: <1258498485-sup-142@elly>
+References: <1258498485-sup-142@elly>
+Message-ID: <yun3a4cegoa.fsf@aiko.keithp.com>
+
+On Tue, 17 Nov 2009 23:57:18 +0100, Israel Herraiz <isra at herraiz.org> wrote:
+
+> "Not much" sounds interesting, and I wonder whether it could be
+> integrated with the views of Sup (inbox, threads, etc). So I have
+> subscribed to the list to keep an eye on what's going on here.
+
+We've tried to clone much of the sup UI inside emacs, including the
+inbox and threaded message presentation. Of course, we had to "improve"
+it a bit, as much due to the differences between curses and emacs as due
+to personal preferences...
+
+-keith
+
--- /dev/null
+From: "Keith Packard" <keithp@keithp.com>
+To: notmuch@notmuchmail.org
+Date: Tue, 17 Nov 2009 18:03:17 -0800
+Subject: [notmuch] Introducing myself
+In-Reply-To: <20091118002059.067214ed@hikari>
+References: <20091118002059.067214ed@hikari>
+Message-ID: <yun1vjwegii.fsf@aiko.keithp.com>
+
+On Wed, 18 Nov 2009 00:20:59 +0100, Adrian Perez de Castro <aperez at igalia.com> wrote:
+
+> Some time ago I thought
+> about doing something like Not Much and in fact I played a bit with the
+> Python+Xapian and the Python+Whoosh combinations, because I find relaxing
+> to code things in Python when I am not working and also it is installed
+> by default on most distribution. I got to have some mailboxes indexed and
+> basic searching working a couple of months ago.
+
+Sup certainly started a lot of people thinking...
+
+> Also, I would like to share one idea I had in mind, that you might find
+> interesting: One thing I have found very annoying is having to re-tag my
+> mail when the indexes get b0rked (it happened a couple of times to me while
+> using Sup), so I was planning to mails as read/unread and adding the tags
+> not just to the index, but to the mail text itself, e.g. by adding a
+> "X-Tags" header field or by reusing the "Keywords" one.
+
+Easier than that, notmuch (and sup too), provide a 'dump' command which
+just lists all of the message IDs and their associated tags. Makes
+saving tags easy and doesn't involve rewriting messages. I do this once
+a day just before my computer is backed up to an external drive.
+
+If the index is destroyed, you can reindex the messages and then reapply
+all of the tags with 'notmuch restore'.
+
+--
+keith.packard at intel.com
+
+
--- /dev/null
+From: "Ingmar Vanhassel" <ingmar@exherbo.org>
+To: notmuch@notmuchmail.org
+Date: Wed, 18 Nov 2009 00:23:42 +0100
+Subject: [notmuch] [PATCH] Typsos
+Message-ID: <1258500222-32066-1-git-send-email-ingmar@exherbo.org>
+
+---
+ Makefile | 4 ++--
+ README | 6 +++---
+ gmime-filter-reply.h | 2 +-
+ lib/database.cc | 2 +-
+ lib/index.cc | 2 +-
+ lib/message.cc | 2 +-
+ lib/messages.c | 2 +-
+ lib/notmuch-private.h | 2 +-
+ lib/notmuch.h | 10 +++++-----
+ lib/sha1.c | 2 +-
+ lib/thread.cc | 2 +-
+ notmuch-completion.bash | 2 +-
+ notmuch-new.c | 4 ++--
+ notmuch-search.c | 2 +-
+ notmuch.1 | 4 ++--
+ notmuch.el | 10 +++++-----
+ show-message.c | 2 +-
+ 17 files changed, 30 insertions(+), 30 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 436dacf..96aaa73 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,4 +1,4 @@
+-# Default FLAGS, (can be overriden by user such as "make CFLAGS=-O2")
++# Default FLAGS, (can be overridden by user such as "make CFLAGS=-O2")
+ WARN_FLAGS=-Wall -Wextra -Wmissing-declarations -Wwrite-strings -Wswitch-enum
+ CFLAGS=-O2
+
+@@ -14,7 +14,7 @@ override CXXFLAGS += $(WARN_FLAGS) $(extra_cflags) $(extra_cxxflags)
+ override LDFLAGS += `pkg-config --libs glib-2.0 gmime-2.4 talloc` \
+ `xapian-config --libs`
+
+-# Include our local Makfile.local first so that its first target is default
++# Include our local Makefile.local first so that its first target is default
+ include Makefile.local
+ include lib/Makefile.local
+
+diff --git a/README b/README
+index 40f05ab..27af77f 100644
+--- a/README
++++ b/README
+@@ -3,7 +3,7 @@ Notmuch - thread-based email index, search and tagging.
+ Notmuch is a system for indexing, searching, reading, and tagging
+ large collections of email messages. It uses the Xapian library to
+ provide fast, full-text search of very large collection of email with
+-a very convenient search syntas.
++a very convenient search syntax.
+
+ Notmuch is free software, released under the GNU General Public
+ License version 3 (or later).
+@@ -45,7 +45,7 @@ obtaining a more sophisticated interface:
+ notmuch.el file in this distribution.
+
+ If someone were to write a curses-based interface, or similar,
+- it might also be reasonable to buil on the "notmuch"
++ it might also be reasonable to build on the "notmuch"
+ command-line interface.
+
+ 2. Build on top of the notmuch library interface.
+@@ -67,4 +67,4 @@ still in development. We would appreciate any contributions to these
+ efforts.
+
+
+-
+\ No newline at end of file
++
+diff --git a/gmime-filter-reply.h b/gmime-filter-reply.h
+index 41cbc13..b7cbc6b 100644
+--- a/gmime-filter-reply.h
++++ b/gmime-filter-reply.h
+@@ -40,7 +40,7 @@ typedef struct _GMimeFilterReplyClass GMimeFilterReplyClass;
+ * @saw_nl: previous char was a \n
+ * @saw_angle: previous char was a >
+ *
+- * A filter to insert/remove reply markers (lines begining with >)
++ * A filter to insert/remove reply markers (lines beginning with >)
+ **/
+ struct _GMimeFilterReply {
+ GMimeFilter parent_object;
+diff --git a/lib/database.cc b/lib/database.cc
+index 3c8d626..27597cf 100644
+--- a/lib/database.cc
++++ b/lib/database.cc
+@@ -180,7 +180,7 @@ notmuch_status_to_string (notmuch_status_t status)
+ case NOTMUCH_STATUS_TAG_TOO_LONG:
+ return "Tag value is too long (exceeds NOTMUCH_TAG_MAX)";
+ case NOTMUCH_STATUS_UNBALANCED_FREEZE_THAW:
+- return "Unblanced number of calls to notmuch_message_freeze/thaw";
++ return "Unbalanced number of calls to notmuch_message_freeze/thaw";
+ default:
+ case NOTMUCH_STATUS_LAST_STATUS:
+ return "Unknown error status value";
+diff --git a/lib/index.cc b/lib/index.cc
+index 65b83b3..80df64b 100644
+--- a/lib/index.cc
++++ b/lib/index.cc
+@@ -198,7 +198,7 @@ _index_mime_part (notmuch_message_t *message,
+ if (i == 1)
+ continue;
+ if (i > 1)
+- fprintf (stderr, "Warning: Unexpected extra parts of mutlipart/signed. Indexing anyway.\n");
++ fprintf (stderr, "Warning: Unexpected extra parts of multipart/signed. Indexing anyway.\n");
+ }
+ _index_mime_part (message,
+ g_mime_multipart_get_part (multipart, i));
+diff --git a/lib/message.cc b/lib/message.cc
+index a4b090b..1d6623f 100644
+--- a/lib/message.cc
++++ b/lib/message.cc
+@@ -144,7 +144,7 @@ _notmuch_message_create (const void *talloc_owner,
+ }
+
+ /* Create a new notmuch_message_t object for a specific message ID,
+- * (which may or may not already exist in the databas).
++ * (which may or may not already exist in the database).
+ *
+ * Here, 'talloc owner' is an optional talloc context to which the new
+ * message will belong. This allows for the caller to not bother
+diff --git a/lib/messages.c b/lib/messages.c
+index a588f8f..2f7c283 100644
+--- a/lib/messages.c
++++ b/lib/messages.c
+@@ -47,7 +47,7 @@ _notmuch_message_list_create (const void *ctx)
+ return list;
+ }
+
+-/* Append 'node' (which can of course point to an aribtrarily long
++/* Append 'node' (which can of course point to an arbitrarily long
+ * list of nodes) to the end of 'list'.
+ */
+ void
+diff --git a/lib/notmuch-private.h b/lib/notmuch-private.h
+index 6036ce4..af82e58 100644
+--- a/lib/notmuch-private.h
++++ b/lib/notmuch-private.h
+@@ -235,7 +235,7 @@ notmuch_message_file_open (const char *filename);
+ notmuch_message_file_t *
+ _notmuch_message_file_open_ctx (void *ctx, const char *filename);
+
+-/* Close a notmuch message preivously opened with notmuch_message_open. */
++/* Close a notmuch message previously opened with notmuch_message_open. */
+ void
+ notmuch_message_file_close (notmuch_message_file_t *message);
+
+diff --git a/lib/notmuch.h b/lib/notmuch.h
+index 32b5332..384c177 100644
+--- a/lib/notmuch.h
++++ b/lib/notmuch.h
+@@ -222,7 +222,7 @@ notmuch_database_get_timestamp (notmuch_database_t *database,
+
+ /* Add a new message to the given notmuch database.
+ *
+- * Here,'filename' should be a path relative to the the path of
++ * Here,'filename' should be a path relative to the path of
+ * 'database' (see notmuch_database_get_path), or else should be an
+ * absolute filename with initial components that match the path of
+ * 'database'.
+@@ -258,7 +258,7 @@ notmuch_database_add_message (notmuch_database_t *database,
+ const char *filename,
+ notmuch_message_t **message);
+
+-/* Find a message with the given messsage_id.
++/* Find a message with the given message_id.
+ *
+ * If the database contains a message with the given message_id, then
+ * a new notmuch_message_t object is returned. The caller should call
+@@ -620,7 +620,7 @@ notmuch_messages_advance (notmuch_messages_t *messages);
+ /* Destroy a notmuch_messages_t object.
+ *
+ * It's not strictly necessary to call this function. All memory from
+- * the notmuch_messages_t object will be reclaimed when the containg
++ * the notmuch_messages_t object will be reclaimed when the containing
+ * query object is destroyed.
+ */
+ void
+@@ -865,7 +865,7 @@ notmuch_tags_has_more (notmuch_tags_t *tags);
+ /* Get the current tag from 'tags' as a string.
+ *
+ * Note: The returned string belongs to 'tags' and has a lifetime
+- * identical to it (and the query to which it utlimately belongs).
++ * identical to it (and the query to which it ultimately belongs).
+ *
+ * See the documentation of notmuch_message_get_tags for example code
+ * showing how to iterate over a notmuch_tags_t object.
+@@ -884,7 +884,7 @@ notmuch_tags_advance (notmuch_tags_t *tags);
+ /* Destroy a notmuch_tags_t object.
+ *
+ * It's not strictly necessary to call this function. All memory from
+- * the notmuch_tags_t object will be reclaimed when the containg
++ * the notmuch_tags_t object will be reclaimed when the containing
+ * message or query objects are destroyed.
+ */
+ void
+diff --git a/lib/sha1.c b/lib/sha1.c
+index ff4dd16..cc48108 100644
+--- a/lib/sha1.c
++++ b/lib/sha1.c
+@@ -43,7 +43,7 @@ _hex_of_sha1_digest (const unsigned char digest[SHA1_DIGEST_SIZE])
+ return result;
+ }
+
+-/* Create a hexadcimal string version of the SHA-1 digest of 'str'
++/* Create a hexadecimal string version of the SHA-1 digest of 'str'
+ * (including its null terminating character).
+ *
+ * This function returns a newly allocated string which the caller
+diff --git a/lib/thread.cc b/lib/thread.cc
+index 4411d64..da58edc 100644
+--- a/lib/thread.cc
++++ b/lib/thread.cc
+@@ -190,7 +190,7 @@ _resolve_thread_relationships (unused (notmuch_thread_t *thread))
+ * subject line, the total count of messages, and all authors). The
+ * second search is for all messages that are in the thread and that
+ * also match the given query_string. This is to allow for a separate
+- * count of matched messages, and to allow a viewer to diplay these
++ * count of matched messages, and to allow a viewer to display these
+ * messages differently.
+ *
+ * Here, 'ctx' is talloc context for the resulting thread object.
+diff --git a/notmuch-completion.bash b/notmuch-completion.bash
+index ad55f6d..cdad05d 100644
+--- a/notmuch-completion.bash
++++ b/notmuch-completion.bash
+@@ -1,4 +1,4 @@
+-# Bash completion for notmutch
++# Bash completion for notmuch
+ #
+ # Copyright ?? 2009 Carl Worth
+ #
+diff --git a/notmuch-new.c b/notmuch-new.c
+index 83a05ba..5405a9f 100644
+--- a/notmuch-new.c
++++ b/notmuch-new.c
+@@ -303,7 +303,7 @@ add_files (notmuch_database_t *notmuch,
+
+ /* XXX: This should be merged with the add_files function since it
+ * shares a lot of logic with it. */
+-/* Recursively count all regular files in path and all sub-direcotries
++/* Recursively count all regular files in path and all sub-directories
+ * of path. The result is added to *count (which should be
+ * initialized to zero by the top-level caller before calling
+ * count_files). */
+@@ -469,7 +469,7 @@ notmuch_new_command (void *ctx,
+
+ if (elapsed > 1 && ! add_files_state.saw_read_only_directory) {
+ printf ("\nTip: If you have any sub-directories that are archives (that is,\n"
+- "they will never receive new mail), marking these directores as\n"
++ "they will never receive new mail), marking these directories as\n"
+ "read-only (chmod u-w /path/to/dir) will make \"notmuch new\"\n"
+ "much more efficient (it won't even look in those directories).\n");
+ }
+diff --git a/notmuch-search.c b/notmuch-search.c
+index 8db09c7..ac81372 100644
+--- a/notmuch-search.c
++++ b/notmuch-search.c
+@@ -76,7 +76,7 @@ notmuch_search_command (void *ctx, int argc, char *argv[])
+
+ query_str = query_string_from_args (ctx, argc, argv);
+ if (query_str == NULL) {
+- fprintf (stderr, "Out of moemory.\n");
++ fprintf (stderr, "Out of memory.\n");
+ return 1;
+ }
+
+diff --git a/notmuch.1 b/notmuch.1
+index 6c3d10f..86d5f59 100644
+--- a/notmuch.1
++++ b/notmuch.1
+@@ -60,7 +60,7 @@ archives, and will then proceed to build a database that indexes the
+ mail to allow for fast search of the archive.
+
+ This directory can contain any number of sub-directories and should
+-primarily contain only files with indvidual email messages
++primarily contain only files with individual email messages
+ (eg. maildir or mh archives are perfect). If there are other,
+ non-email files (such as indexes maintained by other email programs)
+ then notmuch will do its best to detect those and ignore them.
+@@ -173,7 +173,7 @@ Constructs a reply template for a set of messages.
+
+ See the documentation of
+ .B search
+-for deatils of the supported syntax of search terms.
++for details of the supported syntax of search terms.
+
+ To make replying to email easier,
+ .B notmuch reply
+diff --git a/notmuch.el b/notmuch.el
+index 8894a8e..7e01ed6 100644
+--- a/notmuch.el
++++ b/notmuch.el
+@@ -205,7 +205,7 @@ Unlike builtin `next-line' this version accepts no arguments."
+ (defun notmuch-show-mark-read-then-archive-thread ()
+ "Remove \"unread\" tag from each message, then archive and show next thread.
+
+-Archive each message currrently shown by removing the \"unread\"
++Archive each message currently shown by removing the \"unread\"
+ and \"inbox\" tag from each. Then kill this buffer and show the
+ next thread from the search from which this thread was originally
+ shown.
+@@ -220,7 +220,7 @@ buffer."
+ (defun notmuch-show-archive-thread ()
+ "Archive each message in thread, and show next thread from search.
+
+-Archive each message currrently shown by removing the \"inbox\"
++Archive each message currently shown by removing the \"inbox\"
+ tag from each. Then kill this buffer and show the next thread
+ from the search from which this thread was originally shown.
+
+@@ -340,7 +340,7 @@ there are no more unread messages past the current point."
+ (notmuch-show-next-message)))
+
+ (defun notmuch-show-next-open-message ()
+- "Advance to the the next message which is not hidden.
++ "Advance to the next message which is not hidden.
+
+ If read messages are currently hidden, advance to the next unread
+ message. Otherwise, advance to the next message."
+@@ -674,7 +674,7 @@ thread from that buffer can be show when done with this one)."
+ )))
+
+ (defvar notmuch-search-authors-width 40
+- "Number of columns to use to diplay authors in a notmuch-search buffer.")
++ "Number of columns to use to display authors in a notmuch-search buffer.")
+
+ (defvar notmuch-search-mode-map
+ (let ((map (make-sparse-keymap)))
+@@ -910,7 +910,7 @@ the beginning of the buffer).
+
+ This command toggles the sort order for the current search.
+
+-Note that any fitlered searches created by
++Note that any filtered searches created by
+ `notmuch-search-filter' retain the search order of the parent
+ search."
+ (interactive)
+diff --git a/show-message.c b/show-message.c
+index 79b02e2..38f5897 100644
+--- a/show-message.c
++++ b/show-message.c
+@@ -38,7 +38,7 @@ show_message_part (GMimeObject *part, int *part_count,
+ if (i == 1)
+ continue;
+ if (i > 1)
+- fprintf (stderr, "Warning: Unexpected extra parts of mutlipart/signed. Continuing.\n");
++ fprintf (stderr, "Warning: Unexpected extra parts of multipart/signed. Continuing.\n");
+ }
+ show_message_part (g_mime_multipart_get_part (multipart, i),
+ part_count, show_part);
+--
+1.6.5.2.433.g23cdb
+
+
--- /dev/null
+Date: Wed, 18 Nov 2009 00:20:59 +0100
+From: Adrian Perez de Castro <aperez@igalia.com>
+To: notmuch@notmuchmail.org
+Message-ID: <20091118002059.067214ed@hikari>
+Organization: Igalia
+X-Mailer: Claws Mail 3.7.3 (GTK+ 2.18.3; x86_64-redhat-linux-gnu)
+Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAAXNSR0IArs4c6QAAADBQTFRFBwcHFhYWKCgoNzc3SEhIV1dXaGhod3d3iIiIlpaWqKiouLi4x8fH2NjY5+fn/v7+rSjDkgAAAjVJREFUOE9l07tvE0EQwOHfrkV9O+eko7g701BBfECJsIigT2IpooIqaSiRUEB0REj00FBQgYSCkhry+gecUPJybJeIxLumTbilsH2PMNXufDOa3ZVW+1JkpbUmD/8+vXR3c7or4Gz93mH309Kz8/C9/RQge7VfhW/LW+PF8IkrQ7Z6OKmQr1tl+LU/yWP9mxJka9O88fZHPwf/7u0kLyCnX3I4fQhgjAgIfi+HHw5A1Y2ggIMcFKAEnRoL0M3BosI4TI2IATjuT8DvSNJoNNJgkIhxlr9TUHeSpDnfohlIrMBlU+BGmsZqfr69FMfGMw4NoG835+J62riWyjQ/uXlTQjNUIoYegMsBM0pCD8oDas7n4HQsBghXFxJTW42KDs+4XLfjsN0wOYgABqARjMKIHIaAQnmHjsI5Cvi9Cf6k03OoWBkpIP3Q7354+dEimFBKHbMP9oKjwfd9gbrxR5KDToczK4uPF8UgNomKU2GaENRi77zyDKICxKBS4xXYbONPMQMdYZTBwMiMWiUg9g6UJ3OBogzjV8E7sBVwyvfAOYdQhsABzuOxI1MGZbs98Q6Md5UOfbbR2R0eWOesrnRw5ajT6f60LrNhWIHZpBnUWv2s14ukArWWTqTes3YQxRXgFkcMu70TPYqqUBs0YwmO967OVIdTG4bY4a7WLaqgLm5vbHdH5np0Dri//fmg7y8scB4u3+zsuNlH0X+g19bby69b+TYH6isvns8VdQWgxj9tHP8AR5/hSdYqkwsAAAAASUVORK5CYII=
+Mime-Version: 1.0
+Subject: [notmuch] Introducing myself
+X-BeenThere: notmuch@notmuchmail.org
+X-Mailman-Version: 2.1.12
+Precedence: list
+List-Id: "Use and development of the notmuch mail system."
+ <notmuch.notmuchmail.org>
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>
+List-Post: <mailto:notmuch@notmuchmail.org>
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
+Content-Type: multipart/mixed; boundary="===============1167731900=="
+Sender: notmuch-bounces@notmuchmail.org
+Errors-To: notmuch-bounces@notmuchmail.org
+
+--===============1167731900==
+Content-Type: multipart/signed; micalg=PGP-SHA1;
+ boundary="Sig_/ayZz9m37AOMROJCyUudvXvZ"; protocol="application/pgp-signature"
+
+--Sig_/ayZz9m37AOMROJCyUudvXvZ
+Content-Type: text/plain; charset=US-ASCII
+Content-Transfer-Encoding: quoted-printable
+
+
+Hello to all,
+
+I have just heard about Not Much today in some random Linux-related news
+site (LWN?), my name is Adrian Perez and I work as systems administrator
+(although I can do some code as well :P). I have always thought that the
+ideas behind Sup were great, but after some time using it, I got tired of
+the oddities that it has. I also do not like doing things like having to
+install Ruby just for reading and sorting mails. Some time ago I thought
+about doing something like Not Much and in fact I played a bit with the
+Python+Xapian and the Python+Whoosh combinations, because I find relaxing
+to code things in Python when I am not working and also it is installed
+by default on most distribution. I got to have some mailboxes indexed and
+basic searching working a couple of months ago. Lately I have been very
+busy and had no time for coding, and them... boom! Not Much appears -- and
+it is almost exactly what I was trying to do, but faster. I have been
+playing a bit with Not Much today, and I think it has potential.
+
+Also, I would like to share one idea I had in mind, that you might find
+interesting: One thing I have found very annoying is having to re-tag my
+mail when the indexes get b0rked (it happened a couple of times to me while
+using Sup), so I was planning to mails as read/unread and adding the tags
+not just to the index, but to the mail text itself, e.g. by adding a
+"X-Tags" header field or by reusing the "Keywords" one. This way, the index
+could be totally recreated by re-reading the mail directories, and this
+would also allow to a tools like OfflineIMAP [1] to get the mails into a
+local maildir, tagging and indexing the mails with the e-mail reader and
+then syncing back the messages with the "X-Tags" header to the IMAP server.
+This would allow to use the mail reader from a different computer and still
+have everything tagged finely.
+
+Best regards,
+
+
+---
+[1] http://software.complete.org/software/projects/show/offlineimap
+
+--=20
+Adrian Perez de Castro <aperez@igalia.com>
+Igalia - Free Software Engineering
+
+--Sig_/ayZz9m37AOMROJCyUudvXvZ
+Content-Type: application/pgp-signature; name=signature.asc
+Content-Disposition: attachment; filename=signature.asc
+
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.13 (GNU/Linux)
+
+iEYEARECAAYFAksDL+AACgkQkcVZ2+TJEjtsuQCfXmilW8WpMQHCnwwJjRE1PWZy
+oFAAn3MmXC5sW7MvCFjs7ks6U16zgMEg
+=eL9p
+-----END PGP SIGNATURE-----
+
+--Sig_/ayZz9m37AOMROJCyUudvXvZ--
+
+--===============1167731900==
+Content-Type: text/plain; charset="us-ascii"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Content-Disposition: inline
+
+_______________________________________________
+notmuch mailing list
+notmuch@notmuchmail.org
+http://notmuchmail.org/mailman/listinfo/notmuch
+
+--===============1167731900==--
+
--- /dev/null
+MIME-Version: 1.0
+Date: Tue, 17 Nov 2009 16:23:53 -0800
+Message-ID: <cf0c4d610911171623q3e27a0adx802e47039b57604b@mail.gmail.com>
+From: Alex Botero-Lowry <alex.boterolowry@gmail.com>
+To: notmuch@notmuchmail.org
+Content-Type: multipart/mixed; boundary=0016e64ca4d8f27a4804789a4139
+Subject: [notmuch] [PATCH] Error out if no query is supplied to search
+ instead of going into an infinite loop
+X-BeenThere: notmuch@notmuchmail.org
+X-Mailman-Version: 2.1.12
+Precedence: list
+List-Id: "Use and development of the notmuch mail system."
+ <notmuch.notmuchmail.org>
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>
+List-Post: <mailto:notmuch@notmuchmail.org>
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
+Sender: notmuch-bounces@notmuchmail.org
+Errors-To: notmuch-bounces@notmuchmail.org
+
+--0016e64ca4d8f27a4804789a4139
+Content-Type: multipart/alternative; boundary=0016e64ca4d8f27a3604789a4137
+
+--0016e64ca4d8f27a3604789a4137
+Content-Type: text/plain; charset=ISO-8859-1
+
+In this case error out when no query is supplied. There seems to be an
+infinite-loop casued by i think notmuch_query_search_threads having
+an exception:
+
+A Xapian exception occurred: Syntax: <expression> AND <expression>
+A Xapian exception occurred: Syntax: <expression> AND <expression>
+A Xapian exception occurred: Syntax: <expression> AND <expression>
+A Xapian exception occurred: Syntax: <expression> AND <expression>
+A Xapian exception occurred: Syntax: <expression> AND <expression>
+A Xapian exception occurred: Syntax: <expression> AND <expression>
+A Xapian exception occurred: Syntax: <expression> AND <expression>
+A Xapian exception occurred: Syntax: <expression> AND <expression>
+A Xapian exception occurred: Syntax: <expression> AND <expression>
+A Xapian exception occurred: Syntax: <expression> AND <expression>
+A Xapian exception occurred: Syntax: <expression> AND <expression>
+A Xapian exception occurred: Syntax: <expression> AND <expression>
+A Xapian exception occurred: Syntax: <expression> AND <expression>
+A Xapian exception occurred: Syntax: <expression> AND <expression>
+A Xapian exception occurred: Syntax: <expression> AND <expression>
+
+I'll look into that bug specifically a bit later.
+
+It might be better to do a usage instead of just throwing an error here?
+
+alex
+
+--0016e64ca4d8f27a3604789a4137
+Content-Type: text/html; charset=ISO-8859-1
+
+In this case error out when no query is supplied. There seems to be an infinite-loop casued by i think notmuch_query_search_threads having<br>an exception:<br><br>A Xapian exception occurred: Syntax: <expression> AND <expression><br>
+A Xapian exception occurred: Syntax: <expression> AND <expression><br>A Xapian exception occurred: Syntax: <expression> AND <expression><br>A Xapian exception occurred: Syntax: <expression> AND <expression><br>
+A Xapian exception occurred: Syntax: <expression> AND <expression><br>A Xapian exception occurred: Syntax: <expression> AND <expression><br>A Xapian exception occurred: Syntax: <expression> AND <expression><br>
+A Xapian exception occurred: Syntax: <expression> AND <expression><br>A Xapian exception occurred: Syntax: <expression> AND <expression><br>A Xapian exception occurred: Syntax: <expression> AND <expression><br>
+A Xapian exception occurred: Syntax: <expression> AND <expression><br>A Xapian exception occurred: Syntax: <expression> AND <expression><br>A Xapian exception occurred: Syntax: <expression> AND <expression><br>
+A Xapian exception occurred: Syntax: <expression> AND <expression><br>A Xapian exception occurred: Syntax: <expression> AND <expression><br><br>I'll look into that bug specifically a bit later.<br>
+<br>It might be better to do a usage instead of just throwing an error here?<br><br>alex<br>
+
+--0016e64ca4d8f27a3604789a4137--
+--0016e64ca4d8f27a4804789a4139
+Content-Type: application/octet-stream;
+ name="0001-Error-out-if-no-query-is-supplied-to-search-instead-.patch"
+Content-Disposition: attachment;
+ filename="0001-Error-out-if-no-query-is-supplied-to-search-instead-.patch"
+Content-Transfer-Encoding: base64
+X-Attachment-Id: f_g25cms190
+
+RnJvbSAzZjk0MzFmNzRhNWZmNjZjODRjODY5YTNlMjZjMmJhZDQyYmVkMWIxIE1vbiBTZXAgMTcg
+MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4YW5kZXIgQm90ZXJvLUxvd3J5IDxhbGV4LmJvdGVyb2xv
+d3J5QGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAxNyBOb3YgMjAwOSAxNjoyMDoyOCAtMDgwMApTdWJq
+ZWN0OiBbUEFUQ0hdIEVycm9yIG91dCBpZiBubyBxdWVyeSBpcyBzdXBwbGllZCB0byBzZWFyY2gg
+aW5zdGVhZCBvZiBnb2luZyBpbnRvIGFuIGluZmluaXRlIGxvb3AKCi0tLQogbm90bXVjaC1zZWFy
+Y2guYyB8ICAgIDUgKysrKysKIDEgZmlsZXMgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAwIGRl
+bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25vdG11Y2gtc2VhcmNoLmMgYi9ub3RtdWNoLXNlYXJj
+aC5jCmluZGV4IDhkYjA5YzcuLmQ5NGZjY2QgMTAwNjQ0Ci0tLSBhL25vdG11Y2gtc2VhcmNoLmMK
+KysrIGIvbm90bXVjaC1zZWFyY2guYwpAQCAtNjYsNiArNjYsMTEgQEAgbm90bXVjaF9zZWFyY2hf
+Y29tbWFuZCAodm9pZCAqY3R4LCBpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgIGFyZ2MgLT0g
+aTsKICAgICBhcmd2ICs9IGk7CiAKKyAgICBpZiAoYXJnYyA9PSAwKSB7CisgICAgICAgIGZwcmlu
+dGYgKHN0ZGVyciwgIk5vIHF1ZXJ5IHByb3ZpZGVkXG4iKTsKKyAgICAgICAgcmV0dXJuIDE7Cisg
+ICAgfQorCiAgICAgY29uZmlnID0gbm90bXVjaF9jb25maWdfb3BlbiAoY3R4LCBOVUxMLCBOVUxM
+KTsKICAgICBpZiAoY29uZmlnID09IE5VTEwpCiAJcmV0dXJuIDE7Ci0tIAoxLjYuNS4yCgo=
+--0016e64ca4d8f27a4804789a4139
+Content-Type: text/plain; charset="us-ascii"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Content-Disposition: inline
+
+_______________________________________________
+notmuch mailing list
+notmuch@notmuchmail.org
+http://notmuchmail.org/mailman/listinfo/notmuch
+
+--0016e64ca4d8f27a4804789a4139--
+
--- /dev/null
+Date: Tue, 17 Nov 2009 19:50:40 -0500
+From: Lars Kellogg-Stedman <lars@seas.harvard.edu>
+To: Keith Packard <keithp@keithp.com>
+Message-ID: <20091118005040.GA25380@dottiness.seas.harvard.edu>
+References: <20091117190054.GU3165@dottiness.seas.harvard.edu>
+ <87iqd9rn3l.fsf@vertex.dottedmag>
+ <20091117203301.GV3165@dottiness.seas.harvard.edu>
+ <yunaayketfm.fsf@aiko.keithp.com>
+MIME-Version: 1.0
+In-Reply-To: <yunaayketfm.fsf@aiko.keithp.com>
+User-Agent: Mutt/1.5.19 (2009-01-05)
+Cc: notmuch@notmuchmail.org
+Subject: Re: [notmuch] Working with Maildir storage?
+X-BeenThere: notmuch@notmuchmail.org
+X-Mailman-Version: 2.1.12
+Precedence: list
+List-Id: "Use and development of the notmuch mail system."
+ <notmuch.notmuchmail.org>
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>
+List-Post: <mailto:notmuch@notmuchmail.org>
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
+Content-Type: multipart/mixed; boundary="===============1483126515=="
+Sender: notmuch-bounces@notmuchmail.org
+Errors-To: notmuch-bounces@notmuchmail.org
+
+
+--===============1483126515==
+Content-Type: multipart/signed; micalg=pgp-sha256;
+ protocol="application/pgp-signature"; boundary="9amGYk9869ThD9tj"
+Content-Disposition: inline
+
+
+--9amGYk9869ThD9tj
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: inline
+Content-Transfer-Encoding: quoted-printable
+
+> I've also pushed a slightly more complicated (and complete) fix to my
+> private notmuch repository
+
+The version of lib/messages.cc in your repo doesn't build because it's
+missing "#include <stdint.h>" (for the uint32_t on line 466).
+
+--=20
+Lars Kellogg-Stedman <lars@seas.harvard.edu>
+Senior Technologist, Computing and Information Technology
+Harvard University School of Engineering and Applied Sciences
+
+
+--9amGYk9869ThD9tj
+Content-Type: application/pgp-signature
+Content-Disposition: inline
+
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQEcBAEBCAAGBQJLA0TgAAoJENdGlQYxQazYsG0IAJ1t9h4Q3ma8z8ejeKR22Xh0
+WcuRX2x9yEXy/+aG9W7Mot0mqUQCiLdmHM/2h5N9BFHyJvfOUf8lmssrJ5OS/kp5
+j7FIx3GUELBmEZqFUPjRSQPk1hZURYdRsloKkrbQ2kAivjjb50zAAQ8Av4Cgj6cS
+3HvNNmeVfJt1NS75vm+/wn48M8Vrcdv4gvNlSOhgFOixknvRoxSyNDOHYBKvHnSV
+2HnO0GzhAQzDZAwdHBzJtb8vRmglrH33TVdrE7OW+sojYB3Wyz8r9+HIt8Q8ovzX
+nQ8p0Nf5DlF7tye3JYo0EeNm5EQJ4q0YyVYInhmtpi3A5Cyu50GcB/GZ5Sd6ajo=
+=WULe
+-----END PGP SIGNATURE-----
+
+--9amGYk9869ThD9tj--
+
+--===============1483126515==
+Content-Type: text/plain; charset="us-ascii"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Content-Disposition: inline
+
+_______________________________________________
+notmuch mailing list
+notmuch@notmuchmail.org
+http://notmuchmail.org/mailman/listinfo/notmuch
+
+--===============1483126515==--
+
+++ /dev/null
-From: "Mikhail Gusarov" <dottedmag@dottedmag.net>
-To: notmuch@notmuchmail.org
-Date: Tue, 17 Nov 2009 21:28:37 +0600
-Subject: [notmuch] [PATCH 1/2] Close message file after parsing message
- headers
-Message-ID: <1258471718-6781-1-git-send-email-dottedmag@dottedmag.net>
-
-Keeping unused files open helps to see "Too many open files" often.
-
-Signed-off-by: Mikhail Gusarov <dottedmag at dottedmag.net>
----
- lib/message-file.c | 5 +++++
- 1 files changed, 5 insertions(+), 0 deletions(-)
-
-diff --git a/lib/message-file.c b/lib/message-file.c
-index 8a3f8ee..197ab01 100644
---- a/lib/message-file.c
-+++ b/lib/message-file.c
-@@ -325,6 +325,11 @@ notmuch_message_file_get_header (notmuch_message_file_t *message,
- return decoded_value;
- }
-
-+ if (message->parsing_finished) {
-+ fclose (message->file);
-+ message->file = NULL;
-+ }
-+
- if (message->line)
- free (message->line);
- message->line = NULL;
---
-1.6.3.3
-
-
+++ /dev/null
-From: "Mikhail Gusarov" <dottedmag@dottedmag.net>
-To: notmuch@notmuchmail.org
-Date: Tue, 17 Nov 2009 21:28:38 +0600
-Subject: [notmuch] [PATCH 2/2] Include <stdint.h> to get uint32_t in C++
- file with gcc 4.4
-In-Reply-To: <1258471718-6781-1-git-send-email-dottedmag@dottedmag.net>
-References: <1258471718-6781-1-git-send-email-dottedmag@dottedmag.net>
-Message-ID: <1258471718-6781-2-git-send-email-dottedmag@dottedmag.net>
-
-
-Signed-off-by: Mikhail Gusarov <dottedmag at dottedmag.net>
----
- lib/message.cc | 2 ++
- 1 files changed, 2 insertions(+), 0 deletions(-)
-
-diff --git a/lib/message.cc b/lib/message.cc
-index 72c350f..a4b090b 100644
---- a/lib/message.cc
-+++ b/lib/message.cc
-@@ -21,6 +21,8 @@
- #include "notmuch-private.h"
- #include "database-private.h"
-
-+#include <stdint.h>
-+
- #include <gmime/gmime.h>
-
- #include <xapian.h>
---
-1.6.3.3
-
-
+++ /dev/null
-Date: Tue, 17 Nov 2009 14:00:54 -0500
-From: Lars Kellogg-Stedman <lars@seas.harvard.edu>
-To: notmuch@notmuchmail.org
-Message-ID: <20091117190054.GU3165@dottiness.seas.harvard.edu>
-MIME-Version: 1.0
-User-Agent: Mutt/1.5.19 (2009-01-05)
-Subject: [notmuch] Working with Maildir storage?
-X-BeenThere: notmuch@notmuchmail.org
-X-Mailman-Version: 2.1.12
-Precedence: list
-List-Id: "Use and development of the notmuch mail system."
- <notmuch.notmuchmail.org>
-List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
- <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
-List-Archive: <http://notmuchmail.org/pipermail/notmuch>
-List-Post: <mailto:notmuch@notmuchmail.org>
-List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
-List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
- <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
-Content-Type: multipart/mixed; boundary="===============1685355122=="
-Sender: notmuch-bounces@notmuchmail.org
-Errors-To: notmuch-bounces@notmuchmail.org
-
-
---===============1685355122==
-Content-Type: multipart/signed; micalg=pgp-sha256;
- protocol="application/pgp-signature"; boundary="5Dr6Wqe9hdyl7LAI"
-Content-Disposition: inline
-
-
---5Dr6Wqe9hdyl7LAI
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline
-Content-Transfer-Encoding: quoted-printable
-
-I saw the LWN article and decided to take a look at notmuch. I'm
-currently using mutt and mairix to index and read a collection of
-Maildir mail folders (around 40,000 messages total).
-
-notmuch indexed the messages without complaint, but my attempt at
-searching bombed out. Running, for example:
-
- notmuch search storage
-
-Resulted in 4604 lines of errors along the lines of:
-
- Error opening
- /home/lars/Mail/read-messages.2008/cur/1246413773.24928_27334.hostname,U=
-=3D3026:2,S:
- Too many open files
-
-I'm curious if this is expected behavior (i.e., notmuch does not work
-with Maildir) or if something else is going on.
-
-Cheers,
-
---=20
-Lars Kellogg-Stedman <lars@seas.harvard.edu>
-Senior Technologist, Computing and Information Technology
-Harvard University School of Engineering and Applied Sciences
-
-
---5Dr6Wqe9hdyl7LAI
-Content-Type: application/pgp-signature
-Content-Disposition: inline
-
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.9 (GNU/Linux)
-
-iQEcBAEBCAAGBQJLAvLmAAoJENdGlQYxQazYRtcH/0usClQ1Z+EoTsA+URwIK6hD
-FsZUxFxRjMuOQRn2idZ/zhhg5jJj11ZaHjqxSkDvi2ywkTKUf1vX9LLzVy5hSR9M
-E6XQUd5QWAQXo1VsTeKkukIL0YqsPjdgrT8+Yt+OS2NvhEncql23oxnL2/pHkIFq
-r0NdTmVV5Jcar7w9J6X1Mi9m229a/9jV5FImsWISkIhIWznXU5SiU6zIw8xhP4E0
-xhvVSNJnFryjVHtva870aSQduhHfeLPzpYhqbkMPvlq+bcz6Q/Q2SwxJcGLNMPHa
-os9s9FGhCvFKUhVzezHWPgXNCcNT8qK89rcUldb5Oq4jaJb8RCZCYABplfoyaFs=
-=vO4s
------END PGP SIGNATURE-----
-
---5Dr6Wqe9hdyl7LAI--
-
---===============1685355122==
-Content-Type: text/plain; charset="us-ascii"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Content-Disposition: inline
-
-_______________________________________________
-notmuch mailing list
-notmuch@notmuchmail.org
-http://notmuchmail.org/mailman/listinfo/notmuch
-
---===============1685355122==--
-
+++ /dev/null
-From: Mikhail Gusarov <dottedmag@dottedmag.net>
-To: notmuch@notmuchmail.org
-References: <20091117190054.GU3165@dottiness.seas.harvard.edu>
-Date: Wed, 18 Nov 2009 01:02:38 +0600
-In-Reply-To: <20091117190054.GU3165@dottiness.seas.harvard.edu> (Lars
- Kellogg-Stedman's message of "Tue, 17 Nov 2009 14:00:54 -0500")
-Message-ID: <87iqd9rn3l.fsf@vertex.dottedmag>
-User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)
-MIME-Version: 1.0
-Subject: Re: [notmuch] Working with Maildir storage?
-X-BeenThere: notmuch@notmuchmail.org
-X-Mailman-Version: 2.1.12
-Precedence: list
-List-Id: "Use and development of the notmuch mail system."
- <notmuch.notmuchmail.org>
-List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
- <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
-List-Archive: <http://notmuchmail.org/pipermail/notmuch>
-List-Post: <mailto:notmuch@notmuchmail.org>
-List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
-List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
- <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
-Content-Type: multipart/mixed; boundary="===============1958295626=="
-Sender: notmuch-bounces@notmuchmail.org
-Errors-To: notmuch-bounces@notmuchmail.org
-
---===============1958295626==
-Content-Type: multipart/signed; boundary="=-=-=";
- micalg=pgp-sha1; protocol="application/pgp-signature"
-
---=-=-=
-Content-Transfer-Encoding: quoted-printable
-
-
-Twas brillig at 14:00:54 17.11.2009 UTC-05 when lars@seas.harvard.edu did g=
-yre and gimble:
-
- LK> Resulted in 4604 lines of errors along the lines of:
-
- LK> Error opening
- LK> /home/lars/Mail/read-messages.2008/cur/1246413773.24928_27334.hostna=
-me,U=3D3026:2,S:
- LK> Too many open files
-
-See the patch just posted here.
-
-=2D-=20
- http://fossarchy.blogspot.com/
-
---=-=-=
-Content-Type: application/pgp-signature
-
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.9 (GNU/Linux)
-
-iQIcBAEBAgAGBQJLAvNOAAoJEJ0g9lA+M4iIjLYQAKp0PXEgl3JMOEBisH52AsIK
-CzzfP4Fzd41K9VH/c1EdQWDYR6FCAA4IUSNICnJhITsYUb0eC5AKJiey3JP0+rmd
-s4qEFBKH2iuphv8Llltcv2Q8DyPuJBkVa3mO9XCCeABZ6v4UvnTSWRVG12csSEih
-ScgienU8sMrM9LwvvVI1ZB2flm2TzsH2hWi30jIgmtBntIKJaTgbFXB50FYFwULa
-gGL/oH3u+YpumedWzPZdCJrw2q7nMvYx8aQ29EDCNLZibAZe+6oDTa6Fv6/0ldpQ
-U+DptR0nJGbJTWa26OTSvmyeIORjAfM+TEI68n7KO9VHYPmVh6awcf0MNKYh2xWk
-eRQNBcKyQNWxeKyCCpT/rrTlpxBWahpvg+V8lkDH2W09wjRp6CUKvifK3Sz3am9m
-5ZUMpvXbwkZD6Ci6l/QytbYK50e8UpvFSu5DBaxBz59ykoypuNg2ayO5Kdi6IF5d
-T+Sw6wo8UKn9a33+vheIc0fkhZXbeSotEmDm7huazm6CgM3dcWXUpTuJvik1cSWp
-4buv98gY6IKWKoUTXODWUr+7VR4gei8du8qOsKem+QDfNX7tmaIRjhrbB24B91Wy
-td3MTJD7GjMNid0INqRY1CRMLo8YlPaq6NBZfcYtYgwa6gpJijz1/MAn8+GMrfhF
-9LI8b9jopNP+pMYBohLA
-=/ksP
------END PGP SIGNATURE-----
---=-=-=--
-
---===============1958295626==
-Content-Type: text/plain; charset="us-ascii"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Content-Disposition: inline
-
-_______________________________________________
-notmuch mailing list
-notmuch@notmuchmail.org
-http://notmuchmail.org/mailman/listinfo/notmuch
-
---===============1958295626==--
-
+++ /dev/null
-MIME-Version: 1.0
-Date: Tue, 17 Nov 2009 11:36:14 -0800
-Message-ID: <cf0c4d610911171136h1713aa59w9cf9aa31f052ad0a@mail.gmail.com>
-From: Alex Botero-Lowry <alex.boterolowry@gmail.com>
-To: notmuch@notmuchmail.org
-Content-Type: multipart/mixed; boundary=0016e687869333b1570478963d35
-Subject: [notmuch] preliminary FreeBSD support
-X-BeenThere: notmuch@notmuchmail.org
-X-Mailman-Version: 2.1.12
-Precedence: list
-List-Id: "Use and development of the notmuch mail system."
- <notmuch.notmuchmail.org>
-List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
- <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
-List-Archive: <http://notmuchmail.org/pipermail/notmuch>
-List-Post: <mailto:notmuch@notmuchmail.org>
-List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
-List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
- <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
-Sender: notmuch-bounces@notmuchmail.org
-Errors-To: notmuch-bounces@notmuchmail.org
-
---0016e687869333b1570478963d35
-Content-Type: multipart/alternative; boundary=0016e687869333b14e0478963d33
-
---0016e687869333b14e0478963d33
-Content-Type: text/plain; charset=ISO-8859-1
-
-I saw the announcement this morning, and was very excited, as I had been
-hoping sup would be turned into a library,
-since I like the concept more than the UI (I'd rather an emacs interface).
-
-I did a preliminary compile which worked out fine, but
-sysconf(_SC_SC_GETPW_R_SIZE_MAX) returns -1 on
-FreeBSD, so notmuch_config_open segfaulted.
-
-Attached is a patch that supplies a default buffer size of 64 in cases where
--1 is returned.
-
-http://www.opengroup.org/austin/docs/austin_328.txt - seems to indicate this
-is acceptable behavior,
-and http://mail-index.netbsd.org/pkgsrc-bugs/2006/06/07/msg016808.htmlspecifically
-uses 64 as the
-buffer size.
-
---0016e687869333b14e0478963d33
-Content-Type: text/html; charset=ISO-8859-1
-Content-Transfer-Encoding: quoted-printable
-
-I saw the announcement this morning, and was very excited, as I had been ho=
-ping sup would be turned into a library,<br>since I like the concept more t=
-han the UI (I'd rather an emacs interface).<br><br>I did a preliminary =
-compile which worked out fine, but sysconf(_SC_SC_GETPW_R_SIZE_MAX) returns=
- -1 on<br>
-FreeBSD, so notmuch_config_open segfaulted.<br><br>Attached is a patch that=
- supplies a default buffer size of 64 in cases where -1 is returned.<br><br=
-><a href=3D"http://www.opengroup.org/austin/docs/austin_328.txt">http://www=
-.opengroup.org/austin/docs/austin_328.txt</a> - seems to indicate this is a=
-cceptable behavior,<br>
-and <a href=3D"http://mail-index.netbsd.org/pkgsrc-bugs/2006/06/07/msg01680=
-8.html">http://mail-index.netbsd.org/pkgsrc-bugs/2006/06/07/msg016808.html<=
-/a> specifically uses 64 as the<br>buffer size.<br><br><br>
-
---0016e687869333b14e0478963d33--
---0016e687869333b1570478963d35
-Content-Type: application/octet-stream;
- name="0001-Deal-with-situation-where-sysconf-_SC_GETPW_R_SIZE_M.patch"
-Content-Disposition: attachment;
- filename="0001-Deal-with-situation-where-sysconf-_SC_GETPW_R_SIZE_M.patch"
-Content-Transfer-Encoding: base64
-X-Attachment-Id: f_g252e6gs0
-
-RnJvbSBlM2JjNGJiZDdiOWQwZDA4NjgxNmFiNWY4ZjJkNmZmZWExZGQzZWE0IE1vbiBTZXAgMTcg
-MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4YW5kZXIgQm90ZXJvLUxvd3J5IDxhbGV4LmJvdGVyb2xv
-d3J5QGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAxNyBOb3YgMjAwOSAxMTozMDozOSAtMDgwMApTdWJq
-ZWN0OiBbUEFUQ0hdIERlYWwgd2l0aCBzaXR1YXRpb24gd2hlcmUgc3lzY29uZihfU0NfR0VUUFdf
-Ul9TSVpFX01BWCkgcmV0dXJucyAtMQoKLS0tCiBub3RtdWNoLWNvbmZpZy5jIHwgICAgMiArKwog
-MSBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCgpkaWZmIC0t
-Z2l0IGEvbm90bXVjaC1jb25maWcuYyBiL25vdG11Y2gtY29uZmlnLmMKaW5kZXggMjQ4MTQ5Yy4u
-ZTcyMjBkOCAxMDA2NDQKLS0tIGEvbm90bXVjaC1jb25maWcuYworKysgYi9ub3RtdWNoLWNvbmZp
-Zy5jCkBAIC03Nyw2ICs3Nyw3IEBAIHN0YXRpYyBjaGFyICoKIGdldF9uYW1lX2Zyb21fcGFzc3dk
-X2ZpbGUgKHZvaWQgKmN0eCkKIHsKICAgICBsb25nIHB3X2J1Zl9zaXplID0gc3lzY29uZihfU0Nf
-R0VUUFdfUl9TSVpFX01BWCk7CisgICAgaWYgKHB3X2J1Zl9zaXplID09IC0xKSBwd19idWZfc2l6
-ZSA9IDY0OwogICAgIGNoYXIgKnB3X2J1ZiA9IHRhbGxvY196ZXJvX3NpemUgKGN0eCwgcHdfYnVm
-X3NpemUpOwogICAgIHN0cnVjdCBwYXNzd2QgcGFzc3dkLCAqaWdub3JlZDsKICAgICBjaGFyICpu
-YW1lOwpAQCAtMTAxLDYgKzEwMiw3IEBAIHN0YXRpYyBjaGFyICoKIGdldF91c2VybmFtZV9mcm9t
-X3Bhc3N3ZF9maWxlICh2b2lkICpjdHgpCiB7CiAgICAgbG9uZyBwd19idWZfc2l6ZSA9IHN5c2Nv
-bmYoX1NDX0dFVFBXX1JfU0laRV9NQVgpOworICAgIGlmIChwd19idWZfc2l6ZSA9PSAtMSkgcHdf
-YnVmX3NpemUgPSA2NDsKICAgICBjaGFyICpwd19idWYgPSB0YWxsb2NfemVyb19zaXplIChjdHgs
-IHB3X2J1Zl9zaXplKTsKICAgICBzdHJ1Y3QgcGFzc3dkIHBhc3N3ZCwgKmlnbm9yZWQ7CiAgICAg
-Y2hhciAqbmFtZTsKLS0gCjEuNi41LjIKCg==
---0016e687869333b1570478963d35
-Content-Type: text/plain; charset="us-ascii"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Content-Disposition: inline
-
-_______________________________________________
-notmuch mailing list
-notmuch@notmuchmail.org
-http://notmuchmail.org/mailman/listinfo/notmuch
-
---0016e687869333b1570478963d35--
-
+++ /dev/null
-From: "Carl Worth" <cworth@cworth.org>
-To: notmuch@notmuchmail.org
-Date: Tue, 17 Nov 2009 12:19:24 -0800
-Subject: [notmuch] preliminary FreeBSD support
-In-Reply-To: <cf0c4d610911171136h1713aa59w9cf9aa31f052ad0a@mail.gmail.com>
-References: <cf0c4d610911171136h1713aa59w9cf9aa31f052ad0a@mail.gmail.com>
-Message-ID: <87lji4lx9v.fsf@yoom.home.cworth.org>
-
-On Tue, 17 Nov 2009 11:36:14 -0800, Alex Botero-Lowry <alex.boterolowry at gmail.com> wrote:
-> I saw the announcement this morning, and was very excited, as I had been
-> hoping sup would be turned into a library,
-> since I like the concept more than the UI (I'd rather an emacs interface).
-
-Hi Alex,
-
-That's great! It's good to hear that there are like-minded people out
-there. I hope that Notmuch will be useful for you.
-
-> I did a preliminary compile which worked out fine, but
-> sysconf(_SC_SC_GETPW_R_SIZE_MAX) returns -1 on
-> FreeBSD, so notmuch_config_open segfaulted.
->
-> Attached is a patch that supplies a default buffer size of 64 in cases where
-> -1 is returned.
-
-Thanks for the patch. As we discussed in IRC[*], we should probably
-do the correct thing and check for ERANGE and loop as necessary (even if
-sysconf returns a positive value). Example code here:
-
-http://www.opengroup.org/austin/docs/austin_328.txt
-
--Carl
-
-[*] #notmuch on irc.freenode.net for those who didn't just guess that
-already, (and I'll add that to the website soon).
-
+++ /dev/null
-From: "Carl Worth" <cworth@cworth.org>
-To: notmuch@notmuchmail.org
-Date: Tue, 17 Nov 2009 09:13:27 -0800
-Subject: [notmuch] [PATCH 1/2] Close message file after parsing message
- headers
-In-Reply-To: <1258471718-6781-1-git-send-email-dottedmag@dottedmag.net>
-References: <1258471718-6781-1-git-send-email-dottedmag@dottedmag.net>
-Message-ID: <87lji5cbwo.fsf@yoom.home.cworth.org>
-
-On Tue, 17 Nov 2009 21:28:37 +0600, Mikhail Gusarov <dottedmag at dottedmag.net> wrote:
-> Keeping unused files open helps to see "Too many open files" often.
->
-> Signed-off-by: Mikhail Gusarov <dottedmag at dottedmag.net>
-...
-On Tue, 17 Nov 2009 21:28:38 +0600, Mikhail Gusarov <dottedmag at dottedmag.net> wrote:
->
-> Signed-off-by: Mikhail Gusarov <dottedmag at dottedmag.net>
-> ---
-> lib/message.cc | 2 ++
-> 1 files changed, 2 insertions(+), 0 deletions(-)
-
-Hi Mikhail,
-
-Welcome to notmuch, and thanks for these patches! I've pushed both of
-them out now.
-
-Keith ran into the same problem of "too many open files" and wrote a
-more complex fix, (which included what you did here). His code can be
-seen at:
-
- git://keithp.com/git/notmuch
-
-I didn't apply Keith's fix yet, because I think I'd rather just fix the
-indexer to store the In-Reply-To header in a separate term prefix from
-the term used for the References header[*]. That will then let us lookup
-the in-reply-to value later for thread constructions without having to
-open the original email file at all.
-
--Carl
-
-[*] Yes, this is my first post to our new mailing list and I'm already
-spouting off about "terms" and "prefixes" without any definitions. I
-apologize for that. I hope that people will ask questions freely here on
-the list whenever anything is not clear, and I'll be glad to explain
-things as needed. (Then when can shove answers into a HACKING document.)
-
-PS. This reply is a great example of a feature that notmuch *almost*
-supports already---repling to multiple messages at once. The "notmuch
-reply" command line does everything necessary to make this work, but we
-haven't yet hooked up any keybindings for this in the emacs client yet.
-Obviously, 'r' from the search view could reply to the entire thread.
-But when viewing a thread, anyone have a good keybinding suggestion?
-(There's obviously 'R' as opposed to 'r', but I think we'll probably
-want to distinguish "reply to sender" from "reply to all" before trying
-to distinguish "reply to message" from "reply to thread" (which I
-imagine is more rare of an operation).
-
+++ /dev/null
-Date: Tue, 17 Nov 2009 15:33:01 -0500
-From: Lars Kellogg-Stedman <lars@seas.harvard.edu>
-To: Mikhail Gusarov <dottedmag@dottedmag.net>
-Message-ID: <20091117203301.GV3165@dottiness.seas.harvard.edu>
-References: <20091117190054.GU3165@dottiness.seas.harvard.edu>
- <87iqd9rn3l.fsf@vertex.dottedmag>
-MIME-Version: 1.0
-In-Reply-To: <87iqd9rn3l.fsf@vertex.dottedmag>
-User-Agent: Mutt/1.5.19 (2009-01-05)
-Cc: notmuch@notmuchmail.org
-Subject: Re: [notmuch] Working with Maildir storage?
-X-BeenThere: notmuch@notmuchmail.org
-X-Mailman-Version: 2.1.12
-Precedence: list
-List-Id: "Use and development of the notmuch mail system."
- <notmuch.notmuchmail.org>
-List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
- <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
-List-Archive: <http://notmuchmail.org/pipermail/notmuch>
-List-Post: <mailto:notmuch@notmuchmail.org>
-List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
-List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
- <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
-Content-Type: multipart/mixed; boundary="===============0063752545=="
-Sender: notmuch-bounces@notmuchmail.org
-Errors-To: notmuch-bounces@notmuchmail.org
-
-
---===============0063752545==
-Content-Type: multipart/signed; micalg=pgp-sha256;
- protocol="application/pgp-signature"; boundary="GGxZz/e2pmGePzrA"
-Content-Disposition: inline
-
-
---GGxZz/e2pmGePzrA
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline
-Content-Transfer-Encoding: quoted-printable
-
-> See the patch just posted here.
-
-Is the list archived anywhere? The obvious archives
-(http://notmuchmail.org/pipermail/notmuch/) aren't available, and I
-think I subscribed too late to get the patch (I only just saw the
-discussion about it).
-
-It doesn't look like the patch is in git yet.
-
--- Lars
-
---=20
-Lars Kellogg-Stedman <lars@seas.harvard.edu>
-Senior Technologist, Computing and Information Technology
-Harvard University School of Engineering and Applied Sciences
-
-
---GGxZz/e2pmGePzrA
-Content-Type: application/pgp-signature
-Content-Disposition: inline
-
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.9 (GNU/Linux)
-
-iQEcBAEBCAAGBQJLAwh9AAoJENdGlQYxQazYHJMIAI+XTPOyBTZIxEGTdgVKd2fR
-k27ucKs6lXozfMIIGchNUDXQho+KmiuTfX1XFJeBkqOlhrd9zlGjBGoBM0YBq/Gs
-aStPdonREzsHORjmyQCCpjg4AcqCRTXFbDXzAeXlxMPOrZ3P0XNPzTEM1mVksbmg
-mBBDLdHncy4sSCfFgXwRGGgLv9z5Acqm8xGYr68c9PIXY939ozIKV9LVUhxiNz9g
-We2a9rLDhfwxUqDlGdiNwZZimiKvD/fsYSrBZMDb5HgIYkeNZ4SD8Xu+OgB550wN
-OFfwGi3o8WFK2AyDe5QJDh9Ub+euPNlVzePoGpkltZEHuCcLFJqCHv5XYpbxcjA=
-=GO2Q
------END PGP SIGNATURE-----
-
---GGxZz/e2pmGePzrA--
-
---===============0063752545==
-Content-Type: text/plain; charset="us-ascii"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Content-Disposition: inline
-
-_______________________________________________
-notmuch mailing list
-notmuch@notmuchmail.org
-http://notmuchmail.org/mailman/listinfo/notmuch
-
---===============0063752545==--
-
+++ /dev/null
-From: "Mikhail Gusarov" <dottedmag@dottedmag.net>
-To: notmuch@notmuchmail.org
-Date: Wed, 18 Nov 2009 02:50:48 +0600
-Subject: [notmuch] Working with Maildir storage?
-In-Reply-To: <20091117203301.GV3165@dottiness.seas.harvard.edu> (Lars
- Kellogg-Stedman's message of "Tue, 17 Nov 2009 15:33:01 -0500")
-References: <20091117190054.GU3165@dottiness.seas.harvard.edu>
- <87iqd9rn3l.fsf@vertex.dottedmag>
- <20091117203301.GV3165@dottiness.seas.harvard.edu>
-Message-ID: <87fx8can9z.fsf@vertex.dottedmag>
-
-
-Twas brillig at 15:33:01 17.11.2009 UTC-05 when lars at seas.harvard.edu did gyre and gimble:
-
- LK> Is the list archived anywhere? The obvious archives
- LK> (http://notmuchmail.org/pipermail/notmuch/) aren't available, and I
- LK> think I subscribed too late to get the patch (I only just saw the
- LK> discussion about it).
-
- LK> It doesn't look like the patch is in git yet.
-
-Just has been pushed
-
---
- http://fossarchy.blogspot.com/
--------------- next part --------------
-A non-text attachment was scrubbed...
-Name: not available
-Type: application/pgp-signature
-Size: 834 bytes
-Desc: not available
-URL: <http://notmuchmail.org/pipermail/notmuch/attachments/20091118/0e33d964/attachment.pgp>
-
+++ /dev/null
-From: "Mikhail Gusarov" <dottedmag@dottedmag.net>
-To: notmuch@notmuchmail.org
-Date: Wed, 18 Nov 2009 02:51:18 +0600
-Subject: [notmuch] [PATCH] Handle rename of message file
-Message-ID: <1258491078-29658-1-git-send-email-dottedmag@dottedmag.net>
-
-If message file has been renamed, just update filename in the DB.
-
-Signed-off-by: Mikhail Gusarov <dottedmag at dottedmag.net>
----
- lib/database.cc | 21 ++++++++++++---------
- 1 files changed, 12 insertions(+), 9 deletions(-)
-
-diff --git a/lib/database.cc b/lib/database.cc
-index 3c8d626..c4eb8b6 100644
---- a/lib/database.cc
-+++ b/lib/database.cc
-@@ -925,20 +925,23 @@ notmuch_database_add_message (notmuch_database_t *notmuch,
- if (private_status == NOTMUCH_PRIVATE_STATUS_NO_DOCUMENT_FOUND) {
- _notmuch_message_set_filename (message, filename);
- _notmuch_message_add_term (message, "type", "mail");
-+
-+ ret = _notmuch_database_link_message (notmuch, message, message_file);
-+ if (ret)
-+ goto DONE;
-+
-+ date = notmuch_message_file_get_header (message_file, "date");
-+ _notmuch_message_set_date (message, date);
-+
-+ _notmuch_message_index_file (message, filename);
-+ } else if (strcmp(notmuch_message_get_filename(message), filename)) {
-+ /* Message file has been moved/renamed */
-+ _notmuch_message_set_filename (message, filename);
- } else {
- ret = NOTMUCH_STATUS_DUPLICATE_MESSAGE_ID;
- goto DONE;
- }
-
-- ret = _notmuch_database_link_message (notmuch, message, message_file);
-- if (ret)
-- goto DONE;
--
-- date = notmuch_message_file_get_header (message_file, "date");
-- _notmuch_message_set_date (message, date);
--
-- _notmuch_message_index_file (message, filename);
--
- _notmuch_message_sync (message);
- } catch (const Xapian::Error &error) {
- fprintf (stderr, "A Xapian exception occurred: %s.\n",
---
-1.6.3.3
-
-
+++ /dev/null
-From: "Keith Packard" <keithp@keithp.com>
-To: notmuch@notmuchmail.org
-Date: Tue, 17 Nov 2009 13:15:25 -0800
-Subject: [notmuch] [PATCH 1/2] Close message file after parsing message
- headers
-In-Reply-To: <87lji5cbwo.fsf@yoom.home.cworth.org>
-References: <1258471718-6781-1-git-send-email-dottedmag@dottedmag.net>
- <87lji5cbwo.fsf@yoom.home.cworth.org>
-Message-ID: <yunbpj0etua.fsf@aiko.keithp.com>
-
-On Tue, 17 Nov 2009 09:13:27 -0800, Carl Worth <cworth at cworth.org> wrote:
-
-> I didn't apply Keith's fix yet, because I think I'd rather just fix the
-> indexer to store the In-Reply-To header in a separate term prefix from
-> the term used for the References header[*]. That will then let us lookup
-> the in-reply-to value later for thread constructions without having to
-> open the original email file at all.
-
-Threading the message also involves displaying the from and to contents,
-which requires opening the message file. The alternative to the fix I
-provided is to just parse all of the message headers when first opening
-the message; it could then be immediately closed and the hash referred
-to for all header data. Given the choice, just having the caller say
-when it has finished with a message is probably a reasonable option...
-
--keith
-
+++ /dev/null
-From: "Keith Packard" <keithp@keithp.com>
-To: notmuch@notmuchmail.org
-Date: Tue, 17 Nov 2009 13:24:13 -0800
-Subject: [notmuch] Working with Maildir storage?
-In-Reply-To: <20091117203301.GV3165@dottiness.seas.harvard.edu>
-References: <20091117190054.GU3165@dottiness.seas.harvard.edu>
- <87iqd9rn3l.fsf@vertex.dottedmag>
- <20091117203301.GV3165@dottiness.seas.harvard.edu>
-Message-ID: <yunaayketfm.fsf@aiko.keithp.com>
-
-On Tue, 17 Nov 2009 15:33:01 -0500, Lars Kellogg-Stedman <lars at seas.harvard.edu> wrote:
-> > See the patch just posted here.
-
-I've also pushed a slightly more complicated (and complete) fix to my
-private notmuch repository
-
-git://keithp.com/git/notmuch
-
-> Is the list archived anywhere?
-
-Oops. Looks like Carl's mail server is broken. He's traveling to
-Barcelona today and so it won't get fixed for a while.
-
-Thanks to everyone for trying out notmuch!
-
--keith
-
+++ /dev/null
-From: "Keith Packard" <keithp@keithp.com>
-To: notmuch@notmuchmail.org
-Date: Tue, 17 Nov 2009 13:32:45 -0800
-Subject: [notmuch] [PATCH] Make notmuch-show 'X' (and 'x') commands remove
- inbox (and unread) tags
-Message-ID: <1258493565-13508-1-git-send-email-keithp@keithp.com>
-
-When closing a thread view, mark the thread as archived by removing
-the "inbox" tag, and for the 'x' variant, the "unread" tag as well,
-then kill the buffer and update the search window view as well.
-
-This makes 'x' much the same as 'a', but instead of taking you to the
-next message, it takes you back to the search window instead.
-
-Signed-off-by: Keith Packard <keithp at keithp.com>
----
- notmuch.el | 86 ++++++++++++++++++++++++++++++++++++++++++++++-------------
- 1 files changed, 67 insertions(+), 19 deletions(-)
-
-diff --git a/notmuch.el b/notmuch.el
-index 638d49d..7b0d72c 100644
---- a/notmuch.el
-+++ b/notmuch.el
-@@ -31,8 +31,8 @@
- ; Will be much preferable to switch to direct manipulation for
- ; toggling visibility of these components. Probably using
- ; overlays-at to query and manipulate the current overlay.
-- (define-key map "a" 'notmuch-show-archive-thread)
-- (define-key map "A" 'notmuch-show-mark-read-then-archive-thread)
-+ (define-key map "a" 'notmuch-show-mark-read-archive-thread-next-thread)
-+ (define-key map "A" 'notmuch-show-archive-thread-next-thread)
- (define-key map "b" 'notmuch-show-toggle-body-read-visible)
- (define-key map "c" 'notmuch-show-toggle-citations-visible)
- (define-key map "h" 'notmuch-show-toggle-headers-visible)
-@@ -47,7 +47,8 @@
- (define-key map "s" 'notmuch-show-toggle-signatures-visible)
- (define-key map "v" 'notmuch-show-view-all-mime-parts)
- (define-key map "w" 'notmuch-show-view-raw-message)
-- (define-key map "x" 'kill-this-buffer)
-+ (define-key map "x" 'notmuch-show-mark-read-archive-thread-kill-buffer)
-+ (define-key map "X" 'notmuch-show-archive-thread-kill-buffer)
- (define-key map "+" 'notmuch-show-add-tag)
- (define-key map "-" 'notmuch-show-remove-tag)
- (define-key map (kbd "DEL") 'notmuch-show-rewind)
-@@ -183,7 +184,33 @@ Unlike builtin `next-line' this version accepts no arguments."
- (cons (notmuch-show-get-message-id) nil)))
- (notmuch-show-set-tags (sort (set-difference tags toremove :test 'string=) 'string<))))))
-
--(defun notmuch-show-archive-thread-maybe-mark-read (markread)
-+(defun notmuch-show-next-thread (markread)
-+ (let ((parent-buffer notmuch-show-parent-buffer))
-+ (kill-this-buffer)
-+ (if parent-buffer
-+ (progn
-+ (switch-to-buffer parent-buffer)
-+ (forward-line)
-+ (notmuch-search-show-thread)))))
-+
-+(defun notmuch-delete-tags (to-remove from)
-+ (if to-remove
-+ (delete (car to-remove) (notmuch-delete-tags (cdr to-remove) from))
-+ from))
-+
-+(defun notmuch-kill-message-buffer (markread)
-+ (let ((parent-buffer notmuch-show-parent-buffer))
-+ (kill-this-buffer)
-+ (if parent-buffer
-+ (progn
-+ (switch-to-buffer parent-buffer)
-+ (let ((tags (notmuch-search-get-tags)))
-+ (setq tags (delete "inbox" tags))
-+ (if markread (setq tags (delete "unread" tags)))
-+ (notmuch-search-set-tags tags))
-+ (forward-line)))))
-+
-+(defun notmuch-show-archive-thread-maybe-mark-read (markread shownext)
- (save-excursion
- (goto-char (point-min))
- (while (not (eobp))
-@@ -194,15 +221,9 @@ Unlike builtin `next-line' this version accepts no arguments."
- (forward-char))
- (if (not (re-search-forward notmuch-show-message-begin-regexp nil t))
- (goto-char (point-max)))))
-- (let ((parent-buffer notmuch-show-parent-buffer))
-- (kill-this-buffer)
-- (if parent-buffer
-- (progn
-- (switch-to-buffer parent-buffer)
-- (forward-line)
-- (notmuch-search-show-thread)))))
-+ (if shownext (notmuch-show-next-thread markread) (notmuch-kill-message-buffer markread)))
-
--(defun notmuch-show-mark-read-then-archive-thread ()
-+(defun notmuch-show-mark-read-archive-thread-next-thread ()
- "Remove \"unread\" tag from each message, then archive and show next thread.
-
- Archive each message currrently shown by removing the \"unread\"
-@@ -215,9 +236,22 @@ being delivered to the same thread. It does not archive the
- entire thread, but only the messages shown in the current
- buffer."
- (interactive)
-- (notmuch-show-archive-thread-maybe-mark-read t))
-+ (notmuch-show-archive-thread-maybe-mark-read t t))
-+
-+(defun notmuch-show-mark-read-archive-thread-kill-buffer ()
-+ "Remove \"unread\" tag from each message, then archive and kill the buffer.
-+
-+Archive each message currrently shown by removing the \"unread\"
-+and \"inbox\" tag from each. Then kill this buffer.
-+
-+Note: This command is safe from any race condition of new messages
-+being delivered to the same thread. It does not archive the
-+entire thread, but only the messages shown in the current
-+buffer."
-+ (interactive)
-+ (notmuch-show-archive-thread-maybe-mark-read t nil))
-
--(defun notmuch-show-archive-thread ()
-+(defun notmuch-show-archive-thread-next-thread ()
- "Archive each message in thread, and show next thread from search.
-
- Archive each message currrently shown by removing the \"inbox\"
-@@ -229,7 +263,20 @@ being delivered to the same thread. It does not archive the
- entire thread, but only the messages shown in the current
- buffer."
- (interactive)
-- (notmuch-show-archive-thread-maybe-mark-read nil))
-+ (notmuch-show-archive-thread-maybe-mark-read nil t))
-+
-+(defun notmuch-show-archive-thread-kill-buffer ()
-+ "Archive each message in thread, and kill the thread buffer.
-+
-+Archive each message currrently shown by removing the \"inbox\"
-+tag from each. Then kill this buffer.
-+
-+Note: This command is safe from any race condition of new messages
-+being delivered to the same thread. It does not archive the
-+entire thread, but only the messages shown in the current
-+buffer."
-+ (interactive)
-+ (notmuch-show-archive-thread-maybe-mark-read nil t))
-
- (defun notmuch-show-view-raw-message ()
- "View the raw email of the current message."
-@@ -297,7 +344,7 @@ by searching backward)."
- (not (re-search-forward notmuch-show-message-begin-regexp nil t)))))
-
- (defun notmuch-show-message-unread-p ()
-- "Preficate testing whether current message is unread."
-+ "Predicate testing whether current message is unread."
- (member "unread" (notmuch-show-get-tags)))
-
- (defun notmuch-show-next-message ()
-@@ -434,7 +481,7 @@ which this thread was originally shown."
- (let ((last (notmuch-show-last-message-p)))
- (notmuch-show-mark-read-then-next-open-message)
- (if last
-- (notmuch-show-archive-thread))))))
-+ (notmuch-show-archive-thread-next-thread))))))
-
- (defun notmuch-show-markup-citations-region (beg end depth)
- (goto-char beg)
-@@ -618,8 +665,9 @@ messages. Each time you navigate away from a message with
-
- You can add or remove tags from the current message with '+' and
- '-'. You can also archive all messages in the current
--view, (remove the \"inbox\" tag from each), with
--`notmuch-show-archive-thread' (bound to 'a' by default).
-+view, (remove the \"inbox\" tag from each), with either
-+`notmuch-show-archive-thread-next-thread' (bound to 'a' by default) or
-+`notmuch-show-archive-thread-kill-buffer' (bound to 'x' by default).
-
- \\{notmuch-show-mode-map}"
- (interactive)
---
-1.6.5.2
-
-
+++ /dev/null
-From: "Jan Janak" <jan@ryngle.com>
-To: notmuch@notmuchmail.org
-Date: Tue, 17 Nov 2009 23:18:47 +0100
-Subject: [notmuch] [PATCH] Older versions of install do not support -C.
-Message-ID: <1258496327-12086-1-git-send-email-jan@ryngle.com>
-
-Do not use -C cmdline option of install, older versions, commonly found in
-distributions like Debian, do not seem to support it. Running make install
-on such systems (tested on Debian Lenny) fails.
-
-Signed-off-by: Jan Janak <jan at ryngle.com>
----
- Makefile.local | 8 ++++----
- 1 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/Makefile.local b/Makefile.local
-index f824bed..f51f1d1 100644
---- a/Makefile.local
-+++ b/Makefile.local
-@@ -27,11 +27,11 @@ install: all notmuch.1.gz
- for d in $(DESTDIR)$(prefix)/bin/ $(DESTDIR)$(prefix)/share/man/man1 \
- $(DESTDIR)/etc/bash_completion.d/ ; \
- do \
-- install -C -d $$d ; \
-+ install -d $$d ; \
- done ;
-- install -C notmuch $(DESTDIR)$(prefix)/bin/
-- install -C -m0644 notmuch.1.gz $(DESTDIR)$(prefix)/share/man/man1/
-- install -C notmuch-completion.bash \
-+ install notmuch $(DESTDIR)$(prefix)/bin/
-+ install -m0644 notmuch.1.gz $(DESTDIR)$(prefix)/share/man/man1/
-+ install notmuch-completion.bash \
- $(DESTDIR)/etc/bash_completion.d/notmuch
-
- SRCS := $(SRCS) $(notmuch_client_srcs)
---
-1.6.3.3
-
-
+++ /dev/null
-From: "Jan Janak" <jan@ryngle.com>
-To: notmuch@notmuchmail.org
-Date: Tue, 17 Nov 2009 23:35:30 +0100
-Subject: [notmuch] What a great idea!
-Message-ID: <f35dbb950911171435ieecd458o853c873e35f4be95@mail.gmail.com>
-
-Hello,
-
-First of all, notmuch is a wonderful idea, both the cmdline tool and
-the emacs interface! Thanks a lot for writing it, I was really excited
-when I read the announcement today.
-
-Have you considered sending an announcement to the org-mode mailing list?
-http://org-mode.org
-
-Various ways of searching/referencing emails from emacs were discussed
-there several times and none of them were as elegant as notmuch (not
-even close). Maybe notmuch would attract some of the developers
-there..
-
- -- Jan
-
+++ /dev/null
-From: "Jan Janak" <jan@ryngle.com>
-To: notmuch@notmuchmail.org
-Date: Tue, 17 Nov 2009 23:38:47 +0100
-Subject: [notmuch] What a great idea!
-In-Reply-To: <f35dbb950911171435ieecd458o853c873e35f4be95@mail.gmail.com>
-References: <f35dbb950911171435ieecd458o853c873e35f4be95@mail.gmail.com>
-Message-ID: <f35dbb950911171438k5df6eb56k77b6c0944e2e79ae@mail.gmail.com>
-
-On Tue, Nov 17, 2009 at 11:35 PM, Jan Janak <jan at ryngle.com> wrote:
-> Hello,
->
-> First of all, notmuch is a wonderful idea, both the cmdline tool and
-> the emacs interface! Thanks a lot for writing it, I was really excited
-> when I read the announcement today.
->
-> Have you considered sending an announcement to the org-mode mailing list?
-> http://org-mode.org
-
-Sorry, wrong URL, the correct one is: http://orgmode.org
-
-> Various ways of searching/referencing emails from emacs were discussed
-> there several times and none of them were as elegant as notmuch (not
-> even close). Maybe notmuch would attract some of the developers
-> there..
-
- -- Jan
-
+++ /dev/null
-From: "Israel Herraiz" <isra@herraiz.org>
-To: notmuch@notmuchmail.org
-Date: Tue, 17 Nov 2009 23:57:18 +0100
-Subject: [notmuch] New to the list
-Message-ID: <1258498485-sup-142@elly>
-
-Hi all,
-
-I have subscribed to the list. As suggested by the welcome message, I
-am introducing myself. My name is Israel Herraiz, and I have done a
-couple of contributions to Sup, the probably well-known here e-mail
-client.
-
-"Not much" sounds interesting, and I wonder whether it could be
-integrated with the views of Sup (inbox, threads, etc). So I have
-subscribed to the list to keep an eye on what's going on here.
-
-I have just heard of "Not much". I have not even tried to download the
-code yet.
-
-Cheers,
-Israel
-
+++ /dev/null
-From: "Aron Griffis" <agriffis@n01se.net>
-To: notmuch@notmuchmail.org
-Date: Tue, 17 Nov 2009 18:21:38 -0500
-Subject: [notmuch] archive
-Message-ID: <20091117232137.GA7669@griffis1.net>
-
-Just subscribed, I'd like to catch up on the previous postings,
-but the archive link seems to be bogus?
-
-Thanks,
-Aron
-
+++ /dev/null
-From: "Ingmar Vanhassel" <ingmar@exherbo.org>
-To: notmuch@notmuchmail.org
-Date: Wed, 18 Nov 2009 00:23:42 +0100
-Subject: [notmuch] [PATCH] Typsos
-Message-ID: <1258500222-32066-1-git-send-email-ingmar@exherbo.org>
-
----
- Makefile | 4 ++--
- README | 6 +++---
- gmime-filter-reply.h | 2 +-
- lib/database.cc | 2 +-
- lib/index.cc | 2 +-
- lib/message.cc | 2 +-
- lib/messages.c | 2 +-
- lib/notmuch-private.h | 2 +-
- lib/notmuch.h | 10 +++++-----
- lib/sha1.c | 2 +-
- lib/thread.cc | 2 +-
- notmuch-completion.bash | 2 +-
- notmuch-new.c | 4 ++--
- notmuch-search.c | 2 +-
- notmuch.1 | 4 ++--
- notmuch.el | 10 +++++-----
- show-message.c | 2 +-
- 17 files changed, 30 insertions(+), 30 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 436dacf..96aaa73 100644
---- a/Makefile
-+++ b/Makefile
-@@ -1,4 +1,4 @@
--# Default FLAGS, (can be overriden by user such as "make CFLAGS=-O2")
-+# Default FLAGS, (can be overridden by user such as "make CFLAGS=-O2")
- WARN_FLAGS=-Wall -Wextra -Wmissing-declarations -Wwrite-strings -Wswitch-enum
- CFLAGS=-O2
-
-@@ -14,7 +14,7 @@ override CXXFLAGS += $(WARN_FLAGS) $(extra_cflags) $(extra_cxxflags)
- override LDFLAGS += `pkg-config --libs glib-2.0 gmime-2.4 talloc` \
- `xapian-config --libs`
-
--# Include our local Makfile.local first so that its first target is default
-+# Include our local Makefile.local first so that its first target is default
- include Makefile.local
- include lib/Makefile.local
-
-diff --git a/README b/README
-index 40f05ab..27af77f 100644
---- a/README
-+++ b/README
-@@ -3,7 +3,7 @@ Notmuch - thread-based email index, search and tagging.
- Notmuch is a system for indexing, searching, reading, and tagging
- large collections of email messages. It uses the Xapian library to
- provide fast, full-text search of very large collection of email with
--a very convenient search syntas.
-+a very convenient search syntax.
-
- Notmuch is free software, released under the GNU General Public
- License version 3 (or later).
-@@ -45,7 +45,7 @@ obtaining a more sophisticated interface:
- notmuch.el file in this distribution.
-
- If someone were to write a curses-based interface, or similar,
-- it might also be reasonable to buil on the "notmuch"
-+ it might also be reasonable to build on the "notmuch"
- command-line interface.
-
- 2. Build on top of the notmuch library interface.
-@@ -67,4 +67,4 @@ still in development. We would appreciate any contributions to these
- efforts.
-
-
--
-\ No newline at end of file
-+
-diff --git a/gmime-filter-reply.h b/gmime-filter-reply.h
-index 41cbc13..b7cbc6b 100644
---- a/gmime-filter-reply.h
-+++ b/gmime-filter-reply.h
-@@ -40,7 +40,7 @@ typedef struct _GMimeFilterReplyClass GMimeFilterReplyClass;
- * @saw_nl: previous char was a \n
- * @saw_angle: previous char was a >
- *
-- * A filter to insert/remove reply markers (lines begining with >)
-+ * A filter to insert/remove reply markers (lines beginning with >)
- **/
- struct _GMimeFilterReply {
- GMimeFilter parent_object;
-diff --git a/lib/database.cc b/lib/database.cc
-index 3c8d626..27597cf 100644
---- a/lib/database.cc
-+++ b/lib/database.cc
-@@ -180,7 +180,7 @@ notmuch_status_to_string (notmuch_status_t status)
- case NOTMUCH_STATUS_TAG_TOO_LONG:
- return "Tag value is too long (exceeds NOTMUCH_TAG_MAX)";
- case NOTMUCH_STATUS_UNBALANCED_FREEZE_THAW:
-- return "Unblanced number of calls to notmuch_message_freeze/thaw";
-+ return "Unbalanced number of calls to notmuch_message_freeze/thaw";
- default:
- case NOTMUCH_STATUS_LAST_STATUS:
- return "Unknown error status value";
-diff --git a/lib/index.cc b/lib/index.cc
-index 65b83b3..80df64b 100644
---- a/lib/index.cc
-+++ b/lib/index.cc
-@@ -198,7 +198,7 @@ _index_mime_part (notmuch_message_t *message,
- if (i == 1)
- continue;
- if (i > 1)
-- fprintf (stderr, "Warning: Unexpected extra parts of mutlipart/signed. Indexing anyway.\n");
-+ fprintf (stderr, "Warning: Unexpected extra parts of multipart/signed. Indexing anyway.\n");
- }
- _index_mime_part (message,
- g_mime_multipart_get_part (multipart, i));
-diff --git a/lib/message.cc b/lib/message.cc
-index a4b090b..1d6623f 100644
---- a/lib/message.cc
-+++ b/lib/message.cc
-@@ -144,7 +144,7 @@ _notmuch_message_create (const void *talloc_owner,
- }
-
- /* Create a new notmuch_message_t object for a specific message ID,
-- * (which may or may not already exist in the databas).
-+ * (which may or may not already exist in the database).
- *
- * Here, 'talloc owner' is an optional talloc context to which the new
- * message will belong. This allows for the caller to not bother
-diff --git a/lib/messages.c b/lib/messages.c
-index a588f8f..2f7c283 100644
---- a/lib/messages.c
-+++ b/lib/messages.c
-@@ -47,7 +47,7 @@ _notmuch_message_list_create (const void *ctx)
- return list;
- }
-
--/* Append 'node' (which can of course point to an aribtrarily long
-+/* Append 'node' (which can of course point to an arbitrarily long
- * list of nodes) to the end of 'list'.
- */
- void
-diff --git a/lib/notmuch-private.h b/lib/notmuch-private.h
-index 6036ce4..af82e58 100644
---- a/lib/notmuch-private.h
-+++ b/lib/notmuch-private.h
-@@ -235,7 +235,7 @@ notmuch_message_file_open (const char *filename);
- notmuch_message_file_t *
- _notmuch_message_file_open_ctx (void *ctx, const char *filename);
-
--/* Close a notmuch message preivously opened with notmuch_message_open. */
-+/* Close a notmuch message previously opened with notmuch_message_open. */
- void
- notmuch_message_file_close (notmuch_message_file_t *message);
-
-diff --git a/lib/notmuch.h b/lib/notmuch.h
-index 32b5332..384c177 100644
---- a/lib/notmuch.h
-+++ b/lib/notmuch.h
-@@ -222,7 +222,7 @@ notmuch_database_get_timestamp (notmuch_database_t *database,
-
- /* Add a new message to the given notmuch database.
- *
-- * Here,'filename' should be a path relative to the the path of
-+ * Here,'filename' should be a path relative to the path of
- * 'database' (see notmuch_database_get_path), or else should be an
- * absolute filename with initial components that match the path of
- * 'database'.
-@@ -258,7 +258,7 @@ notmuch_database_add_message (notmuch_database_t *database,
- const char *filename,
- notmuch_message_t **message);
-
--/* Find a message with the given messsage_id.
-+/* Find a message with the given message_id.
- *
- * If the database contains a message with the given message_id, then
- * a new notmuch_message_t object is returned. The caller should call
-@@ -620,7 +620,7 @@ notmuch_messages_advance (notmuch_messages_t *messages);
- /* Destroy a notmuch_messages_t object.
- *
- * It's not strictly necessary to call this function. All memory from
-- * the notmuch_messages_t object will be reclaimed when the containg
-+ * the notmuch_messages_t object will be reclaimed when the containing
- * query object is destroyed.
- */
- void
-@@ -865,7 +865,7 @@ notmuch_tags_has_more (notmuch_tags_t *tags);
- /* Get the current tag from 'tags' as a string.
- *
- * Note: The returned string belongs to 'tags' and has a lifetime
-- * identical to it (and the query to which it utlimately belongs).
-+ * identical to it (and the query to which it ultimately belongs).
- *
- * See the documentation of notmuch_message_get_tags for example code
- * showing how to iterate over a notmuch_tags_t object.
-@@ -884,7 +884,7 @@ notmuch_tags_advance (notmuch_tags_t *tags);
- /* Destroy a notmuch_tags_t object.
- *
- * It's not strictly necessary to call this function. All memory from
-- * the notmuch_tags_t object will be reclaimed when the containg
-+ * the notmuch_tags_t object will be reclaimed when the containing
- * message or query objects are destroyed.
- */
- void
-diff --git a/lib/sha1.c b/lib/sha1.c
-index ff4dd16..cc48108 100644
---- a/lib/sha1.c
-+++ b/lib/sha1.c
-@@ -43,7 +43,7 @@ _hex_of_sha1_digest (const unsigned char digest[SHA1_DIGEST_SIZE])
- return result;
- }
-
--/* Create a hexadcimal string version of the SHA-1 digest of 'str'
-+/* Create a hexadecimal string version of the SHA-1 digest of 'str'
- * (including its null terminating character).
- *
- * This function returns a newly allocated string which the caller
-diff --git a/lib/thread.cc b/lib/thread.cc
-index 4411d64..da58edc 100644
---- a/lib/thread.cc
-+++ b/lib/thread.cc
-@@ -190,7 +190,7 @@ _resolve_thread_relationships (unused (notmuch_thread_t *thread))
- * subject line, the total count of messages, and all authors). The
- * second search is for all messages that are in the thread and that
- * also match the given query_string. This is to allow for a separate
-- * count of matched messages, and to allow a viewer to diplay these
-+ * count of matched messages, and to allow a viewer to display these
- * messages differently.
- *
- * Here, 'ctx' is talloc context for the resulting thread object.
-diff --git a/notmuch-completion.bash b/notmuch-completion.bash
-index ad55f6d..cdad05d 100644
---- a/notmuch-completion.bash
-+++ b/notmuch-completion.bash
-@@ -1,4 +1,4 @@
--# Bash completion for notmutch
-+# Bash completion for notmuch
- #
- # Copyright ?? 2009 Carl Worth
- #
-diff --git a/notmuch-new.c b/notmuch-new.c
-index 83a05ba..5405a9f 100644
---- a/notmuch-new.c
-+++ b/notmuch-new.c
-@@ -303,7 +303,7 @@ add_files (notmuch_database_t *notmuch,
-
- /* XXX: This should be merged with the add_files function since it
- * shares a lot of logic with it. */
--/* Recursively count all regular files in path and all sub-direcotries
-+/* Recursively count all regular files in path and all sub-directories
- * of path. The result is added to *count (which should be
- * initialized to zero by the top-level caller before calling
- * count_files). */
-@@ -469,7 +469,7 @@ notmuch_new_command (void *ctx,
-
- if (elapsed > 1 && ! add_files_state.saw_read_only_directory) {
- printf ("\nTip: If you have any sub-directories that are archives (that is,\n"
-- "they will never receive new mail), marking these directores as\n"
-+ "they will never receive new mail), marking these directories as\n"
- "read-only (chmod u-w /path/to/dir) will make \"notmuch new\"\n"
- "much more efficient (it won't even look in those directories).\n");
- }
-diff --git a/notmuch-search.c b/notmuch-search.c
-index 8db09c7..ac81372 100644
---- a/notmuch-search.c
-+++ b/notmuch-search.c
-@@ -76,7 +76,7 @@ notmuch_search_command (void *ctx, int argc, char *argv[])
-
- query_str = query_string_from_args (ctx, argc, argv);
- if (query_str == NULL) {
-- fprintf (stderr, "Out of moemory.\n");
-+ fprintf (stderr, "Out of memory.\n");
- return 1;
- }
-
-diff --git a/notmuch.1 b/notmuch.1
-index 6c3d10f..86d5f59 100644
---- a/notmuch.1
-+++ b/notmuch.1
-@@ -60,7 +60,7 @@ archives, and will then proceed to build a database that indexes the
- mail to allow for fast search of the archive.
-
- This directory can contain any number of sub-directories and should
--primarily contain only files with indvidual email messages
-+primarily contain only files with individual email messages
- (eg. maildir or mh archives are perfect). If there are other,
- non-email files (such as indexes maintained by other email programs)
- then notmuch will do its best to detect those and ignore them.
-@@ -173,7 +173,7 @@ Constructs a reply template for a set of messages.
-
- See the documentation of
- .B search
--for deatils of the supported syntax of search terms.
-+for details of the supported syntax of search terms.
-
- To make replying to email easier,
- .B notmuch reply
-diff --git a/notmuch.el b/notmuch.el
-index 8894a8e..7e01ed6 100644
---- a/notmuch.el
-+++ b/notmuch.el
-@@ -205,7 +205,7 @@ Unlike builtin `next-line' this version accepts no arguments."
- (defun notmuch-show-mark-read-then-archive-thread ()
- "Remove \"unread\" tag from each message, then archive and show next thread.
-
--Archive each message currrently shown by removing the \"unread\"
-+Archive each message currently shown by removing the \"unread\"
- and \"inbox\" tag from each. Then kill this buffer and show the
- next thread from the search from which this thread was originally
- shown.
-@@ -220,7 +220,7 @@ buffer."
- (defun notmuch-show-archive-thread ()
- "Archive each message in thread, and show next thread from search.
-
--Archive each message currrently shown by removing the \"inbox\"
-+Archive each message currently shown by removing the \"inbox\"
- tag from each. Then kill this buffer and show the next thread
- from the search from which this thread was originally shown.
-
-@@ -340,7 +340,7 @@ there are no more unread messages past the current point."
- (notmuch-show-next-message)))
-
- (defun notmuch-show-next-open-message ()
-- "Advance to the the next message which is not hidden.
-+ "Advance to the next message which is not hidden.
-
- If read messages are currently hidden, advance to the next unread
- message. Otherwise, advance to the next message."
-@@ -674,7 +674,7 @@ thread from that buffer can be show when done with this one)."
- )))
-
- (defvar notmuch-search-authors-width 40
-- "Number of columns to use to diplay authors in a notmuch-search buffer.")
-+ "Number of columns to use to display authors in a notmuch-search buffer.")
-
- (defvar notmuch-search-mode-map
- (let ((map (make-sparse-keymap)))
-@@ -910,7 +910,7 @@ the beginning of the buffer).
-
- This command toggles the sort order for the current search.
-
--Note that any fitlered searches created by
-+Note that any filtered searches created by
- `notmuch-search-filter' retain the search order of the parent
- search."
- (interactive)
-diff --git a/show-message.c b/show-message.c
-index 79b02e2..38f5897 100644
---- a/show-message.c
-+++ b/show-message.c
-@@ -38,7 +38,7 @@ show_message_part (GMimeObject *part, int *part_count,
- if (i == 1)
- continue;
- if (i > 1)
-- fprintf (stderr, "Warning: Unexpected extra parts of mutlipart/signed. Continuing.\n");
-+ fprintf (stderr, "Warning: Unexpected extra parts of multipart/signed. Continuing.\n");
- }
- show_message_part (g_mime_multipart_get_part (multipart, i),
- part_count, show_part);
---
-1.6.5.2.433.g23cdb
-
-
+++ /dev/null
-Date: Wed, 18 Nov 2009 00:20:59 +0100
-From: Adrian Perez de Castro <aperez@igalia.com>
-To: notmuch@notmuchmail.org
-Message-ID: <20091118002059.067214ed@hikari>
-Organization: Igalia
-X-Mailer: Claws Mail 3.7.3 (GTK+ 2.18.3; x86_64-redhat-linux-gnu)
-Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAAXNSR0IArs4c6QAAADBQTFRFBwcHFhYWKCgoNzc3SEhIV1dXaGhod3d3iIiIlpaWqKiouLi4x8fH2NjY5+fn/v7+rSjDkgAAAjVJREFUOE9l07tvE0EQwOHfrkV9O+eko7g701BBfECJsIigT2IpooIqaSiRUEB0REj00FBQgYSCkhry+gecUPJybJeIxLumTbilsH2PMNXufDOa3ZVW+1JkpbUmD/8+vXR3c7or4Gz93mH309Kz8/C9/RQge7VfhW/LW+PF8IkrQ7Z6OKmQr1tl+LU/yWP9mxJka9O88fZHPwf/7u0kLyCnX3I4fQhgjAgIfi+HHw5A1Y2ggIMcFKAEnRoL0M3BosI4TI2IATjuT8DvSNJoNNJgkIhxlr9TUHeSpDnfohlIrMBlU+BGmsZqfr69FMfGMw4NoG835+J62riWyjQ/uXlTQjNUIoYegMsBM0pCD8oDas7n4HQsBghXFxJTW42KDs+4XLfjsN0wOYgABqARjMKIHIaAQnmHjsI5Cvi9Cf6k03OoWBkpIP3Q7354+dEimFBKHbMP9oKjwfd9gbrxR5KDToczK4uPF8UgNomKU2GaENRi77zyDKICxKBS4xXYbONPMQMdYZTBwMiMWiUg9g6UJ3OBogzjV8E7sBVwyvfAOYdQhsABzuOxI1MGZbs98Q6Md5UOfbbR2R0eWOesrnRw5ajT6f60LrNhWIHZpBnUWv2s14ukArWWTqTes3YQxRXgFkcMu70TPYqqUBs0YwmO967OVIdTG4bY4a7WLaqgLm5vbHdH5np0Dri//fmg7y8scB4u3+zsuNlH0X+g19bby69b+TYH6isvns8VdQWgxj9tHP8AR5/hSdYqkwsAAAAASUVORK5CYII=
-Mime-Version: 1.0
-Subject: [notmuch] Introducing myself
-X-BeenThere: notmuch@notmuchmail.org
-X-Mailman-Version: 2.1.12
-Precedence: list
-List-Id: "Use and development of the notmuch mail system."
- <notmuch.notmuchmail.org>
-List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
- <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
-List-Archive: <http://notmuchmail.org/pipermail/notmuch>
-List-Post: <mailto:notmuch@notmuchmail.org>
-List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
-List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
- <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
-Content-Type: multipart/mixed; boundary="===============1167731900=="
-Sender: notmuch-bounces@notmuchmail.org
-Errors-To: notmuch-bounces@notmuchmail.org
-
---===============1167731900==
-Content-Type: multipart/signed; micalg=PGP-SHA1;
- boundary="Sig_/ayZz9m37AOMROJCyUudvXvZ"; protocol="application/pgp-signature"
-
---Sig_/ayZz9m37AOMROJCyUudvXvZ
-Content-Type: text/plain; charset=US-ASCII
-Content-Transfer-Encoding: quoted-printable
-
-
-Hello to all,
-
-I have just heard about Not Much today in some random Linux-related news
-site (LWN?), my name is Adrian Perez and I work as systems administrator
-(although I can do some code as well :P). I have always thought that the
-ideas behind Sup were great, but after some time using it, I got tired of
-the oddities that it has. I also do not like doing things like having to
-install Ruby just for reading and sorting mails. Some time ago I thought
-about doing something like Not Much and in fact I played a bit with the
-Python+Xapian and the Python+Whoosh combinations, because I find relaxing
-to code things in Python when I am not working and also it is installed
-by default on most distribution. I got to have some mailboxes indexed and
-basic searching working a couple of months ago. Lately I have been very
-busy and had no time for coding, and them... boom! Not Much appears -- and
-it is almost exactly what I was trying to do, but faster. I have been
-playing a bit with Not Much today, and I think it has potential.
-
-Also, I would like to share one idea I had in mind, that you might find
-interesting: One thing I have found very annoying is having to re-tag my
-mail when the indexes get b0rked (it happened a couple of times to me while
-using Sup), so I was planning to mails as read/unread and adding the tags
-not just to the index, but to the mail text itself, e.g. by adding a
-"X-Tags" header field or by reusing the "Keywords" one. This way, the index
-could be totally recreated by re-reading the mail directories, and this
-would also allow to a tools like OfflineIMAP [1] to get the mails into a
-local maildir, tagging and indexing the mails with the e-mail reader and
-then syncing back the messages with the "X-Tags" header to the IMAP server.
-This would allow to use the mail reader from a different computer and still
-have everything tagged finely.
-
-Best regards,
-
-
----
-[1] http://software.complete.org/software/projects/show/offlineimap
-
---=20
-Adrian Perez de Castro <aperez@igalia.com>
-Igalia - Free Software Engineering
-
---Sig_/ayZz9m37AOMROJCyUudvXvZ
-Content-Type: application/pgp-signature; name=signature.asc
-Content-Disposition: attachment; filename=signature.asc
-
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.13 (GNU/Linux)
-
-iEYEARECAAYFAksDL+AACgkQkcVZ2+TJEjtsuQCfXmilW8WpMQHCnwwJjRE1PWZy
-oFAAn3MmXC5sW7MvCFjs7ks6U16zgMEg
-=eL9p
------END PGP SIGNATURE-----
-
---Sig_/ayZz9m37AOMROJCyUudvXvZ--
-
---===============1167731900==
-Content-Type: text/plain; charset="us-ascii"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Content-Disposition: inline
-
-_______________________________________________
-notmuch mailing list
-notmuch@notmuchmail.org
-http://notmuchmail.org/mailman/listinfo/notmuch
-
---===============1167731900==--
-
+++ /dev/null
-MIME-Version: 1.0
-Date: Tue, 17 Nov 2009 16:23:53 -0800
-Message-ID: <cf0c4d610911171623q3e27a0adx802e47039b57604b@mail.gmail.com>
-From: Alex Botero-Lowry <alex.boterolowry@gmail.com>
-To: notmuch@notmuchmail.org
-Content-Type: multipart/mixed; boundary=0016e64ca4d8f27a4804789a4139
-Subject: [notmuch] [PATCH] Error out if no query is supplied to search
- instead of going into an infinite loop
-X-BeenThere: notmuch@notmuchmail.org
-X-Mailman-Version: 2.1.12
-Precedence: list
-List-Id: "Use and development of the notmuch mail system."
- <notmuch.notmuchmail.org>
-List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
- <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
-List-Archive: <http://notmuchmail.org/pipermail/notmuch>
-List-Post: <mailto:notmuch@notmuchmail.org>
-List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
-List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
- <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
-Sender: notmuch-bounces@notmuchmail.org
-Errors-To: notmuch-bounces@notmuchmail.org
-
---0016e64ca4d8f27a4804789a4139
-Content-Type: multipart/alternative; boundary=0016e64ca4d8f27a3604789a4137
-
---0016e64ca4d8f27a3604789a4137
-Content-Type: text/plain; charset=ISO-8859-1
-
-In this case error out when no query is supplied. There seems to be an
-infinite-loop casued by i think notmuch_query_search_threads having
-an exception:
-
-A Xapian exception occurred: Syntax: <expression> AND <expression>
-A Xapian exception occurred: Syntax: <expression> AND <expression>
-A Xapian exception occurred: Syntax: <expression> AND <expression>
-A Xapian exception occurred: Syntax: <expression> AND <expression>
-A Xapian exception occurred: Syntax: <expression> AND <expression>
-A Xapian exception occurred: Syntax: <expression> AND <expression>
-A Xapian exception occurred: Syntax: <expression> AND <expression>
-A Xapian exception occurred: Syntax: <expression> AND <expression>
-A Xapian exception occurred: Syntax: <expression> AND <expression>
-A Xapian exception occurred: Syntax: <expression> AND <expression>
-A Xapian exception occurred: Syntax: <expression> AND <expression>
-A Xapian exception occurred: Syntax: <expression> AND <expression>
-A Xapian exception occurred: Syntax: <expression> AND <expression>
-A Xapian exception occurred: Syntax: <expression> AND <expression>
-A Xapian exception occurred: Syntax: <expression> AND <expression>
-
-I'll look into that bug specifically a bit later.
-
-It might be better to do a usage instead of just throwing an error here?
-
-alex
-
---0016e64ca4d8f27a3604789a4137
-Content-Type: text/html; charset=ISO-8859-1
-
-In this case error out when no query is supplied. There seems to be an infinite-loop casued by i think notmuch_query_search_threads having<br>an exception:<br><br>A Xapian exception occurred: Syntax: <expression> AND <expression><br>
-A Xapian exception occurred: Syntax: <expression> AND <expression><br>A Xapian exception occurred: Syntax: <expression> AND <expression><br>A Xapian exception occurred: Syntax: <expression> AND <expression><br>
-A Xapian exception occurred: Syntax: <expression> AND <expression><br>A Xapian exception occurred: Syntax: <expression> AND <expression><br>A Xapian exception occurred: Syntax: <expression> AND <expression><br>
-A Xapian exception occurred: Syntax: <expression> AND <expression><br>A Xapian exception occurred: Syntax: <expression> AND <expression><br>A Xapian exception occurred: Syntax: <expression> AND <expression><br>
-A Xapian exception occurred: Syntax: <expression> AND <expression><br>A Xapian exception occurred: Syntax: <expression> AND <expression><br>A Xapian exception occurred: Syntax: <expression> AND <expression><br>
-A Xapian exception occurred: Syntax: <expression> AND <expression><br>A Xapian exception occurred: Syntax: <expression> AND <expression><br><br>I'll look into that bug specifically a bit later.<br>
-<br>It might be better to do a usage instead of just throwing an error here?<br><br>alex<br>
-
---0016e64ca4d8f27a3604789a4137--
---0016e64ca4d8f27a4804789a4139
-Content-Type: application/octet-stream;
- name="0001-Error-out-if-no-query-is-supplied-to-search-instead-.patch"
-Content-Disposition: attachment;
- filename="0001-Error-out-if-no-query-is-supplied-to-search-instead-.patch"
-Content-Transfer-Encoding: base64
-X-Attachment-Id: f_g25cms190
-
-RnJvbSAzZjk0MzFmNzRhNWZmNjZjODRjODY5YTNlMjZjMmJhZDQyYmVkMWIxIE1vbiBTZXAgMTcg
-MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4YW5kZXIgQm90ZXJvLUxvd3J5IDxhbGV4LmJvdGVyb2xv
-d3J5QGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAxNyBOb3YgMjAwOSAxNjoyMDoyOCAtMDgwMApTdWJq
-ZWN0OiBbUEFUQ0hdIEVycm9yIG91dCBpZiBubyBxdWVyeSBpcyBzdXBwbGllZCB0byBzZWFyY2gg
-aW5zdGVhZCBvZiBnb2luZyBpbnRvIGFuIGluZmluaXRlIGxvb3AKCi0tLQogbm90bXVjaC1zZWFy
-Y2guYyB8ICAgIDUgKysrKysKIDEgZmlsZXMgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAwIGRl
-bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25vdG11Y2gtc2VhcmNoLmMgYi9ub3RtdWNoLXNlYXJj
-aC5jCmluZGV4IDhkYjA5YzcuLmQ5NGZjY2QgMTAwNjQ0Ci0tLSBhL25vdG11Y2gtc2VhcmNoLmMK
-KysrIGIvbm90bXVjaC1zZWFyY2guYwpAQCAtNjYsNiArNjYsMTEgQEAgbm90bXVjaF9zZWFyY2hf
-Y29tbWFuZCAodm9pZCAqY3R4LCBpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgIGFyZ2MgLT0g
-aTsKICAgICBhcmd2ICs9IGk7CiAKKyAgICBpZiAoYXJnYyA9PSAwKSB7CisgICAgICAgIGZwcmlu
-dGYgKHN0ZGVyciwgIk5vIHF1ZXJ5IHByb3ZpZGVkXG4iKTsKKyAgICAgICAgcmV0dXJuIDE7Cisg
-ICAgfQorCiAgICAgY29uZmlnID0gbm90bXVjaF9jb25maWdfb3BlbiAoY3R4LCBOVUxMLCBOVUxM
-KTsKICAgICBpZiAoY29uZmlnID09IE5VTEwpCiAJcmV0dXJuIDE7Ci0tIAoxLjYuNS4yCgo=
---0016e64ca4d8f27a4804789a4139
-Content-Type: text/plain; charset="us-ascii"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Content-Disposition: inline
-
-_______________________________________________
-notmuch mailing list
-notmuch@notmuchmail.org
-http://notmuchmail.org/mailman/listinfo/notmuch
-
---0016e64ca4d8f27a4804789a4139--
-
+++ /dev/null
-Date: Tue, 17 Nov 2009 19:50:40 -0500
-From: Lars Kellogg-Stedman <lars@seas.harvard.edu>
-To: Keith Packard <keithp@keithp.com>
-Message-ID: <20091118005040.GA25380@dottiness.seas.harvard.edu>
-References: <20091117190054.GU3165@dottiness.seas.harvard.edu>
- <87iqd9rn3l.fsf@vertex.dottedmag>
- <20091117203301.GV3165@dottiness.seas.harvard.edu>
- <yunaayketfm.fsf@aiko.keithp.com>
-MIME-Version: 1.0
-In-Reply-To: <yunaayketfm.fsf@aiko.keithp.com>
-User-Agent: Mutt/1.5.19 (2009-01-05)
-Cc: notmuch@notmuchmail.org
-Subject: Re: [notmuch] Working with Maildir storage?
-X-BeenThere: notmuch@notmuchmail.org
-X-Mailman-Version: 2.1.12
-Precedence: list
-List-Id: "Use and development of the notmuch mail system."
- <notmuch.notmuchmail.org>
-List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
- <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
-List-Archive: <http://notmuchmail.org/pipermail/notmuch>
-List-Post: <mailto:notmuch@notmuchmail.org>
-List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
-List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
- <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
-Content-Type: multipart/mixed; boundary="===============1483126515=="
-Sender: notmuch-bounces@notmuchmail.org
-Errors-To: notmuch-bounces@notmuchmail.org
-
-
---===============1483126515==
-Content-Type: multipart/signed; micalg=pgp-sha256;
- protocol="application/pgp-signature"; boundary="9amGYk9869ThD9tj"
-Content-Disposition: inline
-
-
---9amGYk9869ThD9tj
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline
-Content-Transfer-Encoding: quoted-printable
-
-> I've also pushed a slightly more complicated (and complete) fix to my
-> private notmuch repository
-
-The version of lib/messages.cc in your repo doesn't build because it's
-missing "#include <stdint.h>" (for the uint32_t on line 466).
-
---=20
-Lars Kellogg-Stedman <lars@seas.harvard.edu>
-Senior Technologist, Computing and Information Technology
-Harvard University School of Engineering and Applied Sciences
-
-
---9amGYk9869ThD9tj
-Content-Type: application/pgp-signature
-Content-Disposition: inline
-
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.9 (GNU/Linux)
-
-iQEcBAEBCAAGBQJLA0TgAAoJENdGlQYxQazYsG0IAJ1t9h4Q3ma8z8ejeKR22Xh0
-WcuRX2x9yEXy/+aG9W7Mot0mqUQCiLdmHM/2h5N9BFHyJvfOUf8lmssrJ5OS/kp5
-j7FIx3GUELBmEZqFUPjRSQPk1hZURYdRsloKkrbQ2kAivjjb50zAAQ8Av4Cgj6cS
-3HvNNmeVfJt1NS75vm+/wn48M8Vrcdv4gvNlSOhgFOixknvRoxSyNDOHYBKvHnSV
-2HnO0GzhAQzDZAwdHBzJtb8vRmglrH33TVdrE7OW+sojYB3Wyz8r9+HIt8Q8ovzX
-nQ8p0Nf5DlF7tye3JYo0EeNm5EQJ4q0YyVYInhmtpi3A5Cyu50GcB/GZ5Sd6ajo=
-=WULe
------END PGP SIGNATURE-----
-
---9amGYk9869ThD9tj--
-
---===============1483126515==
-Content-Type: text/plain; charset="us-ascii"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Content-Disposition: inline
-
-_______________________________________________
-notmuch mailing list
-notmuch@notmuchmail.org
-http://notmuchmail.org/mailman/listinfo/notmuch
-
---===============1483126515==--
-
+++ /dev/null
-Date: Tue, 17 Nov 2009 19:58:29 -0500
-From: Lars Kellogg-Stedman <lars@seas.harvard.edu>
-To: notmuch <notmuch@notmuchmail.org>
-Message-ID: <20091118005829.GB25380@dottiness.seas.harvard.edu>
-MIME-Version: 1.0
-User-Agent: Mutt/1.5.19 (2009-01-05)
-Subject: [notmuch] "notmuch help" outputs to stderr?
-X-BeenThere: notmuch@notmuchmail.org
-X-Mailman-Version: 2.1.12
-Precedence: list
-List-Id: "Use and development of the notmuch mail system."
- <notmuch.notmuchmail.org>
-List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
- <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
-List-Archive: <http://notmuchmail.org/pipermail/notmuch>
-List-Post: <mailto:notmuch@notmuchmail.org>
-List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
-List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
- <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
-Content-Type: multipart/mixed; boundary="===============1359248349=="
-Sender: notmuch-bounces@notmuchmail.org
-Errors-To: notmuch-bounces@notmuchmail.org
-
-
---===============1359248349==
-Content-Type: multipart/signed; micalg=pgp-sha256;
- protocol="application/pgp-signature"; boundary="L6iaP+gRLNZHKoI4"
-Content-Disposition: inline
-
-
---L6iaP+gRLNZHKoI4
-Content-Type: multipart/mixed; boundary="z6Eq5LdranGa6ru8"
-Content-Disposition: inline
-
-
---z6Eq5LdranGa6ru8
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline
-Content-Transfer-Encoding: quoted-printable
-
-I'm just noticing that 'notmuch help ...' outputs to stderr, which
-isn't terribly intuitive. For example, the obvious invocation:
-
- notmuch help | less
-
-=2E..isn't terribly helpful.
-
-I've attached a patch that lets usage() take a FILE * argument so that
-you can output to stderr in response to usage errors, and stdout in
-response to an explicit request.
-
---=20
-Lars Kellogg-Stedman <lars@seas.harvard.edu>
-Senior Technologist, Computing and Information Technology
-Harvard University School of Engineering and Applied Sciences
-
-
---z6Eq5LdranGa6ru8
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: attachment; filename="notmuch-help.patch"
-Content-Transfer-Encoding: quoted-printable
-
-diff --git a/notmuch.c b/notmuch.c
-index c47e640..a35cb99 100644
---- a/notmuch.c
-+++ b/notmuch.c
-@@ -157,23 +157,23 @@ command_t commands[] =3D {
- };
-=20
- static void
--usage (void)
-+usage (FILE *out)
- {
- command_t *command;
- unsigned int i;
-=20
-- fprintf (stderr, "Usage: notmuch <command> [args...]\n");
-- fprintf (stderr, "\n");
-- fprintf (stderr, "Where <command> and [args...] are as follows:\n");
-- fprintf (stderr, "\n");
-+ fprintf (out, "Usage: notmuch <command> [args...]\n");
-+ fprintf (out, "\n");
-+ fprintf (out, "Where <command> and [args...] are as follows:\n");
-+ fprintf (out, "\n");
-=20
- for (i =3D 0; i < ARRAY_SIZE (commands); i++) {
- command =3D &commands[i];
-=20
-- fprintf (stderr, "\t%s\t%s\n\n", command->name, command->summary);
-+ fprintf (out, "\t%s\t%s\n\n", command->name, command->summary);
- }
-=20
-- fprintf (stderr, "Use \"notmuch help <command>\" for more details on e=
-ach command.\n\n");
-+ fprintf (out, "Use \"notmuch help <command>\" for more details on each=
- command.\n\n");
- }
-=20
- static int
-@@ -183,8 +183,8 @@ notmuch_help_command (unused (void *ctx), int argc, cha=
-r *argv[])
- unsigned int i;
-=20
- if (argc =3D=3D 0) {
-- fprintf (stderr, "The notmuch mail system.\n\n");
-- usage ();
-+ fprintf (stdout, "The notmuch mail system.\n\n");
-+ usage (stdout);
- return 0;
- }
-=20
-
---z6Eq5LdranGa6ru8--
-
---L6iaP+gRLNZHKoI4
-Content-Type: application/pgp-signature
-Content-Disposition: inline
-
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.9 (GNU/Linux)
-
-iQEcBAEBCAAGBQJLA0a1AAoJENdGlQYxQazYr78IAJtqTWIpBqSdOWqTzt/r4XNn
-KJ5mWAoNfq4H+3kx3xoWOFYS7qAYeJoHQWCDbMdb+zEXvPX6hMFn9+OxRN+N5FdQ
-uxGTugSG9xSsK28oGDCQUtr5uheo+tH0jygPjI+LTD97vjUYS4K2qzhLGFJmpLcj
-1akMJXM0gSdPZT8dJyjxvC15pgboLspE4+b6jexXmd4UoFvXgqvjkYHeV4Wk+s0L
-xu+HkCGXL9WHYc3t171fFAru4Zd1AUxFQl4BZ2Y+OqRZUrD28Mtz3zGQxbJQoifl
-JFrgPAWioLN71SkVq/y+efjvGSl0osPpKU5dftMmyY1zV7k7mMlO08ZSJU+wANA=
-=Iijt
------END PGP SIGNATURE-----
-
---L6iaP+gRLNZHKoI4--
-
---===============1359248349==
-Content-Type: text/plain; charset="us-ascii"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Content-Disposition: inline
-
-_______________________________________________
-notmuch mailing list
-notmuch@notmuchmail.org
-http://notmuchmail.org/mailman/listinfo/notmuch
-
---===============1359248349==--
-
+++ /dev/null
-Return-path: <notmuch-bounces@notmuchmail.org>
-Envelope-to: cworth@localhost
-Delivery-date: Wed, 18 Nov 2009 01:43:47 -0800
-Received: from yoom.home.cworth.org ([127.0.0.1])
- by yoom.home.cworth.org with esmtp (Exim 4.69)
- (envelope-from <notmuch-bounces@notmuchmail.org>)
- id 1NAgpH-0005Ab-20
- for cworth@localhost; Wed, 18 Nov 2009 01:27:47 -0800
-X-Original-To: cworth@cworth.org
-Delivered-To: cworth@cworth.org
-Received: from olra.theworths.org [82.165.184.25]
- by yoom.home.cworth.org with IMAP (fetchmail-6.3.9-rc2)
- for <cworth@localhost> (single-drop); Wed, 18 Nov 2009 01:27:47 -0800 (PST)
-Received: from localhost (localhost [127.0.0.1])
- by olra.theworths.org (Postfix) with ESMTP id 12248431FC3
- for <cworth@cworth.org>; Tue, 17 Nov 2009 17:01:22 -0800 (PST)
-X-Virus-Scanned: Debian amavisd-new at olra.theworths.org
-X-Spam-Flag: NO
-X-Spam-Score: -6.17
-X-Spam-Level:
-X-Spam-Status: No, score=-6.17 tagged_above=-999 required=2 tests=[AWL=0.429,
- BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4] autolearn=unavailable
-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 TmBdVd1i-Wjb; Tue, 17 Nov 2009 17:01:20 -0800 (PST)
-Received: from olra.theworths.org (localhost [127.0.0.1])
- by olra.theworths.org (Postfix) with ESMTP id AF876431FBC;
- Tue, 17 Nov 2009 17:01:20 -0800 (PST)
-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 75784431FBC
- for <notmuch@notmuchmail.org>; Tue, 17 Nov 2009 17:01:19 -0800 (PST)
-X-Virus-Scanned: Debian amavisd-new at olra.theworths.org
-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 IoYHzHoKBskU for <notmuch@notmuchmail.org>;
- Tue, 17 Nov 2009 17:01:18 -0800 (PST)
-Received: from smtp-outbound.seas.harvard.edu (smtp-outbound.seas.harvard.edu
- [140.247.51.171])
- by olra.theworths.org (Postfix) with ESMTP id 7E033431FAE
- for <notmuch@notmuchmail.org>; Tue, 17 Nov 2009 17:01:18 -0800 (PST)
-Received: from dottiness.seas.harvard.edu (dottiness.seas.harvard.edu
- [140.247.52.224])
- by smtp-outbound.seas.harvard.edu (8.13.8/8.13.8) with SMTP id
- nAI11Gkj008772
- for <notmuch@notmuchmail.org>; Tue, 17 Nov 2009 20:01:16 -0500
-Received: by dottiness.seas.harvard.edu (sSMTP sendmail emulation);
- Tue, 17 Nov 2009 20:01:16 -0500
-Date: Tue, 17 Nov 2009 20:01:16 -0500
-From: Lars Kellogg-Stedman <lars@seas.harvard.edu>
-To: notmuch <notmuch@notmuchmail.org>
-Message-ID: <20091118010116.GC25380@dottiness.seas.harvard.edu>
-References: <20091118005829.GB25380@dottiness.seas.harvard.edu>
-MIME-Version: 1.0
-In-Reply-To: <20091118005829.GB25380@dottiness.seas.harvard.edu>
-User-Agent: Mutt/1.5.19 (2009-01-05)
-Subject: Re: [notmuch] "notmuch help" outputs to stderr?
-X-BeenThere: notmuch@notmuchmail.org
-X-Mailman-Version: 2.1.12
-Precedence: list
-List-Id: "Use and development of the notmuch mail system."
- <notmuch.notmuchmail.org>
-List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
- <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
-List-Archive: <http://notmuchmail.org/pipermail/notmuch>
-List-Post: <mailto:notmuch@notmuchmail.org>
-List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
-List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
- <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
-Content-Type: multipart/mixed; boundary="===============0848253760=="
-Sender: notmuch-bounces@notmuchmail.org
-Errors-To: notmuch-bounces@notmuchmail.org
-
-
---===============0848253760==
-Content-Type: multipart/signed; micalg=pgp-sha256;
- protocol="application/pgp-signature"; boundary="ZInfyf7laFu/Kiw7"
-Content-Disposition: inline
-
-
---ZInfyf7laFu/Kiw7
-Content-Type: multipart/mixed; boundary="KdquIMZPjGJQvRdI"
-Content-Disposition: inline
-
-
---KdquIMZPjGJQvRdI
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline
-Content-Transfer-Encoding: quoted-printable
-
-> I've attached a patch that lets usage() take a FILE * argument so that
-> you can output to stderr in response to usage errors, and stdout in
-> response to an explicit request.
-
-Whoops, missed a couple of stderr's in that last patch. New one
-attached.
-
---=20
-Lars Kellogg-Stedman <lars@seas.harvard.edu>
-Senior Technologist, Computing and Information Technology
-Harvard University School of Engineering and Applied Sciences
-
-
---KdquIMZPjGJQvRdI
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: attachment; filename="notmuch-help.patch"
-Content-Transfer-Encoding: quoted-printable
-
-diff --git a/notmuch.c b/notmuch.c
-index c47e640..446c810 100644
---- a/notmuch.c
-+++ b/notmuch.c
-@@ -157,23 +157,23 @@ command_t commands[] =3D {
- };
-=20
- static void
--usage (void)
-+usage (FILE *out)
- {
- command_t *command;
- unsigned int i;
-=20
-- fprintf (stderr, "Usage: notmuch <command> [args...]\n");
-- fprintf (stderr, "\n");
-- fprintf (stderr, "Where <command> and [args...] are as follows:\n");
-- fprintf (stderr, "\n");
-+ fprintf (out, "Usage: notmuch <command> [args...]\n");
-+ fprintf (out, "\n");
-+ fprintf (out, "Where <command> and [args...] are as follows:\n");
-+ fprintf (out, "\n");
-=20
- for (i =3D 0; i < ARRAY_SIZE (commands); i++) {
- command =3D &commands[i];
-=20
-- fprintf (stderr, "\t%s\t%s\n\n", command->name, command->summary);
-+ fprintf (out, "\t%s\t%s\n\n", command->name, command->summary);
- }
-=20
-- fprintf (stderr, "Use \"notmuch help <command>\" for more details on e=
-ach command.\n\n");
-+ fprintf (out, "Use \"notmuch help <command>\" for more details on each=
- command.\n\n");
- }
-=20
- static int
-@@ -183,8 +183,8 @@ notmuch_help_command (unused (void *ctx), int argc, cha=
-r *argv[])
- unsigned int i;
-=20
- if (argc =3D=3D 0) {
-- fprintf (stderr, "The notmuch mail system.\n\n");
-- usage ();
-+ fprintf (stdout, "The notmuch mail system.\n\n");
-+ usage (stdout);
- return 0;
- }
-=20
-@@ -192,8 +192,8 @@ notmuch_help_command (unused (void *ctx), int argc, cha=
-r *argv[])
- command =3D &commands[i];
-=20
- if (strcmp (argv[0], command->name) =3D=3D 0) {
-- fprintf (stderr, "Help for \"notmuch %s\":\n\n", argv[0]);
-- fprintf (stderr, "\t%s\t%s\n\n%s\n\n", command->name,
-+ fprintf (stdout, "Help for \"notmuch %s\":\n\n", argv[0]);
-+ fprintf (stdout, "\t%s\t%s\n\n%s\n\n", command->name,
- command->summary, command->documentation);
- return 0;
- }
-
---KdquIMZPjGJQvRdI--
-
---ZInfyf7laFu/Kiw7
-Content-Type: application/pgp-signature
-Content-Disposition: inline
-
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.9 (GNU/Linux)
-
-iQEcBAEBCAAGBQJLA0dcAAoJENdGlQYxQazY4nIIAIBCds86/uTmnouvyoPruUUR
-Bg5mXcnjuopz1Nwotl9s9U5sGeZuZngxyEvDz1Z1aTEjwab8ndNTf1xCwIoqBs+l
-i/sc4nPYubLdy1Ab/84DKVtCSbj+v5rtqhegwUWV7S1BY7t8dKNPNv7YBg7P0Azs
-6s3CUxDV5eJCcxCGxxWHH8JDKRf7rDs6vzDwyPWLxlg1Xb1lEM/sRgPCKiShPdO3
-Ak2hECusjskALhSDYX8/FLMd9HwLBC13sfWuSi/pHUAIOI2jru2p5sXrVSlTnFIJ
-fiMbPhKWiEaJj2kmm4pRwAhbTWp/J8ZvXWp0AyosxXQhQUWqujiyxgfiXS70SdQ=
-=t3Yc
------END PGP SIGNATURE-----
-
---ZInfyf7laFu/Kiw7--
-
---===============0848253760==
-Content-Type: text/plain; charset="us-ascii"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Content-Disposition: inline
-
-_______________________________________________
-notmuch mailing list
-notmuch@notmuchmail.org
-http://notmuchmail.org/mailman/listinfo/notmuch
-
---===============0848253760==--
-
+++ /dev/null
-From: "Stewart Smith" <stewart@flamingspork.com>
-To: notmuch@notmuchmail.org
-Date: Wed, 18 Nov 2009 12:05:53 +1100
-Subject: [notmuch] [PATCH] Fix linking with gcc to use g++ to link in C++
- libs.
-Message-ID: <1258506353-20352-1-git-send-email-stewart@flamingspork.com>
-
-Previously, Ubuntu 9.10, gcc 4.4.1 was getting:
-
-ccache gcc `pkg-config --libs glib-2.0 gmime-2.4 talloc` `xapian-config --libs` notmuch.o notmuch-config.o notmuch-dump.o notmuch-new.o notmuch-reply.o notmuch-restore.o notmuch-search.o notmuch-setup.o notmuch-show.o notmuch-tag.o notmuch-time.o gmime-filter-reply.o query-string.o show-message.o lib/notmuch.a -o notmuch
-/usr/bin/ld: lib/notmuch.a(database.o): in function global constructors keyed to BOOLEAN_PREFIX_INTERNAL:database.cc(.text+0x3a): error: undefined reference to 'std::ios_base::Init::Init()'
----
- Makefile.local | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/Makefile.local b/Makefile.local
-index f824bed..dbd3e20 100644
---- a/Makefile.local
-+++ b/Makefile.local
-@@ -18,7 +18,7 @@ notmuch_client_srcs = \
-
- notmuch_client_modules = $(notmuch_client_srcs:.c=.o)
- notmuch: $(notmuch_client_modules) lib/notmuch.a
-- $(CC) $(LDFLAGS) $^ -o $@
-+ $(CXX) $(LDFLAGS) $^ -o $@
-
- notmuch.1.gz:
- gzip --stdout notmuch.1 > notmuch.1.gz
---
-1.6.3.3
-
-
+++ /dev/null
-From: "Stewart Smith" <stewart@flamingspork.com>
-To: notmuch@notmuchmail.org
-Date: Wed, 18 Nov 2009 12:56:40 +1100
-Subject: [notmuch] [PATCH 2/2] Read mail directory in inode number order
-Message-ID: <1258509400-32511-1-git-send-email-stewart@flamingspork.com>
-
-This gives a rather decent reduction in number of seeks required when
-reading a Maildir that isn't in pagecache.
-
-Most filesystems give some locality on disk based on inode numbers.
-In ext[234] this is the inode tables, in XFS groups of sequential inode
-numbers are together on disk and the most significant bits indicate
-allocation group (i.e inode 1,000,000 is always after inode 1,000).
-
-With this patch, we read in the whole directory, sort by inode number
-before stat()ing the contents.
-
-Ideally, directory is sequential and then we make one scan through the
-file system stat()ing.
-
-Since the universe is not ideal, we'll probably seek during reading the
-directory and a fair bit while reading the inodes themselves.
-
-However... with readahead, and stat()ing in inode order, we should be
-in the best place possible to hit the cache.
-
-In a (not very good) benchmark of "how long does it take to find the first
-15,000 messages in my Maildir after 'echo 3 > /proc/sys/vm/drop_caches'",
-this patch consistently cut at least 8 seconds off the scan time.
-
-Without patch: 50 seconds
-With patch: 38-42 seconds.
-
-(I did this in a previous maildir reading project and saw large improvements too)
----
- notmuch-new.c | 32 +++++++++++++++-----------------
- 1 files changed, 15 insertions(+), 17 deletions(-)
-
-diff --git a/notmuch-new.c b/notmuch-new.c
-index 83a05ba..11fad8c 100644
---- a/notmuch-new.c
-+++ b/notmuch-new.c
-@@ -73,6 +73,11 @@ add_files_print_progress (add_files_state_t *state)
- fflush (stdout);
- }
-
-+static int ino_cmp(const struct dirent **a, const struct dirent **b)
-+{
-+ return ((*a)->d_ino < (*b)->d_ino)? -1: 1;
-+}
-+
- /* Examine 'path' recursively as follows:
- *
- * o Ask the filesystem for the mtime of 'path' (path_mtime)
-@@ -100,13 +105,12 @@ add_files_recursive (notmuch_database_t *notmuch,
- add_files_state_t *state)
- {
- DIR *dir = NULL;
-- struct dirent *e, *entry = NULL;
-- int entry_length;
-- int err;
-+ struct dirent *entry = NULL;
- char *next = NULL;
- time_t path_mtime, path_dbtime;
- notmuch_status_t status, ret = NOTMUCH_STATUS_SUCCESS;
- notmuch_message_t *message = NULL;
-+ struct dirent **namelist = NULL;
-
- /* If we're told to, we bail out on encountering a read-only
- * directory, (with this being a clear clue from the user to
-@@ -122,31 +126,23 @@ add_files_recursive (notmuch_database_t *notmuch,
- path_mtime = st->st_mtime;
-
- path_dbtime = notmuch_database_get_timestamp (notmuch, path);
-+ int n_entries= scandir(path, &namelist, 0, ino_cmp);
-
-- dir = opendir (path);
-- if (dir == NULL) {
-+ if (n_entries == -1) {
- fprintf (stderr, "Error opening directory %s: %s\n",
- path, strerror (errno));
- ret = NOTMUCH_STATUS_FILE_ERROR;
- goto DONE;
- }
-
-- entry_length = offsetof (struct dirent, d_name) +
-- pathconf (path, _PC_NAME_MAX) + 1;
-- entry = malloc (entry_length);
-+ int i=0;
-
- while (!interrupted) {
-- err = readdir_r (dir, entry, &e);
-- if (err) {
-- fprintf (stderr, "Error reading directory: %s\n",
-- strerror (errno));
-- ret = NOTMUCH_STATUS_FILE_ERROR;
-- goto DONE;
-- }
--
-- if (e == NULL)
-+ if (i == n_entries)
- break;
-
-+ entry= namelist[i++];
-+
- /* If this directory hasn't been modified since the last
- * add_files, then we only need to look further for
- * sub-directories. */
-@@ -243,6 +239,8 @@ add_files_recursive (notmuch_database_t *notmuch,
- free (entry);
- if (dir)
- closedir (dir);
-+ if (namelist)
-+ free (namelist);
-
- return ret;
- }
---
-1.6.3.3
-
-
+++ /dev/null
-From: "Keith Packard" <keithp@keithp.com>
-To: notmuch@notmuchmail.org
-Date: Tue, 17 Nov 2009 17:59:49 -0800
-Subject: [notmuch] New to the list
-In-Reply-To: <1258498485-sup-142@elly>
-References: <1258498485-sup-142@elly>
-Message-ID: <yun3a4cegoa.fsf@aiko.keithp.com>
-
-On Tue, 17 Nov 2009 23:57:18 +0100, Israel Herraiz <isra at herraiz.org> wrote:
-
-> "Not much" sounds interesting, and I wonder whether it could be
-> integrated with the views of Sup (inbox, threads, etc). So I have
-> subscribed to the list to keep an eye on what's going on here.
-
-We've tried to clone much of the sup UI inside emacs, including the
-inbox and threaded message presentation. Of course, we had to "improve"
-it a bit, as much due to the differences between curses and emacs as due
-to personal preferences...
-
--keith
-
+++ /dev/null
-From: "Keith Packard" <keithp@keithp.com>
-To: notmuch@notmuchmail.org
-Date: Tue, 17 Nov 2009 18:03:17 -0800
-Subject: [notmuch] Introducing myself
-In-Reply-To: <20091118002059.067214ed@hikari>
-References: <20091118002059.067214ed@hikari>
-Message-ID: <yun1vjwegii.fsf@aiko.keithp.com>
-
-On Wed, 18 Nov 2009 00:20:59 +0100, Adrian Perez de Castro <aperez at igalia.com> wrote:
-
-> Some time ago I thought
-> about doing something like Not Much and in fact I played a bit with the
-> Python+Xapian and the Python+Whoosh combinations, because I find relaxing
-> to code things in Python when I am not working and also it is installed
-> by default on most distribution. I got to have some mailboxes indexed and
-> basic searching working a couple of months ago.
-
-Sup certainly started a lot of people thinking...
-
-> Also, I would like to share one idea I had in mind, that you might find
-> interesting: One thing I have found very annoying is having to re-tag my
-> mail when the indexes get b0rked (it happened a couple of times to me while
-> using Sup), so I was planning to mails as read/unread and adding the tags
-> not just to the index, but to the mail text itself, e.g. by adding a
-> "X-Tags" header field or by reusing the "Keywords" one.
-
-Easier than that, notmuch (and sup too), provide a 'dump' command which
-just lists all of the message IDs and their associated tags. Makes
-saving tags easy and doesn't involve rewriting messages. I do this once
-a day just before my computer is backed up to an external drive.
-
-If the index is destroyed, you can reindex the messages and then reapply
-all of the tags with 'notmuch restore'.
-
---
-keith.packard at intel.com
-
-
--- /dev/null
+From: "Carl Worth" <cworth@cworth.org>
+To: notmuch@notmuchmail.org
+Date: Tue, 17 Nov 2009 12:19:24 -0800
+Subject: [notmuch] preliminary FreeBSD support
+In-Reply-To: <cf0c4d610911171136h1713aa59w9cf9aa31f052ad0a@mail.gmail.com>
+References: <cf0c4d610911171136h1713aa59w9cf9aa31f052ad0a@mail.gmail.com>
+Message-ID: <87lji4lx9v.fsf@yoom.home.cworth.org>
+
+On Tue, 17 Nov 2009 11:36:14 -0800, Alex Botero-Lowry <alex.boterolowry at gmail.com> wrote:
+> I saw the announcement this morning, and was very excited, as I had been
+> hoping sup would be turned into a library,
+> since I like the concept more than the UI (I'd rather an emacs interface).
+
+Hi Alex,
+
+That's great! It's good to hear that there are like-minded people out
+there. I hope that Notmuch will be useful for you.
+
+> I did a preliminary compile which worked out fine, but
+> sysconf(_SC_SC_GETPW_R_SIZE_MAX) returns -1 on
+> FreeBSD, so notmuch_config_open segfaulted.
+>
+> Attached is a patch that supplies a default buffer size of 64 in cases where
+> -1 is returned.
+
+Thanks for the patch. As we discussed in IRC[*], we should probably
+do the correct thing and check for ERANGE and loop as necessary (even if
+sysconf returns a positive value). Example code here:
+
+http://www.opengroup.org/austin/docs/austin_328.txt
+
+-Carl
+
+[*] #notmuch on irc.freenode.net for those who didn't just guess that
+already, (and I'll add that to the website soon).
+
--- /dev/null
+From: "Keith Packard" <keithp@keithp.com>
+To: notmuch@notmuchmail.org
+Date: Tue, 17 Nov 2009 13:15:25 -0800
+Subject: [notmuch] [PATCH 1/2] Close message file after parsing message
+ headers
+In-Reply-To: <87lji5cbwo.fsf@yoom.home.cworth.org>
+References: <1258471718-6781-1-git-send-email-dottedmag@dottedmag.net>
+ <87lji5cbwo.fsf@yoom.home.cworth.org>
+Message-ID: <yunbpj0etua.fsf@aiko.keithp.com>
+
+On Tue, 17 Nov 2009 09:13:27 -0800, Carl Worth <cworth at cworth.org> wrote:
+
+> I didn't apply Keith's fix yet, because I think I'd rather just fix the
+> indexer to store the In-Reply-To header in a separate term prefix from
+> the term used for the References header[*]. That will then let us lookup
+> the in-reply-to value later for thread constructions without having to
+> open the original email file at all.
+
+Threading the message also involves displaying the from and to contents,
+which requires opening the message file. The alternative to the fix I
+provided is to just parse all of the message headers when first opening
+the message; it could then be immediately closed and the hash referred
+to for all header data. Given the choice, just having the caller say
+when it has finished with a message is probably a reasonable option...
+
+-keith
+
--- /dev/null
+From: "Keith Packard" <keithp@keithp.com>
+To: notmuch@notmuchmail.org
+Date: Tue, 17 Nov 2009 13:24:13 -0800
+Subject: [notmuch] Working with Maildir storage?
+In-Reply-To: <20091117203301.GV3165@dottiness.seas.harvard.edu>
+References: <20091117190054.GU3165@dottiness.seas.harvard.edu>
+ <87iqd9rn3l.fsf@vertex.dottedmag>
+ <20091117203301.GV3165@dottiness.seas.harvard.edu>
+Message-ID: <yunaayketfm.fsf@aiko.keithp.com>
+
+On Tue, 17 Nov 2009 15:33:01 -0500, Lars Kellogg-Stedman <lars at seas.harvard.edu> wrote:
+> > See the patch just posted here.
+
+I've also pushed a slightly more complicated (and complete) fix to my
+private notmuch repository
+
+git://keithp.com/git/notmuch
+
+> Is the list archived anywhere?
+
+Oops. Looks like Carl's mail server is broken. He's traveling to
+Barcelona today and so it won't get fixed for a while.
+
+Thanks to everyone for trying out notmuch!
+
+-keith
+
--- /dev/null
+From: "Keith Packard" <keithp@keithp.com>
+To: notmuch@notmuchmail.org
+Date: Tue, 17 Nov 2009 13:32:45 -0800
+Subject: [notmuch] [PATCH] Make notmuch-show 'X' (and 'x') commands remove
+ inbox (and unread) tags
+Message-ID: <1258493565-13508-1-git-send-email-keithp@keithp.com>
+
+When closing a thread view, mark the thread as archived by removing
+the "inbox" tag, and for the 'x' variant, the "unread" tag as well,
+then kill the buffer and update the search window view as well.
+
+This makes 'x' much the same as 'a', but instead of taking you to the
+next message, it takes you back to the search window instead.
+
+Signed-off-by: Keith Packard <keithp at keithp.com>
+---
+ notmuch.el | 86 ++++++++++++++++++++++++++++++++++++++++++++++-------------
+ 1 files changed, 67 insertions(+), 19 deletions(-)
+
+diff --git a/notmuch.el b/notmuch.el
+index 638d49d..7b0d72c 100644
+--- a/notmuch.el
++++ b/notmuch.el
+@@ -31,8 +31,8 @@
+ ; Will be much preferable to switch to direct manipulation for
+ ; toggling visibility of these components. Probably using
+ ; overlays-at to query and manipulate the current overlay.
+- (define-key map "a" 'notmuch-show-archive-thread)
+- (define-key map "A" 'notmuch-show-mark-read-then-archive-thread)
++ (define-key map "a" 'notmuch-show-mark-read-archive-thread-next-thread)
++ (define-key map "A" 'notmuch-show-archive-thread-next-thread)
+ (define-key map "b" 'notmuch-show-toggle-body-read-visible)
+ (define-key map "c" 'notmuch-show-toggle-citations-visible)
+ (define-key map "h" 'notmuch-show-toggle-headers-visible)
+@@ -47,7 +47,8 @@
+ (define-key map "s" 'notmuch-show-toggle-signatures-visible)
+ (define-key map "v" 'notmuch-show-view-all-mime-parts)
+ (define-key map "w" 'notmuch-show-view-raw-message)
+- (define-key map "x" 'kill-this-buffer)
++ (define-key map "x" 'notmuch-show-mark-read-archive-thread-kill-buffer)
++ (define-key map "X" 'notmuch-show-archive-thread-kill-buffer)
+ (define-key map "+" 'notmuch-show-add-tag)
+ (define-key map "-" 'notmuch-show-remove-tag)
+ (define-key map (kbd "DEL") 'notmuch-show-rewind)
+@@ -183,7 +184,33 @@ Unlike builtin `next-line' this version accepts no arguments."
+ (cons (notmuch-show-get-message-id) nil)))
+ (notmuch-show-set-tags (sort (set-difference tags toremove :test 'string=) 'string<))))))
+
+-(defun notmuch-show-archive-thread-maybe-mark-read (markread)
++(defun notmuch-show-next-thread (markread)
++ (let ((parent-buffer notmuch-show-parent-buffer))
++ (kill-this-buffer)
++ (if parent-buffer
++ (progn
++ (switch-to-buffer parent-buffer)
++ (forward-line)
++ (notmuch-search-show-thread)))))
++
++(defun notmuch-delete-tags (to-remove from)
++ (if to-remove
++ (delete (car to-remove) (notmuch-delete-tags (cdr to-remove) from))
++ from))
++
++(defun notmuch-kill-message-buffer (markread)
++ (let ((parent-buffer notmuch-show-parent-buffer))
++ (kill-this-buffer)
++ (if parent-buffer
++ (progn
++ (switch-to-buffer parent-buffer)
++ (let ((tags (notmuch-search-get-tags)))
++ (setq tags (delete "inbox" tags))
++ (if markread (setq tags (delete "unread" tags)))
++ (notmuch-search-set-tags tags))
++ (forward-line)))))
++
++(defun notmuch-show-archive-thread-maybe-mark-read (markread shownext)
+ (save-excursion
+ (goto-char (point-min))
+ (while (not (eobp))
+@@ -194,15 +221,9 @@ Unlike builtin `next-line' this version accepts no arguments."
+ (forward-char))
+ (if (not (re-search-forward notmuch-show-message-begin-regexp nil t))
+ (goto-char (point-max)))))
+- (let ((parent-buffer notmuch-show-parent-buffer))
+- (kill-this-buffer)
+- (if parent-buffer
+- (progn
+- (switch-to-buffer parent-buffer)
+- (forward-line)
+- (notmuch-search-show-thread)))))
++ (if shownext (notmuch-show-next-thread markread) (notmuch-kill-message-buffer markread)))
+
+-(defun notmuch-show-mark-read-then-archive-thread ()
++(defun notmuch-show-mark-read-archive-thread-next-thread ()
+ "Remove \"unread\" tag from each message, then archive and show next thread.
+
+ Archive each message currrently shown by removing the \"unread\"
+@@ -215,9 +236,22 @@ being delivered to the same thread. It does not archive the
+ entire thread, but only the messages shown in the current
+ buffer."
+ (interactive)
+- (notmuch-show-archive-thread-maybe-mark-read t))
++ (notmuch-show-archive-thread-maybe-mark-read t t))
++
++(defun notmuch-show-mark-read-archive-thread-kill-buffer ()
++ "Remove \"unread\" tag from each message, then archive and kill the buffer.
++
++Archive each message currrently shown by removing the \"unread\"
++and \"inbox\" tag from each. Then kill this buffer.
++
++Note: This command is safe from any race condition of new messages
++being delivered to the same thread. It does not archive the
++entire thread, but only the messages shown in the current
++buffer."
++ (interactive)
++ (notmuch-show-archive-thread-maybe-mark-read t nil))
+
+-(defun notmuch-show-archive-thread ()
++(defun notmuch-show-archive-thread-next-thread ()
+ "Archive each message in thread, and show next thread from search.
+
+ Archive each message currrently shown by removing the \"inbox\"
+@@ -229,7 +263,20 @@ being delivered to the same thread. It does not archive the
+ entire thread, but only the messages shown in the current
+ buffer."
+ (interactive)
+- (notmuch-show-archive-thread-maybe-mark-read nil))
++ (notmuch-show-archive-thread-maybe-mark-read nil t))
++
++(defun notmuch-show-archive-thread-kill-buffer ()
++ "Archive each message in thread, and kill the thread buffer.
++
++Archive each message currrently shown by removing the \"inbox\"
++tag from each. Then kill this buffer.
++
++Note: This command is safe from any race condition of new messages
++being delivered to the same thread. It does not archive the
++entire thread, but only the messages shown in the current
++buffer."
++ (interactive)
++ (notmuch-show-archive-thread-maybe-mark-read nil t))
+
+ (defun notmuch-show-view-raw-message ()
+ "View the raw email of the current message."
+@@ -297,7 +344,7 @@ by searching backward)."
+ (not (re-search-forward notmuch-show-message-begin-regexp nil t)))))
+
+ (defun notmuch-show-message-unread-p ()
+- "Preficate testing whether current message is unread."
++ "Predicate testing whether current message is unread."
+ (member "unread" (notmuch-show-get-tags)))
+
+ (defun notmuch-show-next-message ()
+@@ -434,7 +481,7 @@ which this thread was originally shown."
+ (let ((last (notmuch-show-last-message-p)))
+ (notmuch-show-mark-read-then-next-open-message)
+ (if last
+- (notmuch-show-archive-thread))))))
++ (notmuch-show-archive-thread-next-thread))))))
+
+ (defun notmuch-show-markup-citations-region (beg end depth)
+ (goto-char beg)
+@@ -618,8 +665,9 @@ messages. Each time you navigate away from a message with
+
+ You can add or remove tags from the current message with '+' and
+ '-'. You can also archive all messages in the current
+-view, (remove the \"inbox\" tag from each), with
+-`notmuch-show-archive-thread' (bound to 'a' by default).
++view, (remove the \"inbox\" tag from each), with either
++`notmuch-show-archive-thread-next-thread' (bound to 'a' by default) or
++`notmuch-show-archive-thread-kill-buffer' (bound to 'x' by default).
+
+ \\{notmuch-show-mode-map}"
+ (interactive)
+--
+1.6.5.2
+
+
--- /dev/null
+From: "Jan Janak" <jan@ryngle.com>
+To: notmuch@notmuchmail.org
+Date: Tue, 17 Nov 2009 23:18:47 +0100
+Subject: [notmuch] [PATCH] Older versions of install do not support -C.
+Message-ID: <1258496327-12086-1-git-send-email-jan@ryngle.com>
+
+Do not use -C cmdline option of install, older versions, commonly found in
+distributions like Debian, do not seem to support it. Running make install
+on such systems (tested on Debian Lenny) fails.
+
+Signed-off-by: Jan Janak <jan at ryngle.com>
+---
+ Makefile.local | 8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile.local b/Makefile.local
+index f824bed..f51f1d1 100644
+--- a/Makefile.local
++++ b/Makefile.local
+@@ -27,11 +27,11 @@ install: all notmuch.1.gz
+ for d in $(DESTDIR)$(prefix)/bin/ $(DESTDIR)$(prefix)/share/man/man1 \
+ $(DESTDIR)/etc/bash_completion.d/ ; \
+ do \
+- install -C -d $$d ; \
++ install -d $$d ; \
+ done ;
+- install -C notmuch $(DESTDIR)$(prefix)/bin/
+- install -C -m0644 notmuch.1.gz $(DESTDIR)$(prefix)/share/man/man1/
+- install -C notmuch-completion.bash \
++ install notmuch $(DESTDIR)$(prefix)/bin/
++ install -m0644 notmuch.1.gz $(DESTDIR)$(prefix)/share/man/man1/
++ install notmuch-completion.bash \
+ $(DESTDIR)/etc/bash_completion.d/notmuch
+
+ SRCS := $(SRCS) $(notmuch_client_srcs)
+--
+1.6.3.3
+
+
--- /dev/null
+From: "Jan Janak" <jan@ryngle.com>
+To: notmuch@notmuchmail.org
+Date: Tue, 17 Nov 2009 23:35:30 +0100
+Subject: [notmuch] What a great idea!
+Message-ID: <f35dbb950911171435ieecd458o853c873e35f4be95@mail.gmail.com>
+
+Hello,
+
+First of all, notmuch is a wonderful idea, both the cmdline tool and
+the emacs interface! Thanks a lot for writing it, I was really excited
+when I read the announcement today.
+
+Have you considered sending an announcement to the org-mode mailing list?
+http://org-mode.org
+
+Various ways of searching/referencing emails from emacs were discussed
+there several times and none of them were as elegant as notmuch (not
+even close). Maybe notmuch would attract some of the developers
+there..
+
+ -- Jan
+
--- /dev/null
+From: "Jan Janak" <jan@ryngle.com>
+To: notmuch@notmuchmail.org
+Date: Tue, 17 Nov 2009 23:38:47 +0100
+Subject: [notmuch] What a great idea!
+In-Reply-To: <f35dbb950911171435ieecd458o853c873e35f4be95@mail.gmail.com>
+References: <f35dbb950911171435ieecd458o853c873e35f4be95@mail.gmail.com>
+Message-ID: <f35dbb950911171438k5df6eb56k77b6c0944e2e79ae@mail.gmail.com>
+
+On Tue, Nov 17, 2009 at 11:35 PM, Jan Janak <jan at ryngle.com> wrote:
+> Hello,
+>
+> First of all, notmuch is a wonderful idea, both the cmdline tool and
+> the emacs interface! Thanks a lot for writing it, I was really excited
+> when I read the announcement today.
+>
+> Have you considered sending an announcement to the org-mode mailing list?
+> http://org-mode.org
+
+Sorry, wrong URL, the correct one is: http://orgmode.org
+
+> Various ways of searching/referencing emails from emacs were discussed
+> there several times and none of them were as elegant as notmuch (not
+> even close). Maybe notmuch would attract some of the developers
+> there..
+
+ -- Jan
+
--- /dev/null
+From: "Carl Worth" <cworth@cworth.org>
+To: notmuch@notmuchmail.org
+Date: Tue, 17 Nov 2009 09:13:27 -0800
+Subject: [notmuch] [PATCH 1/2] Close message file after parsing message
+ headers
+In-Reply-To: <1258471718-6781-1-git-send-email-dottedmag@dottedmag.net>
+References: <1258471718-6781-1-git-send-email-dottedmag@dottedmag.net>
+Message-ID: <87lji5cbwo.fsf@yoom.home.cworth.org>
+
+On Tue, 17 Nov 2009 21:28:37 +0600, Mikhail Gusarov <dottedmag at dottedmag.net> wrote:
+> Keeping unused files open helps to see "Too many open files" often.
+>
+> Signed-off-by: Mikhail Gusarov <dottedmag at dottedmag.net>
+...
+On Tue, 17 Nov 2009 21:28:38 +0600, Mikhail Gusarov <dottedmag at dottedmag.net> wrote:
+>
+> Signed-off-by: Mikhail Gusarov <dottedmag at dottedmag.net>
+> ---
+> lib/message.cc | 2 ++
+> 1 files changed, 2 insertions(+), 0 deletions(-)
+
+Hi Mikhail,
+
+Welcome to notmuch, and thanks for these patches! I've pushed both of
+them out now.
+
+Keith ran into the same problem of "too many open files" and wrote a
+more complex fix, (which included what you did here). His code can be
+seen at:
+
+ git://keithp.com/git/notmuch
+
+I didn't apply Keith's fix yet, because I think I'd rather just fix the
+indexer to store the In-Reply-To header in a separate term prefix from
+the term used for the References header[*]. That will then let us lookup
+the in-reply-to value later for thread constructions without having to
+open the original email file at all.
+
+-Carl
+
+[*] Yes, this is my first post to our new mailing list and I'm already
+spouting off about "terms" and "prefixes" without any definitions. I
+apologize for that. I hope that people will ask questions freely here on
+the list whenever anything is not clear, and I'll be glad to explain
+things as needed. (Then when can shove answers into a HACKING document.)
+
+PS. This reply is a great example of a feature that notmuch *almost*
+supports already---repling to multiple messages at once. The "notmuch
+reply" command line does everything necessary to make this work, but we
+haven't yet hooked up any keybindings for this in the emacs client yet.
+Obviously, 'r' from the search view could reply to the entire thread.
+But when viewing a thread, anyone have a good keybinding suggestion?
+(There's obviously 'R' as opposed to 'r', but I think we'll probably
+want to distinguish "reply to sender" from "reply to all" before trying
+to distinguish "reply to message" from "reply to thread" (which I
+imagine is more rare of an operation).
+
--- /dev/null
+Date: Tue, 17 Nov 2009 15:33:01 -0500
+From: Lars Kellogg-Stedman <lars@seas.harvard.edu>
+To: Mikhail Gusarov <dottedmag@dottedmag.net>
+Message-ID: <20091117203301.GV3165@dottiness.seas.harvard.edu>
+References: <20091117190054.GU3165@dottiness.seas.harvard.edu>
+ <87iqd9rn3l.fsf@vertex.dottedmag>
+MIME-Version: 1.0
+In-Reply-To: <87iqd9rn3l.fsf@vertex.dottedmag>
+User-Agent: Mutt/1.5.19 (2009-01-05)
+Cc: notmuch@notmuchmail.org
+Subject: Re: [notmuch] Working with Maildir storage?
+X-BeenThere: notmuch@notmuchmail.org
+X-Mailman-Version: 2.1.12
+Precedence: list
+List-Id: "Use and development of the notmuch mail system."
+ <notmuch.notmuchmail.org>
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>
+List-Post: <mailto:notmuch@notmuchmail.org>
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
+Content-Type: multipart/mixed; boundary="===============0063752545=="
+Sender: notmuch-bounces@notmuchmail.org
+Errors-To: notmuch-bounces@notmuchmail.org
+
+
+--===============0063752545==
+Content-Type: multipart/signed; micalg=pgp-sha256;
+ protocol="application/pgp-signature"; boundary="GGxZz/e2pmGePzrA"
+Content-Disposition: inline
+
+
+--GGxZz/e2pmGePzrA
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: inline
+Content-Transfer-Encoding: quoted-printable
+
+> See the patch just posted here.
+
+Is the list archived anywhere? The obvious archives
+(http://notmuchmail.org/pipermail/notmuch/) aren't available, and I
+think I subscribed too late to get the patch (I only just saw the
+discussion about it).
+
+It doesn't look like the patch is in git yet.
+
+-- Lars
+
+--=20
+Lars Kellogg-Stedman <lars@seas.harvard.edu>
+Senior Technologist, Computing and Information Technology
+Harvard University School of Engineering and Applied Sciences
+
+
+--GGxZz/e2pmGePzrA
+Content-Type: application/pgp-signature
+Content-Disposition: inline
+
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQEcBAEBCAAGBQJLAwh9AAoJENdGlQYxQazYHJMIAI+XTPOyBTZIxEGTdgVKd2fR
+k27ucKs6lXozfMIIGchNUDXQho+KmiuTfX1XFJeBkqOlhrd9zlGjBGoBM0YBq/Gs
+aStPdonREzsHORjmyQCCpjg4AcqCRTXFbDXzAeXlxMPOrZ3P0XNPzTEM1mVksbmg
+mBBDLdHncy4sSCfFgXwRGGgLv9z5Acqm8xGYr68c9PIXY939ozIKV9LVUhxiNz9g
+We2a9rLDhfwxUqDlGdiNwZZimiKvD/fsYSrBZMDb5HgIYkeNZ4SD8Xu+OgB550wN
+OFfwGi3o8WFK2AyDe5QJDh9Ub+euPNlVzePoGpkltZEHuCcLFJqCHv5XYpbxcjA=
+=GO2Q
+-----END PGP SIGNATURE-----
+
+--GGxZz/e2pmGePzrA--
+
+--===============0063752545==
+Content-Type: text/plain; charset="us-ascii"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Content-Disposition: inline
+
+_______________________________________________
+notmuch mailing list
+notmuch@notmuchmail.org
+http://notmuchmail.org/mailman/listinfo/notmuch
+
+--===============0063752545==--
+
--- /dev/null
+Date: Tue, 17 Nov 2009 14:00:54 -0500
+From: Lars Kellogg-Stedman <lars@seas.harvard.edu>
+To: notmuch@notmuchmail.org
+Message-ID: <20091117190054.GU3165@dottiness.seas.harvard.edu>
+MIME-Version: 1.0
+User-Agent: Mutt/1.5.19 (2009-01-05)
+Subject: [notmuch] Working with Maildir storage?
+X-BeenThere: notmuch@notmuchmail.org
+X-Mailman-Version: 2.1.12
+Precedence: list
+List-Id: "Use and development of the notmuch mail system."
+ <notmuch.notmuchmail.org>
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>
+List-Post: <mailto:notmuch@notmuchmail.org>
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
+Content-Type: multipart/mixed; boundary="===============1685355122=="
+Sender: notmuch-bounces@notmuchmail.org
+Errors-To: notmuch-bounces@notmuchmail.org
+
+
+--===============1685355122==
+Content-Type: multipart/signed; micalg=pgp-sha256;
+ protocol="application/pgp-signature"; boundary="5Dr6Wqe9hdyl7LAI"
+Content-Disposition: inline
+
+
+--5Dr6Wqe9hdyl7LAI
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: inline
+Content-Transfer-Encoding: quoted-printable
+
+I saw the LWN article and decided to take a look at notmuch. I'm
+currently using mutt and mairix to index and read a collection of
+Maildir mail folders (around 40,000 messages total).
+
+notmuch indexed the messages without complaint, but my attempt at
+searching bombed out. Running, for example:
+
+ notmuch search storage
+
+Resulted in 4604 lines of errors along the lines of:
+
+ Error opening
+ /home/lars/Mail/read-messages.2008/cur/1246413773.24928_27334.hostname,U=
+=3D3026:2,S:
+ Too many open files
+
+I'm curious if this is expected behavior (i.e., notmuch does not work
+with Maildir) or if something else is going on.
+
+Cheers,
+
+--=20
+Lars Kellogg-Stedman <lars@seas.harvard.edu>
+Senior Technologist, Computing and Information Technology
+Harvard University School of Engineering and Applied Sciences
+
+
+--5Dr6Wqe9hdyl7LAI
+Content-Type: application/pgp-signature
+Content-Disposition: inline
+
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQEcBAEBCAAGBQJLAvLmAAoJENdGlQYxQazYRtcH/0usClQ1Z+EoTsA+URwIK6hD
+FsZUxFxRjMuOQRn2idZ/zhhg5jJj11ZaHjqxSkDvi2ywkTKUf1vX9LLzVy5hSR9M
+E6XQUd5QWAQXo1VsTeKkukIL0YqsPjdgrT8+Yt+OS2NvhEncql23oxnL2/pHkIFq
+r0NdTmVV5Jcar7w9J6X1Mi9m229a/9jV5FImsWISkIhIWznXU5SiU6zIw8xhP4E0
+xhvVSNJnFryjVHtva870aSQduhHfeLPzpYhqbkMPvlq+bcz6Q/Q2SwxJcGLNMPHa
+os9s9FGhCvFKUhVzezHWPgXNCcNT8qK89rcUldb5Oq4jaJb8RCZCYABplfoyaFs=
+=vO4s
+-----END PGP SIGNATURE-----
+
+--5Dr6Wqe9hdyl7LAI--
+
+--===============1685355122==
+Content-Type: text/plain; charset="us-ascii"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Content-Disposition: inline
+
+_______________________________________________
+notmuch mailing list
+notmuch@notmuchmail.org
+http://notmuchmail.org/mailman/listinfo/notmuch
+
+--===============1685355122==--
+
--- /dev/null
+From: "Mikhail Gusarov" <dottedmag@dottedmag.net>
+To: notmuch@notmuchmail.org
+Date: Wed, 18 Nov 2009 02:50:48 +0600
+Subject: [notmuch] Working with Maildir storage?
+In-Reply-To: <20091117203301.GV3165@dottiness.seas.harvard.edu> (Lars
+ Kellogg-Stedman's message of "Tue, 17 Nov 2009 15:33:01 -0500")
+References: <20091117190054.GU3165@dottiness.seas.harvard.edu>
+ <87iqd9rn3l.fsf@vertex.dottedmag>
+ <20091117203301.GV3165@dottiness.seas.harvard.edu>
+Message-ID: <87fx8can9z.fsf@vertex.dottedmag>
+
+
+Twas brillig at 15:33:01 17.11.2009 UTC-05 when lars at seas.harvard.edu did gyre and gimble:
+
+ LK> Is the list archived anywhere? The obvious archives
+ LK> (http://notmuchmail.org/pipermail/notmuch/) aren't available, and I
+ LK> think I subscribed too late to get the patch (I only just saw the
+ LK> discussion about it).
+
+ LK> It doesn't look like the patch is in git yet.
+
+Just has been pushed
+
+--
+ http://fossarchy.blogspot.com/
+-------------- next part --------------
+A non-text attachment was scrubbed...
+Name: not available
+Type: application/pgp-signature
+Size: 834 bytes
+Desc: not available
+URL: <http://notmuchmail.org/pipermail/notmuch/attachments/20091118/0e33d964/attachment.pgp>
+
--- /dev/null
+From: "Mikhail Gusarov" <dottedmag@dottedmag.net>
+To: notmuch@notmuchmail.org
+Date: Wed, 18 Nov 2009 02:51:18 +0600
+Subject: [notmuch] [PATCH] Handle rename of message file
+Message-ID: <1258491078-29658-1-git-send-email-dottedmag@dottedmag.net>
+
+If message file has been renamed, just update filename in the DB.
+
+Signed-off-by: Mikhail Gusarov <dottedmag at dottedmag.net>
+---
+ lib/database.cc | 21 ++++++++++++---------
+ 1 files changed, 12 insertions(+), 9 deletions(-)
+
+diff --git a/lib/database.cc b/lib/database.cc
+index 3c8d626..c4eb8b6 100644
+--- a/lib/database.cc
++++ b/lib/database.cc
+@@ -925,20 +925,23 @@ notmuch_database_add_message (notmuch_database_t *notmuch,
+ if (private_status == NOTMUCH_PRIVATE_STATUS_NO_DOCUMENT_FOUND) {
+ _notmuch_message_set_filename (message, filename);
+ _notmuch_message_add_term (message, "type", "mail");
++
++ ret = _notmuch_database_link_message (notmuch, message, message_file);
++ if (ret)
++ goto DONE;
++
++ date = notmuch_message_file_get_header (message_file, "date");
++ _notmuch_message_set_date (message, date);
++
++ _notmuch_message_index_file (message, filename);
++ } else if (strcmp(notmuch_message_get_filename(message), filename)) {
++ /* Message file has been moved/renamed */
++ _notmuch_message_set_filename (message, filename);
+ } else {
+ ret = NOTMUCH_STATUS_DUPLICATE_MESSAGE_ID;
+ goto DONE;
+ }
+
+- ret = _notmuch_database_link_message (notmuch, message, message_file);
+- if (ret)
+- goto DONE;
+-
+- date = notmuch_message_file_get_header (message_file, "date");
+- _notmuch_message_set_date (message, date);
+-
+- _notmuch_message_index_file (message, filename);
+-
+ _notmuch_message_sync (message);
+ } catch (const Xapian::Error &error) {
+ fprintf (stderr, "A Xapian exception occurred: %s.\n",
+--
+1.6.3.3
+
+
--- /dev/null
+From: Mikhail Gusarov <dottedmag@dottedmag.net>
+To: notmuch@notmuchmail.org
+References: <20091117190054.GU3165@dottiness.seas.harvard.edu>
+Date: Wed, 18 Nov 2009 01:02:38 +0600
+In-Reply-To: <20091117190054.GU3165@dottiness.seas.harvard.edu> (Lars
+ Kellogg-Stedman's message of "Tue, 17 Nov 2009 14:00:54 -0500")
+Message-ID: <87iqd9rn3l.fsf@vertex.dottedmag>
+User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)
+MIME-Version: 1.0
+Subject: Re: [notmuch] Working with Maildir storage?
+X-BeenThere: notmuch@notmuchmail.org
+X-Mailman-Version: 2.1.12
+Precedence: list
+List-Id: "Use and development of the notmuch mail system."
+ <notmuch.notmuchmail.org>
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>
+List-Post: <mailto:notmuch@notmuchmail.org>
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
+Content-Type: multipart/mixed; boundary="===============1958295626=="
+Sender: notmuch-bounces@notmuchmail.org
+Errors-To: notmuch-bounces@notmuchmail.org
+
+--===============1958295626==
+Content-Type: multipart/signed; boundary="=-=-=";
+ micalg=pgp-sha1; protocol="application/pgp-signature"
+
+--=-=-=
+Content-Transfer-Encoding: quoted-printable
+
+
+Twas brillig at 14:00:54 17.11.2009 UTC-05 when lars@seas.harvard.edu did g=
+yre and gimble:
+
+ LK> Resulted in 4604 lines of errors along the lines of:
+
+ LK> Error opening
+ LK> /home/lars/Mail/read-messages.2008/cur/1246413773.24928_27334.hostna=
+me,U=3D3026:2,S:
+ LK> Too many open files
+
+See the patch just posted here.
+
+=2D-=20
+ http://fossarchy.blogspot.com/
+
+--=-=-=
+Content-Type: application/pgp-signature
+
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBAgAGBQJLAvNOAAoJEJ0g9lA+M4iIjLYQAKp0PXEgl3JMOEBisH52AsIK
+CzzfP4Fzd41K9VH/c1EdQWDYR6FCAA4IUSNICnJhITsYUb0eC5AKJiey3JP0+rmd
+s4qEFBKH2iuphv8Llltcv2Q8DyPuJBkVa3mO9XCCeABZ6v4UvnTSWRVG12csSEih
+ScgienU8sMrM9LwvvVI1ZB2flm2TzsH2hWi30jIgmtBntIKJaTgbFXB50FYFwULa
+gGL/oH3u+YpumedWzPZdCJrw2q7nMvYx8aQ29EDCNLZibAZe+6oDTa6Fv6/0ldpQ
+U+DptR0nJGbJTWa26OTSvmyeIORjAfM+TEI68n7KO9VHYPmVh6awcf0MNKYh2xWk
+eRQNBcKyQNWxeKyCCpT/rrTlpxBWahpvg+V8lkDH2W09wjRp6CUKvifK3Sz3am9m
+5ZUMpvXbwkZD6Ci6l/QytbYK50e8UpvFSu5DBaxBz59ykoypuNg2ayO5Kdi6IF5d
+T+Sw6wo8UKn9a33+vheIc0fkhZXbeSotEmDm7huazm6CgM3dcWXUpTuJvik1cSWp
+4buv98gY6IKWKoUTXODWUr+7VR4gei8du8qOsKem+QDfNX7tmaIRjhrbB24B91Wy
+td3MTJD7GjMNid0INqRY1CRMLo8YlPaq6NBZfcYtYgwa6gpJijz1/MAn8+GMrfhF
+9LI8b9jopNP+pMYBohLA
+=/ksP
+-----END PGP SIGNATURE-----
+--=-=-=--
+
+--===============1958295626==
+Content-Type: text/plain; charset="us-ascii"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Content-Disposition: inline
+
+_______________________________________________
+notmuch mailing list
+notmuch@notmuchmail.org
+http://notmuchmail.org/mailman/listinfo/notmuch
+
+--===============1958295626==--
+