summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-11-06debian: bump date in changelog.debian/0.19_rc1-10.19_rc1David Bremner
It looks a bit riduculous to have a September date there.
2014-11-06lib: bump LIBNOTMUCH_MAJOR_VERSION to 4David Bremner
This should have been done at the same time as the SONAME bump.
2014-11-06version: update to 0.19~rc1David Bremner
Sync NEWS debian/changelog at the same time, although in those cases it's a downgrade.
2014-11-05doc: add notmuch-address.rst to sphinx configDavid Bremner
This is needed so that the rst docs are converted to man and info pages.
2014-11-05cli: address: Add --output=countMichal Sojka
This output prints how many times was each address encountered during search.
2014-11-05cli: address: Do not output duplicate addressesMichal Sojka
This filters out duplicate addresses from address command output. It also also adds tests for the address command. The code here is an extended version of a patch from Jani Nikula.
2014-11-05cli: search: Convert --output to keyword argumentMichal Sojka
Now, when address related outputs are in a separate command, it makes no sense to combine multiple --output options in search command line. Using switch statement to handle different outputs is more readable than a series of if statements.
2014-11-05cli: Introduce "notmuch address" commandMichal Sojka
This moves address-related functionality from search command to the new address command. The implementation shares almost all code and some command line options. Options --offset and --limit were intentionally not included in the address command, because they refer to messages numbers, which users do not see in the output. This could confuse users because, for example, they could see more addresses in the output that what was specified with --limit. This functionality can be correctly reimplemented for address subcommand later. Also useless values of --exclude flag were not included in the address command. This was inspired by a patch from Jani Nikula.
2014-11-05cli: add support for hierarchical command line option arraysJani Nikula
NOTMUCH_OPT_INHERIT expects a notmuch_opt_desc_t * pointer in output_var. The "Unrecognized option" message was moved out of parse_option() to not be emitted twice or when parsing a non-inherited option.
2014-11-05cli: search: Split notmuch_search_command to smaller functionsMichal Sojka
In a subsequent commit, these functions will be used to share some functionality between search and address commands.
2014-11-05cli: search: Convert ctx. to ctx->Michal Sojka
In the next commit, notmuch_search_command will be refactored to several smaller functions. In order to simplify the next commit to verbatim move of several lines to new functions with search_context_t* argument, we convert all references to this structure to pointer dereferences. To do so we rename the context variable and use the original name ctx as the pointer to the renamed structure.
2014-11-05cli: search: Move more variables into search_context_tMichal Sojka
In order to share some command line options between search and address subcommands we need to add corresponding variables to the context structure. While we are at it, we also add notmuch_database_t to unify parameters of all do_search_* functions and to simplify subsequent commits. Otherwise, there are no functional changes.
2014-11-05cli: search: Rename options to contextMichal Sojka
In the next commit the options structure will be extended by non-option variables. Therefore we need a more generic name. Just text replacement, no other changes.
2014-11-02devel: man-to-mdwn.pl: add GPLv3+ notice to manpages.mdwnTomi Ollila
Make the generated head manual page (in the notmuchmail wiki) display the licence information the whole notmuch software is licenced under.
2014-11-02devel: make man-to-mdwn.pl to work with generated manual pagesTomi Ollila
The new manual pages converted from rst using sphinx or rst2man has somewhat different syntax. man-to-mdwn.pl is now adjusted to produce even better output from this syntax. The changes also include using utf-8 locale (e.g. for tables and generated hypens) and and quite a few bugs fixes. This tool still produces better results than just using the html pages generated using sphinx / rst2html. For example those tools don't create inter-page hyperlinks -- and the preformatted pages written by man-to-mdwn.pl just works well with manual page content.
2014-11-02test: Make gen-threads work with python3Jesse Rosenthal
python3 doesn't allow dictionaries to be initialized with non-string keywords. This presents problems on systems in which "python" means "python3". We instead initalize the dictionary using the dict comprehension and then update it with the values from the tree. This will work with both python2 and python3.
2014-11-02test: add tests for --output=messages --duplicate=NJani Nikula
Basic smoke tests for the feature, nothing fancy.
2014-11-02cli: add support for notmuch search --duplicate=N with --output=messagesJani Nikula
Print the message IDs of all messages matching the search terms that have at least N files associated with them.
2014-11-02configure: move make {,install} instructions to the endTomi Ollila
There was theorical possibility that writing the config files could have skipped (by interruption) after the instructions how to make notmuch was printed out.
2014-11-01cli: search: Add --output={sender,recipients}Michal Sojka
The new outputs allow printing senders, recipients or both of matching messages. To print both, the user can use --output=sender and --output=recipients simultaneously. Currently, the same address can appear multiple times in the output. The next commit will change this. For this reason, tests are introduced there. We use mailbox_t rather than InternetAddressMailbox because we will need to extend it in a following commit. This code is based on a patch from Jani Nikula.
2014-11-01cli: search: Convert --output to keyword-flag argumentMichal Sojka
This converts "notmuch search" to use the recently introduced keyword-flag argument parser. At this point, it only makes the code slightly less readable but following commits that add new --output keywords will profit from this.
2014-11-01cli: Add support for parsing keyword-flag argumentsJani Nikula
This allows having multiple --foo=bar --foo=baz options on the command line, with the corresponding values OR'd together. [Test added by Michal Sojka]
2014-11-01cli: search: Refactor passing of command line optionsMichal Sojka
Many functions that implement the search command need to access command line options. Instead of passing each option in a separate variable, put them in a structure and pass only this structure. This will become handy in the following commits.
2014-11-01NEWS: Improved `q` binding.David Edmondson
2014-10-31emacs: Improve the behaviour of the 'q' binding.David Edmondson
When a user hits 'q' in a notmuch buffer, kill the buffer only if there are no other windows currently showing it.
2014-10-31test: use LDFLAGS in test/Makefile.localJani Nikula
Apparently the test binaries are built with minimal LDFLAGS, only adding dependency specific LDFLAGS as needed. However because some of the test binaries incorporate notmuch object files, it is necessary to use the same link flags as notmuch. For example user provided CFLAGS/CXXFLAGS/LDFLAGS with -fsanitize=undefined fails to build the test binaries if the flags differ.
2014-10-28test: add simple tests for post-insert hookDavid Bremner
Most of the existing tests for pre/post-new hook don't seem to apply.
2014-10-28cli/insert: add post-insert hookJani Nikula
The post-new hook might no longer be needed or run very often if notmuch insert is being used. Therefore a post-insert hook is needed (arguably pre-insert not so much, so don't add one). Also add the --no-hooks option to skip hooks.
2014-10-28gitignore: ignore sh.config and doc/config.doxJani Nikula
2014-10-28cli: cast timeval fields to long for formatJani Nikula
This hides platform differences between struct timeval field types.
2014-10-25emacs: notmuch-jump.el should provide.David Edmondson
To ease loading, notmuch-jump.el should provide 'notmuch-jump.
2014-10-25lib: Remove unnecessary thread linking steps when using ghost messagesAustin Clements
Previously, it was necessary to link new messages to children to work around some (though not all) problems with the old metadata-based approach to stored thread IDs. With ghost messages, this is no longer necessary, so don't bother with child linking when ghost messages are in use.
2014-10-25test: Test upgrade to ghost messages featureAustin Clements
2014-10-25lib: Enable ghost messages featureAustin Clements
This fixes the broken thread order test.
2014-10-25lib: Implement upgrade to ghost messages featureAustin Clements
Somehow this is the first upgrade pass that actually does *any* error checking, so this also adds the bit of necessary infrastructure to handle that.
2014-10-25lib: Implement ghost-based thread linkingAustin Clements
This updates the thread linking code to use ghost messages instead of user metadata to link messages into threads. In contrast with the old approach, this is actually correct. Previously, thread merging updated only the thread IDs of message documents, not thread IDs stored in user metadata. As originally diagnosed by Mark Walters [1] and as demonstrated by the broken T260-thread-order test, this can cause notmuch to fail to link messages even though they're in the same thread. In principle the old approach could have been fixed by updating the user metadata thread IDs as well, but these are not indexed and hence this would have required a full scan of all stored thread IDs. Ghost messages solve this problem naturally by reusing the exact same thread ID and message ID representation and indexing as regular messages. Furthermore, thanks to this greater symmetry, ghost messages are also algorithmically simpler. We continue to support the old user metadata format, so this patch can't delete any code, but when we do remove support for the old format, several functions can simply be deleted. [1] id:8738h7kv2q.fsf@qmul.ac.uk
2014-10-25lib: Internal support for querying and creating ghost messagesAustin Clements
This updates the message abstraction to support ghost messages: it adds a message flag that distinguishes regular messages from ghost messages, and an internal function for initializing a newly created (blank) message as a ghost message.
2014-10-25lib: Introduce macros for bit operationsAustin Clements
These macros help clarify basic bit-twiddling code and are written to be robust against C undefined behavior of shift operators.
2014-10-25lib: Update database schema doc for ghost messagesAustin Clements
This describes the structure of ghost mail documents. Ghost messages are not yet implemented.
2014-10-25lib: Add a ghost messages database featureAustin Clements
This will be implemented over the next several patches. The feature is not yet "enabled" (this does not add it to NOTMUCH_FEATURES_CURRENT).
2014-10-25Merge tag '0.18.2'David Bremner
notmuch 0.18.2 release
2014-10-25debian: add changelog stanza for 0.18.2-10.18.2David Bremner
2014-10-25version: bump to 0.18.2David Bremner
No non-documentation changes
2014-10-25NEWS: give real entry for 0.18.2David Bremner
Expand out what the actual test suite changes are, so people have a better idea if the release is relevant to them.
2014-10-25Merge tag '0.18.2_rc1'David Bremner
notmuch 0.18.2~rc1 release Conflicts: NEWS debian/changelog
2014-10-25debian: build depend on dh-pythondebian/0.18.2_rc1-10.18.2_rc1David Bremner
The build log asked me nicely, so I did.
2014-10-25debian: add changelog stanza for 0.18.2~rc-1David Bremner
2014-10-25NEWS: add minimal news item for 0.18.2David Bremner
The less said, the less typos to make.
2014-10-25version: bump to 0.18.2~rc1David Bremner
2014-10-25test: kill '"filename": "signature.asc"' from json outputDavid Bremner
This starts to appear with emacs24.4, so we can't easily have it in our expected output.