aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-08-20lib: clarify description of notmuch_database_add_messageDaniel Kahn Gillmor
Since we're accumulating the index when we add a new file to the message, the semantics have slightly changed. This tries to align the documentation with the actual functionality.
2017-08-20emacs: Use make-process when availableVladimir Panteleev
make-process is a new function introduced in Emacs 25, which provides greater control over process creation. Crucially, it allows separately redirecting stderr directly to a buffer, which allows us to avoid needing to use the shell to redirect to a temporary file in order to correctly distinguish stdout and stderr. * notmuch-lib.el: Use make-process when it is available; fall back to the previous method when not.
2017-08-20emacs: Refactor subprocess stderr propagationVladimir Panteleev
Load subprocess error output to a string in the callers, and propagate the error messages as a string parameter instead of a path to file names. Required to be able to avoid using temporary files for subprocess error output. * notmuch-lib.el: Update notmuch-check-async-exit-status, notmuch-check-exit-status: accept an err parameter instead of err-file; shift the responsibility of loading error messages from files up the call stack.
2017-08-20doc: Disable SmartyPants in generated manual pagesVladimir Panteleev
By default, Sphinx tries to pre-process text through SmartyPants, which attempts to convert ASCII quotes and dashes to Unicode characters. Unfortunately, this mangles technical text such as command lines. For instance, this excerpt from notmuch-tag.rst: **notmuch** **tag** **--batch** [--input=<*filename*>] got turned into: notmuch tag –batch [–input=<filename>] That's an en-dash and an em-dash respectively. Not only are these characters visually confusing and could easily be mistaken for a single dash, copying and pasting such command lines into a terminal is doomed to result in incomprehensible error messages. * doc/conf.py: Disable SmartyPants.
2017-08-20emacs: set query-context to nil if its "" or "*"Jani Nikula
The queries "" and "*" are special cased in the notmuch library to match all messages, but only if they're the entire query. They can't be combined with other queries, such as "* AND foo", in which case they "leak" down to the Xapian query parser. Notmuch show and tree buffers inadvertently combine the thread query with said special queries, causing incorrect collapsing of messages. Handle the special queries specially. We already do a similar thing in notmuch-search-filter.
2017-08-20test: insert into the folder with trailing /Yuri Volchkov
From database's point of view, "Drafts" and "Drafts/" are different folders Signed-off-by: Yuri Volchkov <yuri.volchkov@gmail.com> Amended: add test_subtest_known_broken (db)
2017-08-18completion: add bash completion for "notmuch reindex"Daniel Kahn Gillmor
The main thing that notmuch reindex does is to use search terms, so we can reuse a bunch of the existing completion framework.
2017-08-18fix typoDaniel Kahn Gillmor
2017-08-18test: remove remainder of previously killed basic testYuri Volchkov
In the commit 51cd69feb1d131db7a468e33e0fa2e043caad41e the part of the test "test runs if prerequisite is satisfied" has been removed. However, there was a remainder of that test - variable 'haveit'. Kill it, to not to confuse people. Signed-off-by: Yuri Volchkov <yuri.volchkov@gmail.com>
2017-08-18Use rooted paths in .gitignore filesVladimir Panteleev
A leading / in paths in a .gitignore file matches the beginning of the path, meaning that for patterns without slashes, git will match files only in the current directory as opposed to in any subdirectory. Prefix relevant paths with / in .gitignore files, to prevent accidentally ignoring files in subdirectories and possibly slightly improve the performance of "git status".
2017-08-18test: Update extant references to corpus.mailVladimir Panteleev
971cdc72cdb80f060193bc0914dc9badcc29696b renamed corpus.mail to corpora.mail. Although 971cdc72cdb80f060193bc0914dc9badcc29696b updated some of the remaining corpus.mail references, two remained, causing the test suite to leave behind an unignored corpora.mail directory.
2017-08-16remove boolean "first" argument from format_part_sprinterDaniel Kahn Gillmor
This argument seems to be unused, and format_part_sprinter isn't required to meet any specific API so it seems cleaner and simpler to drop it.
2017-08-16test: add test for ,S message without 'unread' in new.tagsDavid Bremner
This is arguably overkill, but it helps to understand the complicated interactions here between maildir tags and configuration.
2017-08-16test: add missing quotes in maildir-sync test.David Bremner
Oops. ';' is significant in the shell. Who knew.
2017-08-16Merge branch 'release'David Bremner
merge in debian-only changes
2017-08-16cli/new: improve error reportingDavid Bremner
Recently a user reported a crash in notmuch new, but because of missing error reporting, all they could say was "A Xapian exception occured". This commit adds the extra information available about the error message in the exception.
2017-08-16debian: start changelog for next debian uploadDavid Bremner
2017-08-16do not use bullets in debian/NEWSDaniel Kahn Gillmor
see lintian's debian-news-entry-uses-asterisk for justification
2017-08-16remove obsolete lintian-override (see https://bugs.debian.org/865055)Daniel Kahn Gillmor
2017-08-15Merge tag 'debian/0.25-6'David Bremner
uploaded to unstable
2017-08-15debian: actually stop shipping 50notmuch.eldebian/0.25-6David Bremner
2017-08-10Merge tag 'debian/0.25-5'David Bremner
uploaded to unstable
2017-08-10debian upload 0.25-5debian/0.25-5David Bremner
fix typo in -4
2017-08-06test: add broken tests for maildir syncingDavid Bremner
Users should be able to specify synced tags in new.tags
2017-08-04Merge tag 'debian/0.25-4'David Bremner
uploaded to unstable
2017-08-04debian: upload 0.25-4debian/0.25-4David Bremner
replace notmuch-emacs with elpa-emacs as a recommend
2017-08-03Merge tag 'debian/0.25-3'David Bremner
uploaded to unstable
2017-08-03debian: changelog stanza for 0.25-3debian/0.25-3David Bremner
2017-08-03debian: add maintainer scripts to remove old startup fileDavid Bremner
We do it for notmuch and notmuch-emacs because the history is a bit unclear. It seems to be safe to call when that conffile is not owned by a given package
2017-08-01add "notmuch reindex" subcommandDaniel Kahn Gillmor
This new subcommand takes a set of search terms, and re-indexes the list of matching messages.
2017-08-01lib: add notmuch_message_reindexDaniel Kahn Gillmor
This new function asks the database to reindex a given message. The parameter `indexopts` is currently ignored, but is intended to provide an extensible API to support e.g. changing the encryption or filtering status (e.g. whether and how certain non-plaintext parts are indexed).
2017-08-01lib: add _notmuch_message_remove_indexed_termsDavid Bremner
Testing will be provided via use in notmuch_message_reindex
2017-08-01cli/search: print total number of files matched in summary output.David Bremner
The structured output formats already have all of the filenames. This is an easy bit of UI change to make the multiple files visible.
2017-08-01lib: add notmuch_thread_get_total_filesDavid Bremner
This is relatively inexpensive in terms of run time and implementation cost as we are already traversing the list of messages in a thread.
2017-08-01lib: add notmuch_message_count_filesDavid Bremner
This operation is relatively inexpensive, as the needed metadata is already computed by our lazy metadata fetching. The goal is to support better UI for messages with multipile files.
2017-08-01lib: index message files with duplicate message-idsDavid Bremner
The corresponding xapian document just gets more terms added to it, but this doesn't seem to break anything. Values on the other hand get overwritten, which is a bit annoying, but arguably it is not worse to take the values (from, subject, date) from the last file indexed rather than the first.
2017-08-01test: add known broken tests for duplicate message idDavid Bremner
There are many other problems that could be tested, but these ones we have some hope of fixing because it doesn't require UI changes, just indexing changes.
2017-08-01lib: refactor notmuch_database_add_message header parsingDavid Bremner
This function is large and hard to understand and modify. Start to break it down into meaningful pieces.
2017-08-01lib: factor out message-id parsing to separate file.David Bremner
This is really pure C string parsing, and doesn't need to be mixed in with the Xapian/C++ layer. Although not strictly necessary, it also makes it a bit more natural to call _parse_message_id from multiple compilation units.
2017-08-01lib/n_d_add_message: refactor test for new/ghost messagesDavid Bremner
The switch is easier to understand than the side effects in the if test. It also potentially allows us more flexibility in breaking up this function into smaller pieces, since passing private_status around is icky.
2017-08-01lib: isolate n_d_add_message and helper functions into own fileDavid Bremner
'database.cc' is becoming a monster, and it's hard to follow what the various static functions are used for. It turns out that about 1/3 of this file notmuch_database_add_message and helper functions not used by any other function. This commit isolates this code into it's own file. Some side effects of this refactoring: - find_doc_ids becomes the non-static (but still private) _notmuch_database_find_doc_ids - a few instances of 'string' have 'std::' prepended, avoiding the need for 'using namespace std;' in the new file.
2017-07-29Merge tag 'debian/0.25-2'David Bremner
uploaded to unstable
2017-07-26debian: update gmime dependenciesdebian/0.25-2David Bremner
- build against gmime 3.0 by preference - drop gmime-2.4-dev, no longer supported upstream
2017-07-26Merge tag 'debian/0.25-1'David Bremner
notmuch Debian 0.25-1 upload (same as 0.25)
2017-07-25debian: add changelog entry for 0.25debian/0.25-10.25David Bremner
2017-07-25NEWS: set dateDavid Bremner
2017-07-25version: bump to 0.25David Bremner
2017-07-25NEWS: formatting fixupsDavid Bremner
These are from Tomi, split from the previous commit
2017-07-25NEWS for release 0.25: Emacs: support for stashing message timestampTomi Ollila
2017-07-20emacs: Add commentary for MELPA usersDavid Bremner
We have a steady trickle of people using notmuch-emacs from melpa with distro packages of notmuch, and then being confused when it doesn't work. Try to warn people what a foot-gun this is; this commentary should be copied to the melpa web site.