aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-06-01fixup! NEWS: news for 0.24.2debian/0.24.2-10.24.2David Bremner
2017-06-01debian: changelog for 0.24.2-1David Bremner
2017-06-01NEWS: news for 0.24.2David Bremner
2017-06-01version: bump to 0.24.2David Bremner
2017-06-01cli/dump: don't include tags when not asked forDavid Bremner
Add in the analogous test for tags that is given for properties a few lines below.
2017-06-01test: add known broken test --include=propertiesDavid Bremner
Reported in [1], --include=properties currently implies --include=tags, but it should not. [1] id:87y3u8vjbo.fsf@tethera.net
2017-05-31test: define GMime version dependant breakageDavid Bremner
We have some tests where the gmime 3 behaviour seems like a bug fix, others where it's less clear, so we allow both possibilities.
2017-05-31configure: add optional support for gmime-3.0David Bremner
This is only the changes to make configure work; it won't compile with gmime-3.0 yet.
2017-05-30test/thread-naming: remove excess escaping from sender address.David Bremner
This is another case where the behaviour of gmime-2.6 and gmime-3.0 seems to differ. It may be that we prefer the more lax parsing of the previous version, but that should be tested separately.
2017-05-30cli/reply: fix two memory leaks, document a thirdDavid Bremner
internet_address_list_to_string returns an allocated string, which needs to be freed with g_free. g_free can handle a NULL argument, so we follow the usage elsewhere of calling it unconditionally. The third leak we leave as it would require restructuring of add_recipients_from_message, and is fixed by later gmime-3.0 porting.
2017-05-30perf-test: add memory test for replyDavid Bremner
Looking at the code for notmuch-reply, there seems to be several gmime related memory leaks. This test is supposed to help eliminate those.
2017-05-30cli/show: use single stream for printf / gmime object outputDavid Bremner
This is again motivated by the need to transition away from GMimeStreamFile for output to stdout. format_part_mbox is left alone for now, as this cannot be mixed in with output using gmime object output.
2017-05-30cli/reply: direct all output for text format to gmime streamDavid Bremner
Interleaving printfs with writes to the gmime stream worked when the gmime stream was backed by the FILE *stdout, but that is no longer the case. Create one stream and pass it into the two functions where needed, as well well as replacing printfs with g_mime_stream_printf.
2017-05-30util: convenience function to create gmime stream for stdoutDavid Bremner
It turns out that our use of GMimeStreamPipe has only succeeded because gmime has been ignoring some seek failures; this will no longer be the case in gmime 3.0, so we use a GMimeStreamPipe, which does not assume seekability, wrapped in a buffering stream.
2017-05-30emacs: with prefix argument, notmuch-show-stash-date stashes timestampTomi Ollila
Using timestamp of a message is useful in many Xapian queries.
2017-05-26exit lingering gpg agents at the end of relevant testsTomi Ollila
Since gnupg 2.1.20, gpg-agent no longer shut itself down when $GNUPGHOME directory is removed. Add exit hooks to the test modules which execute `gpgconf --kill all` Add exit hooks to execute `gpgconf --kill all` in the modules that create $GNUPGHOME for gpg to work with.
2017-05-26test-lib.sh: add "atexit" functionalityTomi Ollila
New function at_exit_function registers given function to be called at script termination. Functions so registered are called in the reverse order of their registration; no arguments are passed. Function is called only once; re-adding with function name already registered will remove previous registration. New function rm_exit_function can be used to remove registration. Modules (and possibly test-lib.sh functions) in future commits will register such functions.
2017-05-13Merge branch 'release'David Bremner
Emacs bug fix from Mark
2017-05-13emacs: tree: bugfix: specify --format-versionMark Walters
Previously notmuch tree did not specify the format-version when calling notmuch. This meant that when the structured output was slightly changed (in commit 14c60cf168ac3b0f277188c16e6012b7ebdadde7) stash filename broke. This fixes this breakage by specifying the format-version.
2017-05-13build: visibility=default for library structs is no longer neededJani Nikula
Commit d5523ead90b6 ("Mark some structures in the library interface with visibility=default attribute.") fixed some mixed visibility issues with structs. With the symbol default visibility reversed, this is no longer a problem.
2017-05-12build: switch to hiding libnotmuch symbols by defaultJani Nikula
The dynamic generation of the linker version script for libnotmuch exports has grown rather complicated. Reverse the visibility control by hiding symbols by default using -fvisibility=hidden, and explicitly exporting symbols in notmuch.h using #pragma GCC visibility. (We could also use __attribute__ ((visibility ("default"))) for each exported function, but the pragma is more convenient.) The above is not quite enough alone, as it would "leak" a number of weak symbols from Xapian and C++ standard library. Combine it with a small static version script that filters out everything except the notmuch_* symbols that we explicitly exposed, and the C++ RTTI typeinfo symbols for exception handling. Finally, as the symbol hiding test can no longer look at the generated symbol table, switch the test to parse the functions from notmuch.h.
2017-05-11compat: don't include compat.h from the feature test sourceJani Nikula
The feature test code should test the build environment, and none of the compat code should interfere with that. Don't include compat.h from the feature test source. There should be no functional changes here, but this is just the right thing to do.
2017-05-11build: do not export compat functions from libJani Nikula
Commits 9db214527213 ("lib/gen-version-script.h: add getline and getdelim to notmuch.sym if needed") and 3242e29e57ac ("build: add canonicalize_file_name to symbols exported from libnotmuch.so") started exporting compat functions from libnotmuch so that the cli could use them. But we shouldn't export such functions from the library. They are not part of our ABI. Instead, the cli should include its own copies of the compat functions.
2017-05-09lib: Add regexp expansion for for tags and pathsDavid Bremner
From a UI perspective this looks similar to what was already provided for from, subject, and mid, but the implementation is quite different. It uses the database's list of terms to construct a term based query equivalent to the passed regular expression.
2017-05-09lib: Add regexp searching for mid: prefixDavid Bremner
The bulk of the change is passing in the field options to the regexp field processor, so that we can properly handle the fallback (non-regexp case).
2017-04-20test: add known broken test for indexing htmlDavid Bremner
'quite' on IRC reported that notmuch new was grinding to a halt during initial indexing, and we eventually narrowed the problem down to some html parts with large embedded images. These cause the number of terms added to the Xapian database to explode (the first 400 messages generated 4.6M unique terms), and of course the resulting terms are not much use for searching. The second test is sanity check for any "improved" indexing of HTML.
2017-04-20Replace index(3) with strchr(3)Fredrik Fornwall
The index(3) function has been deprecated in POSIX since 2001 and removed in 2008, and most code in notmuch already calls strchr(3). This fixes a compilation error on Android whose libc does not have index(3).
2017-04-20emacs/notmuch.el: don't use 'function' as variable name.David Bremner
In principle this should work, but at least in some pre-release versions of emacs26, this causes problems inside lexical let [1]. [1]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=26406
2017-04-14Makefile.local: have all files in release tarball be owned by rootTomi Ollila
The tar content `git archive` creates (reproducibly) have owner and group set to 'root'. (GNU) tar writes user ids to the added file `version` by default. The contents of tar archive looks better and more consistent when owner and group in all files are the same. While at it, split this long command line to multiple lines.
2017-04-14configure: Be more verbose when compiler sanity checks failTomi Ollila
When configure could not get past initial compiler sanity check the user was left with no explanation why this happened (usually the reason is that compilers are not installed). By printing the executed command line and re-executing it without output redirection user gets better information how to proceed (or ask for help) to resolve this problem. The shell builtin 'printf' is used to print the executed command line to ensure verbatim output.
2017-04-13test: add 'lkml' corpusDavid Bremner
These 210 messages are in several long threads, which is good for testing our threading code, and may be useful just as a larger test corpus in the future.
2017-04-06test: remove debugging "output"David Bremner
2017-04-06test: standardize argument order to test_expect_equal_fileDavid Bremner
It is annoying to debug failing tests when the interpretation of the diffs is reversed for some tests.
2017-04-01debian: changelog for 0.23.7-3debian/0.23.7-3debian/stretchDavid Bremner
2017-04-01cli/dump: bump dump format version to 3David Bremner
No changes to the format of the body, but the header format was fixed, and version 2 headers probably shouldn't be relied on.
2017-04-01cli/dump: fix bug in dump headerDavid Bremner
Fix copy paste error. (cherry picked from commit 1f3c7916f82774cacbfbb0fbc9d0e0aaae9399b3) (changes to missing test dropped)
2017-04-01Merge branch 'release'David Bremner
Final 0.24.1 release
2017-04-01NEWS: set release datedebian/0.24.1-10.24.1David Bremner
2017-04-01Merge branch 'debian' into releaseDavid Bremner
Merge in changelog stanza from debian upload targeted at stretch
2017-04-01debian: finalize changelog for 0.24.1-1David Bremner
2017-04-01NEWS: note dump header fixDavid Bremner
2017-04-01cli/dump: bump dump format version to 3David Bremner
No changes to the format of the body, but the header format was fixed, and version 2 headers probably shouldn't be relied on.
2017-04-01cli/dump: fix bug in dump headerDavid Bremner
Fix copy paste error.
2017-04-01test: add known broken test for dump headerDavid Bremner
Apparently nobody uses the list of "what was included in the dump"
2017-03-31test: add known broken test for dump headerDavid Bremner
Apparently nobody uses the list of "what was included in the dump"
2017-03-29Merge branch 'release'David Bremner
Another regexp search fix.
2017-03-29NEWS: initial NEWS changes for 0.24.1David Bremner
Also add a missed note to the 0.24 release notes.
2017-03-29lib: handle empty string in regexp field processorsDavid Bremner
The non-field processor behaviour is is convert the corresponding queries into a search for the unprefixed terms. This yields pretty surprising results so I decided to generate a query that would match the terms (i.e. none with that prefix) generated for an empty header.
2017-03-29test: add known broken test for null from: and subject: queryDavid Bremner
These queries currently fail with field processors enabled because the code expects a non-empty string.
2017-03-25configure: change default bash completion location to /usr/shareDavid Bremner
At least Fedora and Debian now use /usr/share/bash-completion/completions now. Apparently /etc/bash_completion.d will be phased out at some point in the future.