aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-10-20Declare fast forward from 0.27-1~bpo9+2debian/0.28-2_bpo9+1archive/debian/0.28-2_bpo9+1debian/stretch-backportsDavid Bremner
[dgit --overwrite]
2018-10-20changelog for backportsDavid Bremner
2018-10-20Merge tag 'debian/0.28-2' into debian/stretch-backportsDavid Bremner
notmuch release 0.28-2 for unstable (sid) [dgit] [dgit distro=debian]
2018-10-12debian: override location of bashdebian/0.28-2archive/debian/0.28-2David Bremner
Yes, a build chroot can have /usr/bin/bash, thanks to usrmerge, but we can't depend on it existing in the user's system.
2018-10-12version: bump to 0.28debian/0.28-1archive/debian/0.28-10.28David Bremner
2018-10-12debian: changelog stanza for 0.28-1David Bremner
2018-10-12NEWS: NEWS for 0.28David Bremner
This is based on my subjective assessment of what is user/packager facing and important from the output of 'git shortlog'
2018-10-03debian: changelog for 0.28~rc0-1debian/0.28_rc0-10.28_rc0David Bremner
2018-10-03NEWS: start NEWS for 0.28David Bremner
Just a stub for now.
2018-10-03version: bump to 0.28~rc0David Bremner
2018-10-02debian: update zsh completion installationDavid Bremner
This ${prefix}/share/vendor-completion convention seems to be debian specific, so leave the global default alone for now.
2018-10-02completion: more complete completion for zsh.Vincent Breitmoser
This adds completion files for zsh that cover most of notmuch's cli. The files in completion/zsh are formatted so that they can be found by zsh's completion system if put $fpath. They are also registered to the notmuch-* pattern, so they can be called externally using _dispatch. Update installation recipe and drop debian/notmuch.examples to avoid breakage. This means zsh completion is not installed for debian, to be fixed in a future commit. Amended by db: use regexp searching for address completion. This seems to be fast enough to work without a cache.
2018-09-28emacs: Call `notmuch-mua-send-hook' hooks when sending a messageDavid Edmondson
Previously any hook functions attached to `notmuch-mua-send-hook' were ignored.
2018-09-28test: Check that `notmuch-mua-send-hook' is called on sending a messageDavid Edmondson
2018-09-19python: fix unchecked None access in get_propertyVincent Breitmoser
2018-09-18debian: update notmuch-mutt packaging to use install targetDavid Bremner
2018-09-18debian: bump compat level to 11David Bremner
The immediate motivation is to have dh_installman look in debian/tmp
2018-09-18contrib/notmuch-mutt: add install targetDavid Bremner
The main goal here is to be able to install the notmuch-mutt script with an absolute shebang. I have tried to make the notmuch-mutt Makefile use configure information from notmuch if available, but make suitable guesses if not.
2018-09-18configure: absolute path of perlDavid Bremner
This can be used to set shebang lines during install.
2018-09-18build: install notmuch-emacs-mua with absolute shebangDavid Bremner
Follow distro-centric rules to reduce the chance of surprising behaviour due to PATH changes
2018-09-18configure: absolute path of bashDavid Bremner
This can be used to set shebang lines during install.
2018-09-14test: make regexp test conditional on field processorsDavid Bremner
Normally we'd mark it broken, but perversely missing regexp support actually makes the test pass.
2018-09-14test: mark thread subqueries broken without field processorsDavid Bremner
Currently these tests just fail when notmuch is built against Xapian 1.2.x
2018-09-14debian: add tar-ignore=.gitDavid Bremner
Unfortunately 514fb397c9 somewhat messed up the "debian-snapshot" target, by including .git in the generated tarball.
2018-09-09Merge tag 'debian/0.27-3'David Bremner
notmuch release 0.27-3 for unstable (sid) [dgit] [dgit distro=debian]
2018-09-09debian: drop argument-less tar-ignoredebian/0.27-3archive/debian/0.27-3David Bremner
This hangs up dgit. It's probably not useful for users of the source package to have debian/.gitignore, but it should not hurt.
2018-09-08test: Absolute and relative directory paths.David Edmondson
2018-09-08notmuch: Database paths without a leading / are relative to $HOMEDavid Edmondson
If the database path specified in the configuration file does *not* start with a /, presume that it is relative to $HOME and modify the path used to open the database accordingly.
2018-09-08Declare fast forward from 0.27-2David Bremner
[dgit --overwrite]
2018-09-09debian: add unversioned emacs, drop emacs23David Bremner
In current Debian sid / testing, emacs25 is a transitional package, and emacs-gtk, emacs-lucid, and emacs-nox are the real packages. Emacs 23 is not available in emacs after oldoldstable.
2018-09-09debian: update Vcs-Git URLDavid Bremner
We should probably not git://, and it needs a branch to not confuse e.g. vcswatch.
2018-09-06lib: change parent strategy to use In-Reply-To if it looks saneDavid Bremner
As reported by Sean Whitton, there are mailers (in particular the Debian Bug Tracking System) that have sensible In-Reply-To headers, but un-useful-for-notmuch References (in particular with the BTS, the oldest reference is last). I looked at a sample of about 200K messages, and only about 0.5% these had something other than a single message-id in In-Reply-To. On this basis, if we see a single message-id in In-Reply-To, consider that as authoritative.
2018-09-06lib: add _notmuch_message_id_parse_strictDavid Bremner
The idea is that if a message-id parses with this function, the MUA generating it was probably sane, and in particular it's probably safe to use the result as a parent from In-Reply-to.
2018-09-06util/string-util: export skip_spaceDavid Bremner
It's only few lines, but we already define the function, so make it usable elsewhere
2018-09-06test/thread-replies: mangle In-Reply-To'sDavid Bremner
In a future commit, we will start trusting In-Reply-To's when they look sane (i.e. a single message-id). Modify these tests so they will keep passing (i.e. keep choosing References) when that happens.
2018-09-06test: add known broken test for good In-Reply-To / bad ReferencesDavid Bremner
The current scheme of choosing the replyto (i.e. the default parent for threading purposes) does not work well for mailers that put the oldest Reference last.
2018-09-06lib/thread: change _resolve_thread_relationships to use depthsDavid Bremner
We (finally) implement the XXX comment. It requires a bit of care not to reparent all of the possible toplevel messages. _notmuch_messages_has_next is not ready to be a public function yet, since it punts on the mset case. We know in the one case it is called, the notmuch_messages_t is just a regular list / iterator.
2018-09-06lib/thread: rewrite _parent_or_toplevel to use depthsDavid Bremner
This is part 1/2 of changing the reparenting of alleged toplevel messages to use a "deep" reference rather than just the first one found.
2018-09-06lib: calculate message depth in threadDavid Bremner
This will be used in reparenting messages without useful in-reply-to, but with useful references
2018-09-06lib/thread: initial use of references as for fallback parentingDavid Bremner
This is mainly to lay out the structure of the final code. The problem isn't really solved yet, although some very simple cases are better (hence the fixed test). We need two passes through the messages because we need to be careful not to re-parent too many messages and end up without any toplevel messages.
2018-09-06use EMPTY_STRING in _parent_via_in_reply_toDavid Bremner
This is a review suggestion [1] of Tomi. I decided not to squash it so that the code movement remains clear. [1]: id:m2pnxxgf5q.fsf@guru.guru-group.fi
2018-09-06lib/thread: refactor in_reply_to testDavid Bremner
This is not a complete win in code-size, but it makes the code (which is about to get more complicated) easier to follow.
2018-09-06lib: add _notmuch_message_list_emptyDavid Bremner
There is no public notmuch_message_list_t public interface, so to this is added to the private API. We use it immediately in thread.cc; future commits will use it further.
2018-09-06lib/thread: add macro for debug printing of threadingDavid Bremner
This is analogous to DEBUG_DATABASE_SANITY, and is intended to help debugging and to help users submit bug reports.
2018-09-06lib: read reference terms into message struct.David Bremner
The plan is to use these in resolving threads.
2018-09-06lib/thread: sort sibling messages by dateDavid Bremner
For non-root messages, this should not should anything currently, as the messages are already added in date order. In the future we will add some non-root messages in a second pass out of order and the sorting will be useful. It does fix the order of multiple root-messages (although it is overkill for that).
2018-09-06test: add known broken tests for "ghost roots"David Bremner
This documents the bug discussed at id:87efgmmysi.fsf@len.workgroup The underlying issue is that the reply to a ghost (missing) message is falsely classified as a root message in _resolve_thread_relationships. There are two pairs of tests; in each case the the first test is simpler / more robust, but also easier to fool.
2018-09-06test: start threading test corpusDavid Bremner
There are 3 threads here, two synthetic, and one anonymized one using data from Gregor. They test various aspects of thread ordering/construction in the presence of replies to ghost messages.
2018-08-29test/tag: add test for updating during batch tag operationsDavid Bremner
This clarifies that the breakage seen with Xapian 1.4.6 does not have to do with "funny" tags. This test is "known broken", but only with xapian 1.4.6, and there's curently no convenient way to mark that.
2018-08-29lib: detect mislabeled Windows-1252 partsSebastian Poeplau
Use GMime functionality to detect mislabeled messages and apply the correct (Windows) encoding instead.