aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-01-07nmbug-status: Avoid hard-coded filename in error messageW. Trevor King
We already have a 'filename' variable with the name, so stay DRY and use that variable here. Also fix a missing-whitespace error from bed8b674 (nmbug-status: Clarify errors for illegible configs, 2014-05-10), wrapping on the sentence to match similar error-generation earlier in this function.
2016-01-01emacs: Improve notmuch-message-mode initializationMichal Sojka
Recent addition of notmuch-message-mode introduced several problems: 1. When message-setup-hook is used to set buffer local variables, these settings are not effective, because all buffer local variables are immediately erased by notmuch-message-mode initialization. 2. message-mode-hook gets invoked twice - first when message-mail invokes message-mode and second when notmuch-mua-mail invokes notmuch-message-mode. This commit fixes these problems by replacing a call to message-mail with notmuch-specific code that is (hopefully) equivalent to message-mail functionality before introduction of notmuch-message-mode. We first initialize notmuch-message-mode with notmuch-mua-pop-to-buffer, which is a modified version of message-pop-to-buffer and then call message-setup-1, which is the only functionality of message-mail that is needed for notmuch.
2015-12-30cli: fix function name in notmuch new debug loggingJani Nikula
add_files_recursive has been renamed add_files long ago.
2015-12-30cli: let the user know which protocol is unknown or unsupportedJani Nikula
The current error message is not helpful.
2015-12-30crypto: make crypto ctx initialization an arrayJani Nikula
Make it trivial to add handlers for new protocols without duplicating code. No functional changes.
2015-12-30crypto: refactor context creation to facilitate further workJani Nikula
Let the context creation functions decide how to handle multiple calls and cache the crypto context. No functional changes.
2015-12-30test: Unset ALTERNATE_EDITOR before running emacsclientMichal Sojka
ALTERNATE_EDITOR causes emacsclient to run an alternate editor if the emacs server is not ready. This can collide with intended functionality in test-lib.sh. If the ALTERNATE_EDITOR is set but empty, emacsclient runs emacs daemon and tries to connect to it. When this happens the emacs run by test-lib.sh fails to start the server and the subsequent attempts to use the server fail because the daemon started by emacsclient does not know about notmuch-test-progn. This leads to test suite failure due to time out on any emacs test.
2015-12-30test: Always use paths without symlinksMichal Sojka
When notmuch sources are at a symlinked path, some tests fail because one part of the test uses physical path and another uses logical path (with symlinks). For example the following test output is produced when the test is started from /home/src/symlink-to-notmuch, which is a symlink to /home/src/notmuch. FAIL notmuch-fcc-dirs set to a string --- T310-emacs.26.OUTPUT 2015-12-29 08:54:29.055878637 +0000 +++ T310-emacs.26.EXPECTED 2015-12-29 08:54:29.055878637 +0000 @@ -1,5 +1,5 @@ From: Notmuch Test Suite <test_suite@notmuchmail.org> To: Subject: -Fcc: /home/src/notmuch/test/tmp.T310-emacs/mail/sent-string +Fcc: /home/src/symlink-to-notmuch/test/tmp.T310-emacs/mail/sent-string --text follows this line-- nil This commit makes all paths in test scripts physical. With it, all tests pass even when run from a symlinked directory.
2015-12-11python: add notmuch.Database.status_string()Daniel Kahn Gillmor
This gives some additional access to debugging information when using the python bindings. Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
2015-12-06configure: drop use of "pkg-config emacs"David Bremner
This does not play well with --prefix. As Tomi notes in id:m2k2p2rwth.fsf@guru.guru-group.fi, people still have the option of e.g. % ./configure ---emacslispdir=`pkg-config emacs --variable sitepkglispdir`
2015-11-23Merge branch 'release'David Bremner
Merge bugfixes applied directly to release
2015-11-23emacs: poll: return useful errors when poll fails.Mark Walters
Previously poll called from emacs would fail silently. This makes it return a useful error message. In the non-deprecated case of notmuch new and appropriate hooks, it uses notmuch-call-notmuch-process which gives an error and additionally puts the stdout/stderr etc in the *Notmuch errors* buffer. In the deprecated case of a custom poll script it only returns an error message. Commit based on a bug report, and a potential fix, by Ketil Malde.
2015-11-23emacs: hello: fix accidental modification of widget-keymapMark Walters
In emacs24 we use make-composed-keymap. It seems that if only a single map is specified then emacs just resuses it rather than creating a copy of it. Thus use make-sparse-keymap to force a copy.
2015-11-23forbid atomic transactions on writable, upgradable databasesSteven Allen
We can't (but currently do) allow upgrades within transactions because upgrades need their own transactions. We don't want to re-use the current transaction because bailing out of an upgrade would mean loosing all previous changes (because our "atomic" transactions don't commit before hand). This gives us two options: 1. Fail at the beginning of upgrade (tell the user to end the transaction, upgrade, and start over). 2. Don't allow the user to start the transaction. I went with the latter because: 1. There is no reason to call `begin_atomic` unless you intend to to write to the database and anyone intending to write to the database should upgrade it first. 2. This means that nothing inside an atomic transaction can ever fail with NOTMUCH_STATUS_UPGRADE_REQUIRED.
2015-11-23emacs/Makefile.local: notmuch-lib.elc depend on notmuch-version.elcTomi Ollila
emacs/make-depend.el will compute all other related dependencies except this one: notmuch-version is not top-level `require' expression in notmuc-lib.el[c] but conditional based on the existence of notmuch-version.el[c]. emacs/make-depend.el does not know now notmuch-version.el[c] becomes into existence but emacs/Makefile.local does know.
2015-11-23test: add sanity tests for threadingDavid Bremner
These tests are inspired by a problem report id:CAJhTkNh7_hXDLsAGyD7nwkXV4ca6ymkLtFG945USvfqK4ZJEdQ@mail.gmail.com Of course I can't duplicate the mentioned problem, it probably depends on specific message data.
2015-11-21emacs: notmuch-show-view-raw-message clears buffer, makes it read-onlyTomi Ollila
notmuch-show-view-raw-message() re-uses buffer created with same name (same Message-Id:) but it did not erase it before filling. If this ever happened, there were duplicated (potentially overlapping) content in the buffer. Now this is fixed. Apparently since emacs 24.5 the (view-buffer) makes the buffer read-only; so this problem would not have happened there, just that notmuch-show-view-raw-message() failed. This is fixed by setting inhibit-read-only t before erasing and filling the buffer. The emacs 24.5 feature having raw message buffer read-only is also now explicitly set to the buffer so the same experience is available with emaces < 24.5.
2015-11-19test: Tests for combining --batch and --remove-allDaniel Schoepe
This patch adds some tests for combining --remove-all with --batch or --input when calling notmuch-tag.
2015-11-19cli: Allow combining --remove-all and --batchDaniel Schoepe
This patch removes the restriction on notmuch-tag that disallows using both --remove-all and --batch. Combining the two options removes tags on all messages affected by each query before applying the new tags.
2015-11-19cli: content disposition values are not case-sensitiveJani Nikula
Per RFC 2183, the values for Content-Disposition values are not case-sensitive. While at it, use the gmime function for getting at the disposition string instead of referencing the field directly. This fixes attachment display and quoting in notmuch show and reply, respectively.
2015-11-19lib: content disposition values are not case-sensitiveJani Nikula
Per RFC 2183, the values for Content-Disposition values are not case-sensitive. While at it, use the gmime function for getting at the disposition string instead of referencing the field directly. This fixes "attachment" tagging and filename term generation for attachments while indexing.
2015-11-19tests: add test for case insensitive Content-DispositionDavid Bremner
This is broken now, but will be fixed in the next commit
2015-11-19notmuch-emacs-mua: set EMACS{,CLIENT} variables to defaults when emptyTomi Ollila
... in addition to doing this when these variables are unset. It is more useful to use defaults (emacs or emacsclient) than empty string as a command name.
2015-11-19devel/release-checks: added checking of copyright year in documentationTomi Ollila
Check that copyright year will be current year in generated documentation. Checking is done my matching that copyright line contains current year as a substring which is good enough "approximation" in this context.
2015-11-19Merge branch 'release'David Bremner
2015-11-14debian: another upload to work around gdb bugsdebian/0.21-3David Bremner
2015-11-12debian: release 0.21-2, architecture specific fixupsdebian/0.21-2David Bremner
2015-11-09emacs: Make notmuch-message-mode play nicely with flyspellMichal Sojka
Flyspell mode uses a special setting for message-mode to not spell-check message headers except Subject. Apply this setting also to notmuch-message-mode.
2015-11-09emacs: Fontify From with message-header-otherH. J. Illikainen
Commit e26d767897e8ab59f05808a12ac5c9c1e3c7030f changed the fontification of the body associated with the From header to message-header-from. However, that face is non-existent, and in message.el (message-font-lock-keywords) the From-header falls through and is attributed the message-header-other face. This commit removes the fontification of the [Ff]rom header in notmuch-show-mode in order to fontify it using the message-header-other face. This only affects non-default configurations where notmuch-message-headers is set to display From.
2015-10-30Merge tag '0.21'David Bremner
notmuch 0.21 release
2015-10-30release: disable wget certificate checkdebian/0.21-10.21David Bremner
this is a minor security hole, but no worse than what we had before. In particular the worst that happens is someone prevents us from making a release. Which is hardly worth the trouble of jacking the URL.
2015-10-29NEWS: set dateDavid Bremner
2015-10-29debian: changelog stanza for 0.21David Bremner
2015-10-29version: bump to 0.21David Bremner
2015-10-29NEWS updates for some extra emacs functionalityMark Walters
2015-10-27Documentation: fix type name spellingSteven Allen
2015-10-27Emacs: Add address completion based on company-modeMichal Sojka
When company-mode is available (Emacs >= 24), address completion candidates are shown in a nice popup box. This is triggered either by pressing TAB or by waiting a while during typing an address. The completion is based entirely on the asynchronous address harvesting from notmuch-address.el so the GUI is theoretically not blocked for long time. The completion works similarly as the TAB-initiated completion from notmuch-address.el, i.e. quick harvest based on user input is executed first and only after full harvesting is finished, in-memory cached data is used. [Improved by David Bremner]
2015-10-27Emacs: Add address completion mechanism implemented in elispMichal Sojka
Currently, notmuch has an address completion mechanism that requires external command to provide completion candidates. This commit adds a completion mechanism inspired by https://github.com/tjim/nevermore, which is implemented in Emacs lisp only. The preexisting address completion mechanism, activated by pressing TAB on To/Cc lines, is extended to use the new mechanism when notmuch-address-command to 'internal, which is the new default. The core of the new mechanism is the function notmuch-address-harvest, which collects the completion candidates from the notmuch database and stores them in notmuch-address-completions variable. The address harvesting can run either synchronously (same as with the previous mechanism) or asynchronously. When the user presses TAB for the first time, synchronous harvesting limited to user entered text is performed. If the entered text is reasonably long, this operation is relatively fast. Then, asynchronous harvesting over the full database is triggered. This operation may take long time (minutes on rotating disk). After it finishes, no harvesting is normally performed again and subsequent completion requests use the harvested data cached in memory. Completion cache is updated after 24 hours. Note that this commit restores (different) completion functionality for users when the user used external command named "notmuch-addresses", i.e. the old default. The result will be that the user will use the new mechanism instead of this command. I believe that many users may not even recognize this because the new mechanism works the same as http://commonmeasure.org/~jkr/git/notmuch_addresses.git and perhaps also as other commands suggested at http://notmuchmail.org/emacstips/#address_completion. [This feature was significantly improved by David Bremner and Mark Walters]
2015-10-27emacs: replace use of notmuch-address-message-insinuateDavid Bremner
This allows e.g. Gnus users to load this file without changing message-mode behaviour. This will disable completion for those that did not customize the variable but relied on the existence of a file named "notmuch-addresses" in their path. In the next commit the default behaviour will change to use a "workalike" internal completion mechanism.
2015-10-25debian: release 0.21~rc3-3debian/0.21_rc3-3David Bremner
Build-conflict with gdb-minimal, since there is no gdb-python to depend on
2015-10-25debian: bug fix upload for #802952debian/0.21_rc3-2David Bremner
2015-10-23debian: start changelog entry for 0.21David Bremner
2015-10-22NEWS: trim discussion of keybindingsdebian/0.21_rc3-10.21_rc3David Bremner
Try to reduce the total size of NEWS
2015-10-22version: bump to 0.21~rc3David Bremner
2015-10-22NEWS for minor emacs updatesMark Walters
This adds NEWS items for the new limit/filter function in notmuch-show, the saved-search option for tree view, the binding S to run the current tree-view search in notmuch-search, the increase in max text part size the bugfix for replying to encrypted messages from tree view
2015-10-22emacs: hello: bugfix: update docs for saved-searchesMark Walters
Update the documentation string for notmuch-saved-searches to include the new :search-type option.
2015-10-21completion: complete lastmod: search prefixJani Nikula
2015-10-21completion: clean up top level completionJani Nikula
Add note about missing features.
2015-10-21completion: complete shared options for each commandJani Nikula
Add support for completing --help, --uuid=, and --version after the subcommand. Do not support shared options at the top level yet due to difficulties in handling options with arguments. --uuid necessitates adding 'compopt -o nospace' also to notmuch new completion, but that just brings it in line with the rest.
2015-10-21completion: complete notmuch count --lastmodJani Nikula