[Patch v5 3/6] util: add gz_readline

2014-04-02 Thread Austin Clements
Quoth Tomi Ollila on Apr 02 at 7:43 pm: > On Wed, Apr 02 2014, Austin Clements wrote: > > > Quoth David Bremner on Apr 01 at 10:16 pm: > >> The idea is to provide a more or less drop in replacement for readline > >> to read from zlib/gzip streams. Take the oppo

[Patch v5 5/6] notmuch-new: backup tags before database upgrade

2014-04-02 Thread Austin Clements
Quoth David Bremner on Apr 01 at 10:16 pm: > All we do here is calculate the backup filename, and call the existing > dump routine. > > Also take the opportity to add a message about being safe to > interrupt. > --- > notmuch-new.c| 29 - >

[Patch v5 3/6] util: add gz_readline

2014-04-02 Thread Austin Clements
Quoth David Bremner on Apr 01 at 10:16 pm: > The idea is to provide a more or less drop in replacement for readline > to read from zlib/gzip streams. Take the opportunity to replace > malloc with talloc. > --- > util/Makefile.local | 2 +- > util/util.h | 12 + >

Re: [Patch v5 3/6] util: add gz_readline

2014-04-02 Thread Austin Clements
Quoth Tomi Ollila on Apr 02 at 7:43 pm: On Wed, Apr 02 2014, Austin Clements amdra...@mit.edu wrote: Quoth David Bremner on Apr 01 at 10:16 pm: The idea is to provide a more or less drop in replacement for readline to read from zlib/gzip streams. Take the opportunity to replace malloc

Re: [Patch v5 2/6] dump: when given output file name, write atomically

2014-04-02 Thread Austin Clements
On Tue, 01 Apr 2014, Austin Clements amdra...@mit.edu wrote: (Pardon the mobile review) Apparently it's 2014 and the latest and greatest version of Android still can't be bothered to add threading headers to emails. This message should at least put it in the right thread by exploiting notmuch's

[Patch v5 4/6] restore: transparently support gzipped input

2014-04-01 Thread Austin Clements
Quoth David Bremner on Apr 01 at 10:16 pm: > We rely completely on zlib to do the right thing in detecting gzipped > input. Since our dump format is chosen to be 7 bit ascii, this should > be fine. > --- > doc/man1/notmuch-restore.rst | 8 > notmuch-restore.c| 37

[Patch v5 2/6] dump: when given output file name, write atomically

2014-04-01 Thread Austin Clements
(Pardon the mobile review) On Apr 1, 2014 9:16 PM, David Bremner wrote: > > It is useful to able to tell whether a dump completed successfully in > situtions where we don't have access to the return code. "Situations."? This commit message doesn't seem very related to atomicity? > --- >

Re: [Patch v5 2/6] dump: when given output file name, write atomically

2014-04-01 Thread Austin Clements
(Pardon the mobile review) On Apr 1, 2014 9:16 PM, David Bremner da...@tethera.net wrote: It is useful to able to tell whether a dump completed successfully in situtions where we don't have access to the return code. Situations.  This commit message doesn't seem very related to atomicity?

Re: [Patch v5 4/6] restore: transparently support gzipped input

2014-04-01 Thread Austin Clements
Quoth David Bremner on Apr 01 at 10:16 pm: We rely completely on zlib to do the right thing in detecting gzipped input. Since our dump format is chosen to be 7 bit ascii, this should be fine. --- doc/man1/notmuch-restore.rst | 8 notmuch-restore.c| 37

Re: [Patch v5 3/6] util: add gz_readline

2014-04-01 Thread Austin Clements
Quoth David Bremner on Apr 01 at 10:16 pm: The idea is to provide a more or less drop in replacement for readline to read from zlib/gzip streams. Take the opportunity to replace malloc with talloc. --- util/Makefile.local | 2 +- util/util.h | 12 + util/zlib-extra.c |

Re: [Patch v5 5/6] notmuch-new: backup tags before database upgrade

2014-04-01 Thread Austin Clements
Quoth David Bremner on Apr 01 at 10:16 pm: All we do here is calculate the backup filename, and call the existing dump routine. Also take the opportity to add a message about being safe to interrupt. --- notmuch-new.c| 29 - test/T530-upgrade.sh | 4

[PATCH v4] lib: replace the header parser with gmime

2014-03-29 Thread Austin Clements
Various little comments below. Overall this is looking really good. Quoth Jani Nikula on Mar 23 at 10:01 pm: > The notmuch library includes a full blown message header parser. Yet > the same message headers are parsed by gmime during indexing. Switch > to gmime parsing completely. > > These are

Re: [PATCH v4] lib: replace the header parser with gmime

2014-03-29 Thread Austin Clements
Various little comments below. Overall this is looking really good. Quoth Jani Nikula on Mar 23 at 10:01 pm: The notmuch library includes a full blown message header parser. Yet the same message headers are parsed by gmime during indexing. Switch to gmime parsing completely. These are the

[PATCH] cli: Flush stdout before fork()ing to run hooks

2014-03-23 Thread Austin Clements
Without this flush, if stdout is block buffered (which will happen if it's a pipe or a file, for example) and the hook also writes to stdout, then notmuch new's output will appear *after* the hook output. This situation may be a little esoteric, but it's good practice to flush before you fork

[PATCH] test: Test thread linking in all possible delivery orders

2014-03-23 Thread Austin Clements
This test delivers all possible (single-root) four-message threads in all possible orders and checks that notmuch successfully links them into threads in every case. This is introduced as a new test (rather than just adding it to T050-new) because it's much easier for this to start with an empty

[PATCH] test: Test thread linking in all possible delivery orders

2014-03-23 Thread Austin Clements
This test delivers all possible (single-root) four-message threads in all possible orders and checks that notmuch successfully links them into threads in every case. This is introduced as a new test (rather than just adding it to T050-new) because it's much easier for this to start with an empty

[PATCH] cli: Flush stdout before fork()ing to run hooks

2014-03-23 Thread Austin Clements
Without this flush, if stdout is block buffered (which will happen if it's a pipe or a file, for example) and the hook also writes to stdout, then notmuch new's output will appear *after* the hook output. This situation may be a little esoteric, but it's good practice to flush before you fork

[Patch v4 0/8] emacs: show tag changes in buffer

2014-03-22 Thread Austin Clements
LGTM. Ship it! Quoth Mark Walters on Mar 22 at 11:51 am: > This is v4 of this patch set. V3 is at > id:1394597397-8486-1-git-send-email-markwalters1009 at gmail.com. This > addresses all the review comments from Austin. > > Patches 1-3 and 6-8 are unchanged. For patch 5 I have changed the >

[Patch v3 5/8] emacs: show: mark tags changed since buffer loaded

2014-03-22 Thread Austin Clements
Quoth Mark Walters on Mar 12 at 4:09 am: > This allows (and requires) the original-tags to be passed along with > the current-tags to be passed to notmuch-tag-format-tags. This allows > the tag formatting to show added and deleted tags.By default a removed > tag is displayed with strike-through

Re: [Patch v4 0/8] emacs: show tag changes in buffer

2014-03-22 Thread Austin Clements
LGTM. Ship it! Quoth Mark Walters on Mar 22 at 11:51 am: This is v4 of this patch set. V3 is at id:1394597397-8486-1-git-send-email-markwalters1...@gmail.com. This addresses all the review comments from Austin. Patches 1-3 and 6-8 are unchanged. For patch 5 I have changed the comments

[Patch v3 4/8] emacs: tag: add customize for deleted/added tag formats

2014-03-21 Thread Austin Clements
Quoth Mark Walters on Mar 12 at 4:09 am: > Add customize options for deleted/added tag formats. These are not > used yet but will be later in the series. > > We switch to using `notmuch-apply-face' rather than `propertize' in > the defcustom for faces so that the faces for deleted/added tags

Re: [Patch v3 4/8] emacs: tag: add customize for deleted/added tag formats

2014-03-21 Thread Austin Clements
Quoth Mark Walters on Mar 12 at 4:09 am: Add customize options for deleted/added tag formats. These are not used yet but will be later in the series. We switch to using `notmuch-apply-face' rather than `propertize' in the defcustom for faces so that the faces for deleted/added tags add to

Re: [Patch v3 5/8] emacs: show: mark tags changed since buffer loaded

2014-03-21 Thread Austin Clements
Quoth Mark Walters on Mar 12 at 4:09 am: This allows (and requires) the original-tags to be passed along with the current-tags to be passed to notmuch-tag-format-tags. This allows the tag formatting to show added and deleted tags.By default a removed tag is displayed with strike-through in

v6 of boolean folder patches

2014-03-11 Thread Austin Clements
Quoth David Bremner on Mar 11 at 8:01 pm: > This supercedes the thread at > > id:aa121361c0ad354f2c6d45b776299a0ba59b6844.1394400503.git.jani at > nikula.org > > Since the last (amended) series to the list, we > > renamed the database back to a generic name > regenerated

[PATCH 2/2] emacs: Use whitelist instead of blacklist for term escaping

2014-03-11 Thread Austin Clements
Previously, the term escaper used a blacklist of characters that needed escaping. This blacklist turned out to be somewhat incomplete; for example, it did not contain non-whitespace ASCII control characters or Unicode "fancy quotes", both of which do require the term to be escaped. Switch to a

[PATCH 1/2] test: Add broken test for Emacs boolean term escaping

2014-03-11 Thread Austin Clements
The current term escaper gets most of these right, but fails to escape things containing Unicode "fancy quotes" or things containing non-whitespace control characters. --- test/T310-emacs.sh | 12 1 file changed, 12 insertions(+) diff --git a/test/T310-emacs.sh b/test/T310-emacs.sh

[PATCH v2] util: Fix two corner-cases in boolean term quoting function

2014-03-11 Thread Austin Clements
Previously, make_boolean_term did not quote empty boolean terms or boolean terms that started with '('. These cases are incompatible with Xapian: empty terms cannot be omitted, and boolean terms that start with '(' trigger an alternate term quoting syntax. Fix this by quoting empty terms and

[PATCH] util: Fix corner-case in boolean term quoting function

2014-03-11 Thread Austin Clements
Previously, make_boolean_term did not quote boolean terms that started with '('. This is incompatible with Xapian, since boolean terms that start with '(' trigger an alternate term quoting syntax. Fix this by quoting terms that contain '('. --- util/string-util.c | 4 ++-- 1 file changed, 2

[PATCH] emacs: Combine notmuch-combine-face-text-property{,-string}

2014-03-11 Thread Austin Clements
This combines our two face combining functions into one, easy to use function with a much shorter name: `notmuch-apply-face'. This function takes the full set of arguments that `notmuch-combine-face-text-property' took, but takes them in a more convenient order and provides smarter defaults that

[PATCH] util: Fix corner-case in boolean term quoting function

2014-03-11 Thread Austin Clements
Previously, make_boolean_term did not quote boolean terms that started with '('. This is incompatible with Xapian, since boolean terms that start with '(' trigger an alternate term quoting syntax. Fix this by quoting terms that contain '('. --- util/string-util.c | 4 ++-- 1 file changed, 2

[PATCH v2] util: Fix two corner-cases in boolean term quoting function

2014-03-11 Thread Austin Clements
Previously, make_boolean_term did not quote empty boolean terms or boolean terms that started with '('. These cases are incompatible with Xapian: empty terms cannot be omitted, and boolean terms that start with '(' trigger an alternate term quoting syntax. Fix this by quoting empty terms and

Re: v6 of boolean folder patches

2014-03-11 Thread Austin Clements
Quoth David Bremner on Mar 11 at 8:01 pm: This supercedes the thread at id:aa121361c0ad354f2c6d45b776299a0ba59b6844.1394400503.git.j...@nikula.org Since the last (amended) series to the list, we renamed the database back to a generic name regenerated the database

[PATCH v2.1 6/7] emacs: search: use orig-tags in search

2014-03-10 Thread Austin Clements
On Sat, 22 Feb 2014, Mark Walters wrote: > This uses the recent functionality to show the tag changes in the > search buffer. Currently this is only used to show changes the search > buffer makes itself: i.e., it does not make display any changes > reflecting tagging done by other

[PATCH v2 3/7] emacs: tag: add customize for deleted/added tag formats

2014-03-10 Thread Austin Clements
On Wed, 19 Feb 2014, Mark Walters wrote: > Add customize options for deleted/added tag formats. These are not > used yet but will be later in the series. > --- > emacs/notmuch-tag.el | 31 +++ > 1 files changed, 31 insertions(+), 0 deletions(-) > > diff --git

[PATCH v2 4/7] emacs: show: mark tags changed since buffer loaded

2014-03-10 Thread Austin Clements
On Wed, 19 Feb 2014, Mark Walters wrote: > This allows (and requires) the original-tags to be passed along with > the current-tags to be passed to notmuch-tag-format-tags. This allows > the tag formatting to show added and deleted tags.By default a removed > tag is displayed with strike-through

[PATCH v2 3/7] emacs: tag: add customize for deleted/added tag formats

2014-03-10 Thread Austin Clements
On Wed, 19 Feb 2014, Mark Walters wrote: > Add customize options for deleted/added tag formats. These are not > used yet but will be later in the series. > --- > emacs/notmuch-tag.el | 31 +++ > 1 files changed, 31 insertions(+), 0 deletions(-) > > diff --git

[PATCH v2 1/7] Make keys of notmuch-tag-formats regexps and use caching

2014-03-10 Thread Austin Clements
On Wed, 19 Feb 2014, Mark Walters wrote: > From: Austin Clements > > This patch switches notmuch-tag-formats to use regexps with caching > for performance. > > We have to clear the cache somehow on changes to notmuch-tag-formats. > This version takes the simplest approach:

[PATCH v4 00/13] boolean folder: and path: searches

2014-03-10 Thread Austin Clements
v5 LGTM. Quoth Jani Nikula on Mar 09 at 11:40 pm: > This is v4 of id:1394313585-28422-1-git-send-email-david at tethera.net.

Re: [PATCH v4 00/13] boolean folder: and path: searches

2014-03-10 Thread Austin Clements
v5 LGTM. Quoth Jani Nikula on Mar 09 at 11:40 pm: This is v4 of id:1394313585-28422-1-git-send-email-da...@tethera.net. ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch

Re: [PATCH v2 4/7] emacs: show: mark tags changed since buffer loaded

2014-03-10 Thread Austin Clements
On Wed, 19 Feb 2014, Mark Walters markwalters1...@gmail.com wrote: This allows (and requires) the original-tags to be passed along with the current-tags to be passed to notmuch-tag-format-tags. This allows the tag formatting to show added and deleted tags.By default a removed tag is displayed

Re: [PATCH v2 3/7] emacs: tag: add customize for deleted/added tag formats

2014-03-10 Thread Austin Clements
On Wed, 19 Feb 2014, Mark Walters markwalters1...@gmail.com wrote: Add customize options for deleted/added tag formats. These are not used yet but will be later in the series. --- emacs/notmuch-tag.el | 31 +++ 1 files changed, 31 insertions(+), 0 deletions(-)

[Patch v3 04/15] lib: make folder: prefix literal

2014-03-09 Thread Austin Clements
Quoth Jani Nikula on Mar 09 at 10:45 am: > On Sun, 09 Mar 2014, Austin Clements wrote: > > Quoth David Bremner on Mar 08 at 5:19 pm: > >> From: Jani Nikula > >> > >> In xapian terms, convert folder: prefix from probabilistic to boolean > >> prefix,

Re: [Patch v3 04/15] lib: make folder: prefix literal

2014-03-09 Thread Austin Clements
Quoth Jani Nikula on Mar 09 at 10:45 am: On Sun, 09 Mar 2014, Austin Clements amdra...@mit.edu wrote: Quoth David Bremner on Mar 08 at 5:19 pm: From: Jani Nikula j...@nikula.org In xapian terms, convert folder: prefix from probabilistic to boolean prefix, matching the paths, relative

[Patch v3 10/15] man: update man pages for folder: and path: search terms

2014-03-08 Thread Austin Clements
Quoth David Bremner on Mar 08 at 5:19 pm: > From: Jani Nikula > > --- > man/man7/notmuch-search-terms.7 | 28 ++-- > 1 file changed, 22 insertions(+), 6 deletions(-) > > diff --git a/man/man7/notmuch-search-terms.7 b/man/man7/notmuch-search-terms.7 > index

[Patch v3 08/15] test: add tests for the new boolean folder: and path: prefixes

2014-03-08 Thread Austin Clements
Quoth David Bremner on Mar 08 at 5:19 pm: > From: Jani Nikula > > Additional tests for the boolean folder: and path: prefixes using the > new corpus. > --- > test/T101-search-by-folder-and-path.sh | 83 > ++ Would it be possible to fold these in to (or simply

[Patch v3 04/15] lib: make folder: prefix literal

2014-03-08 Thread Austin Clements
Quoth David Bremner on Mar 08 at 5:19 pm: > From: Jani Nikula > > In xapian terms, convert folder: prefix from probabilistic to boolean > prefix, matching the paths, relative form the maildir root, of the s/form/from/ > message files, ignoring the maildir new and cur leaf directories. > >

Re: [Patch v3 04/15] lib: make folder: prefix literal

2014-03-08 Thread Austin Clements
Quoth David Bremner on Mar 08 at 5:19 pm: From: Jani Nikula j...@nikula.org In xapian terms, convert folder: prefix from probabilistic to boolean prefix, matching the paths, relative form the maildir root, of the s/form/from/ message files, ignoring the maildir new and cur leaf

Re: [Patch v3 08/15] test: add tests for the new boolean folder: and path: prefixes

2014-03-08 Thread Austin Clements
Quoth David Bremner on Mar 08 at 5:19 pm: From: Jani Nikula j...@nikula.org Additional tests for the boolean folder: and path: prefixes using the new corpus. --- test/T101-search-by-folder-and-path.sh | 83 ++ Would it be possible to fold these in to (or

Re: [Patch v3 10/15] man: update man pages for folder: and path: search terms

2014-03-08 Thread Austin Clements
Quoth David Bremner on Mar 08 at 5:19 pm: From: Jani Nikula j...@nikula.org --- man/man7/notmuch-search-terms.7 | 28 ++-- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/man/man7/notmuch-search-terms.7 b/man/man7/notmuch-search-terms.7 index

[PATCH] notmuch new: add a --in-directory option

2014-03-06 Thread Austin Clements
I haven't thought about this as a patch yet, but wanted to point out that it should probably skip the removal step if it's only scanning a subdirectory. Otherwise, messages that are moved out of the scanned directory into some other may be considered deleted and get removed from the database.

how to specify notmuch colors in emacs24

2014-03-06 Thread Austin Clements
Quoth David Belohrad on Mar 06 at 2:24 pm: > Dear All, > > so far I'm changing some color faces programmatically: > > (setq notmuch-search-line-faces '(("deleted" . (:foreground "red" > :background "blue")) >

Re: [PATCH] notmuch new: add a --in-directory option

2014-03-06 Thread Austin Clements
I haven't thought about this as a patch yet, but wanted to point out that it should probably skip the removal step if it's only scanning a subdirectory. Otherwise, messages that are moved out of the scanned directory into some other may be considered deleted and get removed from the database.

[PATCH] test: Print the number of the test along with its name

2014-03-04 Thread Austin Clements
Previously, we stripped the "Tnnn-" part from the test name when printing its description at the beginning of each test. However, this makes it difficult to find the source script for a test (e.g., when a test fails). Put this prefix back. --- test/test-lib.sh | 2 +- 1 file changed, 1

[PATCH] test: Print the number of the test along with its name

2014-03-03 Thread Austin Clements
Previously, we stripped the Tnnn- part from the test name when printing its description at the beginning of each test. However, this makes it difficult to find the source script for a test (e.g., when a test fails). Put this prefix back. --- test/test-lib.sh | 2 +- 1 file changed, 1

[PATCH v2] emacs: Simplify and fix `notmuch-mua-prompt-for-sender'

2014-02-27 Thread Austin Clements
`notmuch-mua-prompt-for-sender' is over-engineered and often wrong. It attempts to detect when all identities have the same name and specialize the prompt to just the email address part. However, to do this it uses `mail-extract-address-components', which is meant for displaying email addresses,

[PATCH v2] emacs: Simplify and fix `notmuch-mua-prompt-for-sender'

2014-02-27 Thread Austin Clements
`notmuch-mua-prompt-for-sender' is over-engineered and often wrong. It attempts to detect when all identities have the same name and specialize the prompt to just the email address part. However, to do this it uses `mail-extract-address-components', which is meant for displaying email addresses,

[PATCH] test: Simplify CLEAN list construction

2014-02-25 Thread Austin Clements
Construct as much of the CLEAN list from TEST_BINARIES as possible, rather than duplicating this information by hand. --- test/Makefile.local | 7 +-- 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/test/Makefile.local b/test/Makefile.local index 8870ca3..99324ba 100644 ---

[PATCH] test: Simplify CLEAN list construction

2014-02-25 Thread Austin Clements
Construct as much of the CLEAN list from TEST_BINARIES as possible, rather than duplicating this information by hand. --- test/Makefile.local | 7 +-- 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/test/Makefile.local b/test/Makefile.local index 8870ca3..99324ba 100644 ---

[PATCH 4/4] emacs: Simplify and fix `notmuch-mua-prompt-for-sender'

2014-02-20 Thread Austin Clements
py to ignore that situation. > 2) make notmuch-identities a list of cons cells (name . email). Then > there is no parsing and the old method could be robust. > > OTOH I can get used to the change. > > Best wishes > > Mark > > > > On Thu, 20 Feb 2014,

[PATCH 4/4] emacs: Simplify and fix `notmuch-mua-prompt-for-sender'

2014-02-20 Thread Austin Clements
`notmuch-mua-prompt-for-sender' is over-engineered and often wrong. It attempts to detect when all identities have the same name and specialize the prompt to just the email address part, but this has several problems. First, it uses `mail-extract-address-components', which is meant for displaying

[PATCH 3/4] emacs: Fix `notmuch-user-other-email' when no other emails are configured

2014-02-20 Thread Austin Clements
Thanks to the previous patch, this no longer crashes in this situation, but now would return (""). Fix it to return () when no emails are configured. --- emacs/notmuch-lib.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el index

[PATCH 2/4] emacs: Fix exception when fetching empty or unconfigured settings

2014-02-20 Thread Austin Clements
When "notmuch config" is called with the name of an empty or unconfigured setting, it prints nothing (not even a new line). Previously, `notmuch-config-get' assumed it would always print a newline. As a result, when `notmuch-config-get' was called with the name of an empty of unconfigured

[PATCH 1/4] emacs: Build forwarded message buffer more directly

2014-02-20 Thread Austin Clements
Previously, we used `message-forward' to build forwarded messages, but this function is simply too high-level to be a good fit for some of what we do. First, since `message-forward' builds a full forward message buffer given the message to forward, we have to duplicate much of the logic in

[PATCH 0/4] Bug fixes for identity handling in Emacs

2014-02-20 Thread Austin Clements
This series fixes several bugs surrounding identity handling in Emacs. It was inspired by a problem that bjonnh on IRC had where forwarding from an address where the full name matched the mailbox would crash `notmuch-mua-new-forward-message'. While it was possible to work around that specific

[PATCH 2/4] emacs: Fix exception when fetching empty or unconfigured settings

2014-02-20 Thread Austin Clements
When notmuch config is called with the name of an empty or unconfigured setting, it prints nothing (not even a new line). Previously, `notmuch-config-get' assumed it would always print a newline. As a result, when `notmuch-config-get' was called with the name of an empty of unconfigured setting,

[PATCH 3/4] emacs: Fix `notmuch-user-other-email' when no other emails are configured

2014-02-20 Thread Austin Clements
Thanks to the previous patch, this no longer crashes in this situation, but now would return (). Fix it to return () when no emails are configured. --- emacs/notmuch-lib.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el index

Re: [PATCH 4/4] emacs: Simplify and fix `notmuch-mua-prompt-for-sender'

2014-02-20 Thread Austin Clements
(name . email). Then there is no parsing and the old method could be robust. OTOH I can get used to the change. Best wishes Mark On Thu, 20 Feb 2014, Austin Clements amdra...@mit.edu wrote: `notmuch-mua-prompt-for-sender' is over-engineered and often wrong. It attempts to detect

[PATCH] emacs: Avoid rebuilding .eldeps even when there's nothing to do

2014-02-19 Thread Austin Clements
Previously, we updated .eldeps only if the file contents actually needed to change. This was done to avoid unnecessary make restarts (if the .eldeps rule changes the mtime of .eldeps, make has to restart to collect the new dependencies). However, this meant that, after a modification to any .el

[PATCH 1/1] emacs: always write emacs/.eldeps when the target is remade

2014-02-19 Thread Austin Clements
Quoth myself on Feb 14 at 4:58 pm: > Quoth Tomi Ollila on Feb 14 at 9:24 pm: > > On Thu, Feb 13 2014, Austin Clements wrote: > > > > > Quoth Tomi Ollila on Feb 13 at 9:26 am: > > >> On Thu, Feb 13 2014, Austin Clements wrote: > > >>

Re: [PATCH 1/1] emacs: always write emacs/.eldeps when the target is remade

2014-02-19 Thread Austin Clements
Quoth myself on Feb 14 at 4:58 pm: Quoth Tomi Ollila on Feb 14 at 9:24 pm: On Thu, Feb 13 2014, Austin Clements amdra...@mit.edu wrote: Quoth Tomi Ollila on Feb 13 at 9:26 am: On Thu, Feb 13 2014, Austin Clements amdra...@mit.edu wrote: Quoth Tomi Ollila on Jan 25 at 12:21

[PATCH] emacs: Avoid rebuilding .eldeps even when there's nothing to do

2014-02-19 Thread Austin Clements
Previously, we updated .eldeps only if the file contents actually needed to change. This was done to avoid unnecessary make restarts (if the .eldeps rule changes the mtime of .eldeps, make has to restart to collect the new dependencies). However, this meant that, after a modification to any .el

[PATCH 1/1] emacs: always write emacs/.eldeps when the target is remade

2014-02-14 Thread Austin Clements
Quoth Tomi Ollila on Feb 14 at 9:24 pm: > On Thu, Feb 13 2014, Austin Clements wrote: > > > Quoth Tomi Ollila on Feb 13 at 9:26 am: > >> On Thu, Feb 13 2014, Austin Clements wrote: > >> > >> > Quoth Tomi Ollila on Jan 25 at 12:21 pm: > >> &g

Re: [PATCH 1/1] emacs: always write emacs/.eldeps when the target is remade

2014-02-14 Thread Austin Clements
Quoth Tomi Ollila on Feb 14 at 9:24 pm: On Thu, Feb 13 2014, Austin Clements amdra...@mit.edu wrote: Quoth Tomi Ollila on Feb 13 at 9:26 am: On Thu, Feb 13 2014, Austin Clements amdra...@mit.edu wrote: Quoth Tomi Ollila on Jan 25 at 12:21 pm: So that the target is newer than its

[PATCH 1/1] emacs: always write emacs/.eldeps when the target is remade

2014-02-13 Thread Austin Clements
Quoth Tomi Ollila on Feb 13 at 9:26 am: > On Thu, Feb 13 2014, Austin Clements wrote: > > > Quoth Tomi Ollila on Jan 25 at 12:21 pm: > >> So that the target is newer than its prerequisites. > >> --- > >> emacs/Makefile.local | 3 +-- > >&

[PATCH] emacs: update alist for mail-archive.com API change

2014-02-13 Thread Austin Clements
On Wed, 12 Feb 2014, Jed Brown wrote: > Searching by Message-Id no longer works via the old mail-archive.com > API, though I have contacted them in hopes that they restore it to > prevent dead links. Anyway, the new API is cleaner. > --- > emacs/notmuch-show.el | 2 +- > 1 file changed, 1

[PATCH 1/1] emacs: always write emacs/.eldeps when the target is remade

2014-02-13 Thread Austin Clements
Quoth Tomi Ollila on Jan 25 at 12:21 pm: > So that the target is newer than its prerequisites. > --- > emacs/Makefile.local | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/emacs/Makefile.local b/emacs/Makefile.local > index 42bfbd9..d5d402e 100644 > ---

[PATCH v2] new: Detect dirent.d_type support at configure time

2014-02-13 Thread Austin Clements
Support for dirent.d_type is OS-specific. Previously, we used _DIRENT_HAVE_D_TYPE to detect support for this, but this is apparently a glic-ism (FreeBSD, for example, supports d_type, but does not define this). Since there's no cross-platform way to detect support for dirent.d_type, detect it

[WIP PATCH] Make keys of notmuch-tag-formats regexps and use caching

2014-02-12 Thread Austin Clements
This was a little hack to test the feasibility of switching notmuch-tag-formats to use regexps with caching for performance. In the end it works fine and isn't particularly complex, though there were a few gotchas: 1) We have to clear the cache somehow on changes to notmuch-tag-formats. I opted

[PATCH v2] new: Detect dirent.d_type support at configure time

2014-02-12 Thread Austin Clements
Support for dirent.d_type is OS-specific. Previously, we used _DIRENT_HAVE_D_TYPE to detect support for this, but this is apparently a glic-ism (FreeBSD, for example, supports d_type, but does not define this). Since there's no cross-platform way to detect support for dirent.d_type, detect it

Re: [PATCH 1/1] emacs: always write emacs/.eldeps when the target is remade

2014-02-12 Thread Austin Clements
Quoth Tomi Ollila on Jan 25 at 12:21 pm: So that the target is newer than its prerequisites. --- emacs/Makefile.local | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/emacs/Makefile.local b/emacs/Makefile.local index 42bfbd9..d5d402e 100644 --- a/emacs/Makefile.local

Re: [PATCH 1/1] emacs: always write emacs/.eldeps when the target is remade

2014-02-12 Thread Austin Clements
Quoth Tomi Ollila on Feb 13 at 9:26 am: On Thu, Feb 13 2014, Austin Clements amdra...@mit.edu wrote: Quoth Tomi Ollila on Jan 25 at 12:21 pm: So that the target is newer than its prerequisites. --- emacs/Makefile.local | 3 +-- 1 file changed, 1 insertion(+), 2 deletions

[PATCH 6/7] emacs: search: use orig-tags in search

2014-02-11 Thread Austin Clements
On Sat, 18 Jan 2014, Mark Walters wrote: > This uses the recent functionality to show the tag changes in the > search buffer. Currently this is only used to show changes the search > buffer makes itself: i.e., it does not make display any changes > reflecting tagging done by other

[PATCH 4/7] emacs: show: mark tags changed since buffer loaded

2014-02-11 Thread Austin Clements
On Sat, 18 Jan 2014, Mark Walters wrote: > This allows (and requires) the original-tags to be passed along with > the current-tags to be passed to notmuch-tag-format-tags. This allows > the tag formatting to show added and deleted tags.By default a removed > tag is displayed with strike-through

[PATCH 2/7] emacs: tag: allow default case in notmuch-tag-formats

2014-02-11 Thread Austin Clements
On Tue, 11 Feb 2014, Mark Walters wrote: > Thanks for the review. > > On Mon, 10 Feb 2014, Austin Clements wrote: >> On Sat, 18 Jan 2014, Mark Walters wrote: >>> Allow an empty string in notmuch-tag-formats which matches all tags >>> except those matched explici

Re: [PATCH 2/7] emacs: tag: allow default case in notmuch-tag-formats

2014-02-11 Thread Austin Clements
On Tue, 11 Feb 2014, Mark Walters markwalters1...@gmail.com wrote: Thanks for the review. On Mon, 10 Feb 2014, Austin Clements amdra...@mit.edu wrote: On Sat, 18 Jan 2014, Mark Walters markwalters1...@gmail.com wrote: Allow an empty string in notmuch-tag-formats which matches all tags except

Re: [PATCH 4/7] emacs: show: mark tags changed since buffer loaded

2014-02-11 Thread Austin Clements
On Sat, 18 Jan 2014, Mark Walters markwalters1...@gmail.com wrote: This allows (and requires) the original-tags to be passed along with the current-tags to be passed to notmuch-tag-format-tags. This allows the tag formatting to show added and deleted tags.By default a removed tag is displayed

Re: [PATCH 6/7] emacs: search: use orig-tags in search

2014-02-11 Thread Austin Clements
On Sat, 18 Jan 2014, Mark Walters markwalters1...@gmail.com wrote: This uses the recent functionality to show the tag changes in the search buffer. Currently this is only used to show changes the search buffer makes itself: i.e., it does not make display any changes reflecting tagging done by

[PATCH 2/7] emacs: tag: allow default case in notmuch-tag-formats

2014-02-10 Thread Austin Clements
On Sat, 18 Jan 2014, Mark Walters wrote: > Allow an empty string in notmuch-tag-formats which matches all tags > except those matched explicitly matched. This allows the user to tell Typo. > notmuch to hide all tags except those specified. > > This will be useful once formatting for

Re: [PATCH 2/7] emacs: tag: allow default case in notmuch-tag-formats

2014-02-10 Thread Austin Clements
On Sat, 18 Jan 2014, Mark Walters markwalters1...@gmail.com wrote: Allow an empty string in notmuch-tag-formats which matches all tags except those matched explicitly matched. This allows the user to tell Typo. notmuch to hide all tags except those specified. This will be useful once

[PATCH 0/5] lib: make folder: prefix literal

2014-02-04 Thread Austin Clements
Quoth Rob Browning on Jan 31 at 1:19 pm: > Austin Clements writes: > > > folder: could work the way I suggested (simply the path to the file, > > with {cur,new} stripped off). > > Hmm, so would notmuch try to guess whether or not it's dealing with a > maildi

[PATCH 0/5] lib: make folder: prefix literal

2014-02-04 Thread Austin Clements
Quoth Jani Nikula on Feb 01 at 4:54 pm: > On Fri, 31 Jan 2014, Austin Clements wrote: > > What if we introduce two prefixes, say folder: and path: (maybe dir:?) > > to address both use cases, each as naturally as possible? Both would > > be boolean prefixes becau

Re: [PATCH 0/5] lib: make folder: prefix literal

2014-02-04 Thread Austin Clements
Quoth Jani Nikula on Feb 01 at 4:54 pm: On Fri, 31 Jan 2014, Austin Clements amdra...@mit.edu wrote: What if we introduce two prefixes, say folder: and path: (maybe dir:?) to address both use cases, each as naturally as possible? Both would be boolean prefixes because of the limitations

Re: [PATCH 0/5] lib: make folder: prefix literal

2014-02-04 Thread Austin Clements
Quoth Rob Browning on Jan 31 at 1:19 pm: Austin Clements amdra...@mit.edu writes: folder: could work the way I suggested (simply the path to the file, with {cur,new} stripped off). Hmm, so would notmuch try to guess whether or not it's dealing with a maildir++ tree, and if so convert

[PATCH v3 6/6] lib: parse messages only once

2014-02-03 Thread Austin Clements
Quoth Jani Nikula on Feb 03 at 9:51 pm: > Use the previously parsed gmime message for indexing instead of > running an extra parsing pass. > > After this change, we'll only do unnecessary parsing of the message > body for duplicates and non-messages. For regular non-duplicate > messages, we have

[PATCH v3 5/6] lib: replace the header parser with gmime

2014-02-03 Thread Austin Clements
Quoth Jani Nikula on Feb 03 at 9:51 pm: > The notmuch library includes a full blown message header parser. Yet > the same message headers are parsed by gmime during indexing. Switch > to gmime parsing completely. > > These are the main differences between the parsers: > > * Gmime stops header

[PATCH v3 4/6] cli: sanitize the received header before scanning for replies

2014-02-03 Thread Austin Clements
Quoth Jani Nikula on Feb 03 at 9:51 pm: > This makes the from guessing agnostic to header folding by spaces or > tabs. > --- > notmuch-reply.c | 12 ++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > diff --git a/notmuch-reply.c b/notmuch-reply.c > index 47993d2..3f7021e 100644

Re: [PATCH v3 4/6] cli: sanitize the received header before scanning for replies

2014-02-03 Thread Austin Clements
Quoth Jani Nikula on Feb 03 at 9:51 pm: This makes the from guessing agnostic to header folding by spaces or tabs. --- notmuch-reply.c | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/notmuch-reply.c b/notmuch-reply.c index 47993d2..3f7021e 100644 ---

Re: [PATCH v3 5/6] lib: replace the header parser with gmime

2014-02-03 Thread Austin Clements
Quoth Jani Nikula on Feb 03 at 9:51 pm: The notmuch library includes a full blown message header parser. Yet the same message headers are parsed by gmime during indexing. Switch to gmime parsing completely. These are the main differences between the parsers: * Gmime stops header parsing

Re: [PATCH v3 6/6] lib: parse messages only once

2014-02-03 Thread Austin Clements
Quoth Jani Nikula on Feb 03 at 9:51 pm: Use the previously parsed gmime message for indexing instead of running an extra parsing pass. After this change, we'll only do unnecessary parsing of the message body for duplicates and non-messages. For regular non-duplicate messages, we have now

[PATCH 0/5] lib: make folder: prefix literal

2014-01-30 Thread Austin Clements
Quoth Jani Nikula on Jan 25 at 5:38 pm: > On Sat, 25 Jan 2014, Jani Nikula wrote: > > Perhaps we need to have two prefixes, one of which is the literal > > filesystem folder and another which hides the implementation details, > > like I mentioned in my mail to Peter [1]. But consider this: my

<    1   2   3   4   5   6   7   8   9   10   >