[PATCH] lib: fix build on !HAVE_XAPIAN_COMPACT
Jani Nikula writes: > Minimal change to build notmuch against xapian that doesn't have > compaction support. pushed. d
[PATCH 00/11] Move notmuch-tree to mainline
On Wed, Oct 30 2013, Mark Walters wrote: > This is a more complete version of the move of pick/tree to > mainline. The previous version was at > id:1382257699-29860-1-git-send-email-markwalters1009 at gmail.com This series looks pretty good to me. IMO patches 1-6 are ready... > The previous version did not get the autoloading right: it all worked > on my setup as I had stale files around in my tree which were loaded. > This versions builds and tests pass at each stage on a fresh clone. You and Me seem to have different understanding what "autoload"ing means. To me autoloading means using (autoload ...) function. In patch 7 ( id:1383087338-10220-8-git-send-email-markwalters1009 at gmail.com ) (require 'notmuch-tree) is used. To me it is fine if this approach is taken, but then calling it autoloading in commit message (in patches 7 and 8) is confusing. However, if (autoload ...) syntax were actually used, it could be done the somewhat the following way: * Don't add (require 'notmuch-tree) in notmuch.el (Patch 7) * Add (autoload 'notmuch-tree-from-search-current-query "notmuch-tree" "docstring" t) to notmuch.el (maybe we can live without declare-function ?) * Add (autoload 'notmuch-tree "notmuch-tree" "docstring" t) to notmuch-lib.el. * Now Patch 9 is good as it is now. * Don't move the functions mentioned in Patch 9 from notmuch-tree.el to notmuch.el but write autoload (for notmuch-tree-from-search-thread) to notmuch.el * Now Patch 10 is good as it is now. * Leave notmuch-tree-from-show-current-query in notmuch-tree.el, and add autoload for it in notmuch-show.el. Now you can also drop (declare-function notmuch-tree ...) out from notmuch-show.el (Patch 11). Tomi > The diffstat at the bottom of this message is huge, so I include the > rather more informative output from git diff -stat -M here. > > Apart from the first patch (which moves 80 lines from notmuch.el to > notmuch-lib.el) the total is: > emacs/Makefile.local |1 + > emacs/notmuch-lib.el |1 + > emacs/notmuch-show.el | 10 > {contrib/notmuch-pick => emacs}/notmuch-tree.el| 47 ++- > emacs/notmuch.el | 16 +++ > {contrib/notmuch-pick/test => test}/emacs-tree | 13 - > test/notmuch-test |1 + > .../tree.expected-output/notmuch-tree-show-window |0 > .../notmuch-tree-single-thread |0 > .../tree.expected-output/notmuch-tree-tag-inbox|0 > .../notmuch-tree-tag-inbox-tagged |0 > .../notmuch-tree-tag-inbox-thread-tagged |0 > 12 files changed, 34 insertions(+), 55 deletions(-) > > > Obviously this clashes with the remap/help series at > id:1382821479-23384-1-git-send-email-markwalters1009 at gmail.com but > rebasing either way would be easy. > > Best wishes > > Mark > > > > > > Mark Walters (11): > emacs: move notmuch-help to lib > emacs: tree: remove unneeded declarations > emacs: move notmuch-tree from contrib to mainline > emacs: add tree to the makefile > test: move emacs-tree test into mainline > emacs: tree: remove test for emacs from tree test > emacs: minimal change to autoload notmuch-tree > test: tree: remove require from tests > emacs: move search based tree functions to notmuch.el > emacs: add z to common keymap > emacs: move the show entry to tree into show.el > > contrib/notmuch-pick/notmuch-tree.el | 951 > > contrib/notmuch-pick/test/emacs-tree | 210 - > .../tree.expected-output/notmuch-tree-show-window | 40 - > .../notmuch-tree-single-thread |6 - > .../tree.expected-output/notmuch-tree-tag-inbox| 53 -- > .../notmuch-tree-tag-inbox-tagged | 53 -- > .../notmuch-tree-tag-inbox-thread-tagged | 53 -- > emacs/Makefile.local |1 + > emacs/notmuch-lib.el | 88 ++ > emacs/notmuch-show.el | 10 + > emacs/notmuch-tree.el | 914 +++ > emacs/notmuch.el | 103 +-- > test/emacs-tree| 197 > test/notmuch-test |1 + > test/tree.expected-output/notmuch-tree-show-window | 40 + > .../notmuch-tree-single-thread |6 + > test/tree.expected-output/notmuch-tree-tag-inbox | 53 ++ > .../notmuch-tree-tag-inbox-tagged | 53 ++ > .../notmuch-tree-tag-inbox-thread-tagged | 53 ++ > 19 files changed, 1432 insertions(+), 1453 deletions(-) > delete mode 100644 contrib/notmuch-pick/notmuch-tree.el > delete mode 100755 contrib/notmuch-pick/test/emacs-tree > delete mode 100644 >
[PATCH 00/11] Move notmuch-tree to mainline
Hi Thanks for the review On Wed, 30 Oct 2013, Tomi Ollila wrote: > On Wed, Oct 30 2013, Mark Walters wrote: > >> This is a more complete version of the move of pick/tree to >> mainline. The previous version was at >> id:1382257699-29860-1-git-send-email-markwalters1009 at gmail.com > > This series looks pretty good to me. IMO patches 1-6 are ready... > >> The previous version did not get the autoloading right: it all worked >> on my setup as I had stale files around in my tree which were loaded. >> This versions builds and tests pass at each stage on a fresh clone. > > You and Me seem to have different understanding what "autoload"ing means. Sorry about that; I just meant that it was automatically loaded when notmuch was loaded (that is the user no longer needs an explicit (require 'notmuch-tree) in their .emacs file. I would probably just stick with the require approach (to be consistent with show etc) unless you (or others) prefer the real autoload as you describe. I will fix the commit messages in the next version. Many thanks Mark > To me autoloading means using (autoload ...) function. In patch 7 > ( id:1383087338-10220-8-git-send-email-markwalters1009 at gmail.com ) > (require 'notmuch-tree) is used. > > To me it is fine if this approach is taken, but then calling it autoloading > in commit message (in patches 7 and 8) is confusing. > > However, if (autoload ...) syntax were actually used, it could be done > the somewhat the following way: > > * Don't add (require 'notmuch-tree) in notmuch.el (Patch 7) > > * Add (autoload 'notmuch-tree-from-search-current-query "notmuch-tree" > "docstring" t) > to notmuch.el (maybe we can live without declare-function ?) > > * Add (autoload 'notmuch-tree "notmuch-tree" "docstring" t) to > notmuch-lib.el. > > * Now Patch 9 is good as it is now. > > * Don't move the functions mentioned in Patch 9 from notmuch-tree.el to > notmuch.el but write autoload (for notmuch-tree-from-search-thread) to > notmuch.el > > * Now Patch 10 is good as it is now. > > * Leave notmuch-tree-from-show-current-query in notmuch-tree.el, and add > autoload for it in notmuch-show.el. Now you can also drop > (declare-function notmuch-tree ...) out from notmuch-show.el (Patch 11). > > > Tomi > > >> The diffstat at the bottom of this message is huge, so I include the >> rather more informative output from git diff -stat -M here. >> >> Apart from the first patch (which moves 80 lines from notmuch.el to >> notmuch-lib.el) the total is: >> emacs/Makefile.local |1 + >> emacs/notmuch-lib.el |1 + >> emacs/notmuch-show.el | 10 >> {contrib/notmuch-pick => emacs}/notmuch-tree.el| 47 >> ++- >> emacs/notmuch.el | 16 +++ >> {contrib/notmuch-pick/test => test}/emacs-tree | 13 - >> test/notmuch-test |1 + >> .../tree.expected-output/notmuch-tree-show-window |0 >> .../notmuch-tree-single-thread |0 >> .../tree.expected-output/notmuch-tree-tag-inbox|0 >> .../notmuch-tree-tag-inbox-tagged |0 >> .../notmuch-tree-tag-inbox-thread-tagged |0 >> 12 files changed, 34 insertions(+), 55 deletions(-) >> >> >> Obviously this clashes with the remap/help series at >> id:1382821479-23384-1-git-send-email-markwalters1009 at gmail.com but >> rebasing either way would be easy. >> >> Best wishes >> >> Mark >> >> >> >> >> >> Mark Walters (11): >> emacs: move notmuch-help to lib >> emacs: tree: remove unneeded declarations >> emacs: move notmuch-tree from contrib to mainline >> emacs: add tree to the makefile >> test: move emacs-tree test into mainline >> emacs: tree: remove test for emacs from tree test >> emacs: minimal change to autoload notmuch-tree >> test: tree: remove require from tests >> emacs: move search based tree functions to notmuch.el >> emacs: add z to common keymap >> emacs: move the show entry to tree into show.el >> >> contrib/notmuch-pick/notmuch-tree.el | 951 >> >> contrib/notmuch-pick/test/emacs-tree | 210 - >> .../tree.expected-output/notmuch-tree-show-window | 40 - >> .../notmuch-tree-single-thread |6 - >> .../tree.expected-output/notmuch-tree-tag-inbox| 53 -- >> .../notmuch-tree-tag-inbox-tagged | 53 -- >> .../notmuch-tree-tag-inbox-thread-tagged | 53 -- >> emacs/Makefile.local |1 + >> emacs/notmuch-lib.el | 88 ++ >> emacs/notmuch-show.el | 10 + >> emacs/notmuch-tree.el | 914 >> +++ >> emacs/notmuch.el | 103 +-- >> test/emacs-tree
Re: [PATCH 00/11] Move notmuch-tree to mainline
On Wed, Oct 30 2013, Mark Walters markwalters1...@gmail.com wrote: This is a more complete version of the move of pick/tree to mainline. The previous version was at id:1382257699-29860-1-git-send-email-markwalters1...@gmail.com This series looks pretty good to me. IMO patches 1-6 are ready... The previous version did not get the autoloading right: it all worked on my setup as I had stale files around in my tree which were loaded. This versions builds and tests pass at each stage on a fresh clone. You and Me seem to have different understanding what autoloading means. To me autoloading means using (autoload ...) function. In patch 7 ( id:1383087338-10220-8-git-send-email-markwalters1...@gmail.com ) (require 'notmuch-tree) is used. To me it is fine if this approach is taken, but then calling it autoloading in commit message (in patches 7 and 8) is confusing. However, if (autoload ...) syntax were actually used, it could be done the somewhat the following way: * Don't add (require 'notmuch-tree) in notmuch.el (Patch 7) * Add (autoload 'notmuch-tree-from-search-current-query notmuch-tree docstring t) to notmuch.el (maybe we can live without declare-function ?) * Add (autoload 'notmuch-tree notmuch-tree docstring t) to notmuch-lib.el. * Now Patch 9 is good as it is now. * Don't move the functions mentioned in Patch 9 from notmuch-tree.el to notmuch.el but write autoload (for notmuch-tree-from-search-thread) to notmuch.el * Now Patch 10 is good as it is now. * Leave notmuch-tree-from-show-current-query in notmuch-tree.el, and add autoload for it in notmuch-show.el. Now you can also drop (declare-function notmuch-tree ...) out from notmuch-show.el (Patch 11). Tomi The diffstat at the bottom of this message is huge, so I include the rather more informative output from git diff -stat -M here. Apart from the first patch (which moves 80 lines from notmuch.el to notmuch-lib.el) the total is: emacs/Makefile.local |1 + emacs/notmuch-lib.el |1 + emacs/notmuch-show.el | 10 {contrib/notmuch-pick = emacs}/notmuch-tree.el| 47 ++- emacs/notmuch.el | 16 +++ {contrib/notmuch-pick/test = test}/emacs-tree | 13 - test/notmuch-test |1 + .../tree.expected-output/notmuch-tree-show-window |0 .../notmuch-tree-single-thread |0 .../tree.expected-output/notmuch-tree-tag-inbox|0 .../notmuch-tree-tag-inbox-tagged |0 .../notmuch-tree-tag-inbox-thread-tagged |0 12 files changed, 34 insertions(+), 55 deletions(-) Obviously this clashes with the remap/help series at id:1382821479-23384-1-git-send-email-markwalters1...@gmail.com but rebasing either way would be easy. Best wishes Mark Mark Walters (11): emacs: move notmuch-help to lib emacs: tree: remove unneeded declarations emacs: move notmuch-tree from contrib to mainline emacs: add tree to the makefile test: move emacs-tree test into mainline emacs: tree: remove test for emacs from tree test emacs: minimal change to autoload notmuch-tree test: tree: remove require from tests emacs: move search based tree functions to notmuch.el emacs: add z to common keymap emacs: move the show entry to tree into show.el contrib/notmuch-pick/notmuch-tree.el | 951 contrib/notmuch-pick/test/emacs-tree | 210 - .../tree.expected-output/notmuch-tree-show-window | 40 - .../notmuch-tree-single-thread |6 - .../tree.expected-output/notmuch-tree-tag-inbox| 53 -- .../notmuch-tree-tag-inbox-tagged | 53 -- .../notmuch-tree-tag-inbox-thread-tagged | 53 -- emacs/Makefile.local |1 + emacs/notmuch-lib.el | 88 ++ emacs/notmuch-show.el | 10 + emacs/notmuch-tree.el | 914 +++ emacs/notmuch.el | 103 +-- test/emacs-tree| 197 test/notmuch-test |1 + test/tree.expected-output/notmuch-tree-show-window | 40 + .../notmuch-tree-single-thread |6 + test/tree.expected-output/notmuch-tree-tag-inbox | 53 ++ .../notmuch-tree-tag-inbox-tagged | 53 ++ .../notmuch-tree-tag-inbox-thread-tagged | 53 ++ 19 files changed, 1432 insertions(+), 1453 deletions(-) delete mode 100644 contrib/notmuch-pick/notmuch-tree.el delete mode 100755 contrib/notmuch-pick/test/emacs-tree delete mode 100644 contrib/notmuch-pick/test/tree.expected-output/notmuch-tree-show-window delete mode
Re: [PATCH 00/11] Move notmuch-tree to mainline
Hi Thanks for the review On Wed, 30 Oct 2013, Tomi Ollila tomi.oll...@iki.fi wrote: On Wed, Oct 30 2013, Mark Walters markwalters1...@gmail.com wrote: This is a more complete version of the move of pick/tree to mainline. The previous version was at id:1382257699-29860-1-git-send-email-markwalters1...@gmail.com This series looks pretty good to me. IMO patches 1-6 are ready... The previous version did not get the autoloading right: it all worked on my setup as I had stale files around in my tree which were loaded. This versions builds and tests pass at each stage on a fresh clone. You and Me seem to have different understanding what autoloading means. Sorry about that; I just meant that it was automatically loaded when notmuch was loaded (that is the user no longer needs an explicit (require 'notmuch-tree) in their .emacs file. I would probably just stick with the require approach (to be consistent with show etc) unless you (or others) prefer the real autoload as you describe. I will fix the commit messages in the next version. Many thanks Mark To me autoloading means using (autoload ...) function. In patch 7 ( id:1383087338-10220-8-git-send-email-markwalters1...@gmail.com ) (require 'notmuch-tree) is used. To me it is fine if this approach is taken, but then calling it autoloading in commit message (in patches 7 and 8) is confusing. However, if (autoload ...) syntax were actually used, it could be done the somewhat the following way: * Don't add (require 'notmuch-tree) in notmuch.el (Patch 7) * Add (autoload 'notmuch-tree-from-search-current-query notmuch-tree docstring t) to notmuch.el (maybe we can live without declare-function ?) * Add (autoload 'notmuch-tree notmuch-tree docstring t) to notmuch-lib.el. * Now Patch 9 is good as it is now. * Don't move the functions mentioned in Patch 9 from notmuch-tree.el to notmuch.el but write autoload (for notmuch-tree-from-search-thread) to notmuch.el * Now Patch 10 is good as it is now. * Leave notmuch-tree-from-show-current-query in notmuch-tree.el, and add autoload for it in notmuch-show.el. Now you can also drop (declare-function notmuch-tree ...) out from notmuch-show.el (Patch 11). Tomi The diffstat at the bottom of this message is huge, so I include the rather more informative output from git diff -stat -M here. Apart from the first patch (which moves 80 lines from notmuch.el to notmuch-lib.el) the total is: emacs/Makefile.local |1 + emacs/notmuch-lib.el |1 + emacs/notmuch-show.el | 10 {contrib/notmuch-pick = emacs}/notmuch-tree.el| 47 ++- emacs/notmuch.el | 16 +++ {contrib/notmuch-pick/test = test}/emacs-tree | 13 - test/notmuch-test |1 + .../tree.expected-output/notmuch-tree-show-window |0 .../notmuch-tree-single-thread |0 .../tree.expected-output/notmuch-tree-tag-inbox|0 .../notmuch-tree-tag-inbox-tagged |0 .../notmuch-tree-tag-inbox-thread-tagged |0 12 files changed, 34 insertions(+), 55 deletions(-) Obviously this clashes with the remap/help series at id:1382821479-23384-1-git-send-email-markwalters1...@gmail.com but rebasing either way would be easy. Best wishes Mark Mark Walters (11): emacs: move notmuch-help to lib emacs: tree: remove unneeded declarations emacs: move notmuch-tree from contrib to mainline emacs: add tree to the makefile test: move emacs-tree test into mainline emacs: tree: remove test for emacs from tree test emacs: minimal change to autoload notmuch-tree test: tree: remove require from tests emacs: move search based tree functions to notmuch.el emacs: add z to common keymap emacs: move the show entry to tree into show.el contrib/notmuch-pick/notmuch-tree.el | 951 contrib/notmuch-pick/test/emacs-tree | 210 - .../tree.expected-output/notmuch-tree-show-window | 40 - .../notmuch-tree-single-thread |6 - .../tree.expected-output/notmuch-tree-tag-inbox| 53 -- .../notmuch-tree-tag-inbox-tagged | 53 -- .../notmuch-tree-tag-inbox-thread-tagged | 53 -- emacs/Makefile.local |1 + emacs/notmuch-lib.el | 88 ++ emacs/notmuch-show.el | 10 + emacs/notmuch-tree.el | 914 +++ emacs/notmuch.el | 103 +-- test/emacs-tree| 197 test/notmuch-test |1 + test/tree.expected-output/notmuch-tree-show-window | 40 +
Re: [PATCH] lib: fix build on !HAVE_XAPIAN_COMPACT
Jani Nikula j...@nikula.org writes: Minimal change to build notmuch against xapian that doesn't have compaction support. pushed. d ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
[PATCH 1/4] test: Add compact test
Signed-off-by: Ben Gamari bgamari.f...@gmail.com --- test/compact | 32 test/notmuch-test | 1 + 2 files changed, 33 insertions(+) create mode 100755 test/compact diff --git a/test/compact b/test/compact new file mode 100755 index 000..5bb5cea --- /dev/null +++ b/test/compact @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +test_description='notmuch compact' +. ./test-lib.sh + +add_message '[subject]=One' +add_message '[subject]=Two' +add_message '[subject]=Three' + +notmuch tag +tag1 \* +notmuch tag +tag2 subject:Two +notmuch tag -tag1 +tag3 subject:Three + +test_expect_success Running compact notmuch compact + +test_begin_subtest Compact preserves database +output=$(notmuch search \* | notmuch_search_sanitize) +test_expect_equal $output \ +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; One (inbox tag1 unread) +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Two (inbox tag1 tag2 unread) +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Three (inbox tag3 unread) + +test_begin_subtest Restoring backup +rm -Rf ${TEST_TMPDIR}/mail/xapian +mv ${TEST_TMPDIR}/mail/xapian.old ${TEST_TMPDIR}/mail/xapian + +output=$(notmuch search \* | notmuch_search_sanitize) +test_expect_equal $output \ +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; One (inbox tag1 unread) +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Two (inbox tag1 tag2 unread) +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Three (inbox tag3 unread) + +test_done diff --git a/test/notmuch-test b/test/notmuch-test index aa28bb0..ec94baf 100755 --- a/test/notmuch-test +++ b/test/notmuch-test @@ -19,6 +19,7 @@ cd $(dirname $0) TESTS= basic help-test + compact config setup new -- 1.8.3.2 ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
Re: [PATCH 1/4] test: Add compact test
Tomi Ollila tomi.oll...@iki.fi writes: On Tue, Oct 29 2013, Ben Gamari bgamari.f...@gmail.com wrote: Signed-off-by: Ben Gamari bgamari.f...@gmail.com --- Patches 2, 3 4 Looks OK To Me. Thanks. A few comments on this patch inline: Thanks again for the review! test/compact | 35 +++ test/notmuch-test | 1 + 2 files changed, 36 insertions(+) create mode 100755 test/compact diff --git a/test/compact b/test/compact new file mode 100755 index 000..54e85ab --- /dev/null +++ b/test/compact @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +test_description='notmuch compact' +. ./test-lib.sh + +add_message '[subject]=One' +add_message '[subject]=Two' +add_message '[subject]=Three' + +notmuch tag +tag1 \* +notmuch tag +tag2 subject:Two +notmuch tag -tag1 +tag3 subject:Three + +test_begin_subtest Compacting +notmuch compact +test_expect_success compact notmuch compact test_expect_success executes $2 (notmuch compact in this case) do you mean to run notmuch 'compact twice' ? It's been a while but I suspect I just never cleaned up the patch after coming to this realization. Anyways, it's fixed in the revised patch coming shortly. +notmuch search \* +output=$(notmuch search \* | notmuch_search_sanitize) Now do you mean to run 'notmuch search \*' twice ? +test_expect_equal $output \ +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; One (inbox tag1 unread) +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Two (inbox tag1 tag2 unread) +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Three (inbox tag3 unread) + +test_begin_subtest Restoring backup +rm -Rf ${TEST_TMPDIR}/mail/xapian +mv ${TEST_TMPDIR}/mail/xapian.old ${TEST_TMPDIR}/mail/xapian + +notmuch search \* +output=$(notmuch search \* | notmuch_search_sanitize) again... ? ... actually David Bremner had even more insightful comments in id:874n8cw2yq.fsf@zancas.localnet to these same issues :D Hmm, it seems I overlooked these. Thanks for the reference. Cheers, - Ben pgp93a9BTV1N7.pgp Description: PGP signature ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch