summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-04-26debian: add versioned depends on dpkg-devdebian/0.22-10.22David Bremner
This is needed to support build profiles (e.g. nocheck)
2016-04-26debian: add changelog stanza for 0.22David Bremner
2016-04-26bump version and NEWS date for 0.22 releaseDavid Bremner
2016-04-25NEWS: mention try-emacs-muaTomi Ollila
A non-technical introduction for users who read NEWS to have better chance to find ./devel/notmuch-emacs-mua when they test or experiment with notmuch emacs MUA next time.
2016-04-24debian: changelog stanza for 0.22~rc1-1debian/0.22_rc1-10.22_rc1David Bremner
2016-04-24version: bump to 0.22~rc1David Bremner
2016-04-24NEWS: entry for emacs mua address completionDavid Bremner
2016-04-24NEWS: document some bug fixesDavid Bremner
2016-04-24NEWS: document S/MIME supportDavid Bremner
2016-04-24NEWS: note no-op-ness of notmuch-message-address-insinuateDavid Bremner
2016-04-24NEWS: note dropping "pkg-config emacs"David Bremner
2016-04-24NEWS: add note about xapian 1.3 supportDavid Bremner
2016-04-24doc: change copyright dateDavid Bremner
Yes, it is 2016
2016-04-18Emacs related NEWS for 0.22.David Edmondson
2016-04-16emacs: Don't indent multipart sub-parts during reply.David Edmondson
When generating cited messages for replay, override any existing setting for `notmuch-show-indent-multipart' to ensure that no indentation occurs.
2016-04-16debian: minimal changelog for 0.22~rc0-1debian/0.22_rc0-10.22_rc0David Bremner
2016-04-16version: bump to 0.22~rc0David Bremner
2016-04-16bindings: drop build time message on missing ruby dependencyJani Nikula
The usual make message on everything being up to date is: make: Nothing to be done for 'all'. However, since commit d038b9320949c79503fe4b76870aaabf279405ab Author: David Bremner <david@tethera.net> Date: Mon Jun 1 09:08:59 2015 +0200 build: integrate building ruby bindings into notmuch build process if one doesn't have the ruby dependencies installed, the message has been: Missing dependency, skipping ruby bindings Restore the usual behaviour by dropping the message. It's redundant during build anyway, since the configure script already outputs: Checking for ruby development files... No (skipping ruby bindings)
2016-04-16emacs: Add notmuch homepage to package headerChunyang Xu
So user can find out notmuch's homepage with: C-h P ('describe-package') notmuch
2016-04-16emacs: Fix packagingChunyang Xu
Refer to (info "(elisp) Library Headers") for package conventions.
2016-04-15complete ghost-on-removal-when-shared-thread-existsDaniel Kahn Gillmor
To fully complete the ghost-on-removal-when-shared-thread-exists proposal, we need to clear all ghost messages when the last active message is removed from a thread. Amended by db: Remove the last test of T530, as it no longer makes sense if we are garbage collecting ghost messages.
2016-04-15On deletion, replace with ghost when other active messages in threadDaniel Kahn Gillmor
There is no need to add a ghost message upon deletion if there are no other active messages in the thread. Also, if the message being deleted was a ghost already, we can just go ahead and delete it.
2016-04-15Introduce _notmuch_message_has_term()Daniel Kahn Gillmor
It can be useful to easily tell if a given message has a given term associated with it.
2016-04-15Add internal functions to search for alternate doc typesDaniel Kahn Gillmor
Publicly we are only exposing the non-ghost documents (of "type" "mail"). But internally we might want to inspect the ghost messages as well. This changeset adds two new private interfaces to queries to recover information about alternate document types.
2016-04-15fix thread breakage via ghost-on-removalDaniel Kahn Gillmor
implement ghost-on-removal, the solution to T590-thread-breakage.sh that just adds a ghost message after removing each message. It leaks information about whether we've ever seen a given message id, but it's a fairly simple implementation. Note that _resolve_message_id_to_thread_id already introduces new message_ids to the database, so i think just searching for a given message ID may introduce the same metadata leakage.
2016-04-15test thread breakage when messages are removed and re-addedDaniel Kahn Gillmor
This test (T590-thread-breakage.sh) has known-broken subtests. If you have a two-message thread where message "B" is in-reply-to "A", notmuch rightly sees this as a single thread. But if you: * remove "A" from the message store * run "notmuch new" * add "A" back into the message store * re-run "notmuch new" Then notmuch sees the messages as distinct threads. This happens because if you insert "B" initially (before anything is known about "A"), then a "ghost message" gets added to the database in reference to "A" that is in the same thread, which "A" takes over when it appears. But if "A" is subsequently removed, no ghost message is retained, so when "A" appears, it is treated as a new thread. I see a few options to fix this: ghost-on-removal ---------------- We could unilaterally add a ghost upon message removal. This has a few disadvantages: the message index would leak information about what messages the user has ever been exposed to, and we also create a perpetually-growing dataset -- the ghosts can never be removed. ghost-on-removal-when-shared-thread-exists ------------------------------------------ We could add a ghost upon message removal iff there are other non-ghost messages with the same thread ID. We'd also need to remove all ghost messages that share a thread when the last non-ghost message in that thread is removed. This still has a bit of information leakage, though: the message index would reveal that i've seen a newer message in a thread, even if i had deleted it from my message store track-dependencies ------------------ rather than a simple "ghost-message" we could store all the (A,B) message-reference pairs internally, showing which messages A reference which other messages B. Then removal of message X would require deleting all message-reference pairs (X,B), and only deleting a ghost message if no (A,X) reference pair exists. This requires modifying the database by adding a new and fairly weird table that would need to be indexed by both columns. I don't know whether xapian has nice ways to do that. scan-dependencies ----------------- Without modifying the database, we could do something less efficient. Upon removal of message X, we could scan the headers of all non-ghost messages that share a thread with X. If any of those messages refers to X, we would add a ghost message. If none of them do, then we would just drop X entirely from the table. --------------------- One risk of attempted fixes to this problem is that we could fail to remove the search term indexes entirely. This test contains additional subtests to guard against that. This test also ensures that the right number of ghost messages exist in each situation; this will help us ensure we don't accumulate ghosts indefinitely or leak too much information about what messages we've seen or not seen, while still making it easy to reassemble threads when messages come in out-of-order.
2016-04-15test: add test-binary to print the number of ghost messagesDavid Bremner
This one-liner seems preferable to the complications of depending on delve, getting the binary name right and parsing the output.
2016-04-12lib: clean up _notmuch_database_split_pathJani Nikula
Make the logic it a bit easier to read. No functional changes.
2016-04-12lib: fix handling of one character long directory names at top levelJani Nikula
The code to skip multiple slashes in _notmuch_database_split_path() skips back one character too much. This is compensated by a +1 in the length parameter to the strndup() call. Mostly this works fine, but if the path is to a file under a top level directory with one character long name, the directory part is mistaken to be part of the file name (slash == path in code). The returned directory name will be the empty string and the basename will be the full path, breaking the indexing logic in notmuch new. Fix the multiple slash skipping to keep the slash variable pointing at the last slash, and adjust strndup() accordingly. The bug was introduced in commit e890b0cf4011fd9fd77ebd87343379e4a778888b Author: Carl Worth <cworth@cworth.org> Date: Sat Dec 19 13:20:26 2009 -0800 database: Store the parent ID for each directory document. just a little over two months after the initial commit in the Notmuch code history, making this the longest living bug in Notmuch to date.
2016-04-12test: test one character long directory names at top levelJani Nikula
Yes, it's broken. Reported by h01ger on IRC.
2016-04-12test: cope with glass backend file naming variationsDavid Bremner
In several places in the test suite we intentionally corrupt the Xapian database in order to test error handling. This corruption is specific to the on-disk organization of the database, and that changed with the glass backend. We use the previously computed default backend to make the tests adapt to changing names.
2016-04-12configure: add test for default xapian backendDavid Bremner
This is mainly for the test suite. We already expect the tests to be run in the same environment as configure was run, at least to get the name of the python interpreter. So we are not really imposing a new restriction.
2016-04-12test/atomicity: guard chert-only optimizationDavid Bremner
This should potentially be updated to have an equivalent optimization for the glass backend, but it in my unscientific tests, the glass backend without the optimization is faster then the chert backend with.
2016-04-12test: improve error handling in lib-error testsDavid Bremner
There is at least one bug fixed here (missing parameter to printf), even if exiting via segfault is considered OK.
2016-04-10emacs: make use of `message-make-from'aeuii@posteo.de
Please put my address in CC when replying. Thanks! From 4b9ab261a0ea8a31065e310c5150f522be86d37b Mon Sep 17 00:00:00 2001 From: stefan <aeuii@posteo.de> Date: Fri, 8 Apr 2016 22:47:06 +0200 Subject: [PATCH] emacs: make use of `message-make-from' Will respect `mail-from-style'.
2016-04-10emacs: Always insert crypto buttons.David Edmondson
When no decryption or signature examination is happening (i.e. `notmuch-crypto-process-mime' is `nil') insert buttons that indicate this, rather than remaining silent.
2016-04-09emacs: Allow part preferences to depend on message content.David Edmondson
Currently the preference for which sub-part of a multipart/alternative part is shown is global. Allow to the user to override the settings on a per-message basis by providing the ability to call a function that has access to the message to return the discouraged type list. The original approach is retained as the default.
2016-04-01configure: autodetect xapian-1.3David Bremner
Mimic the handling of python2 versus python3. In particular if both xapian-config and xapian-config-1.3 are found, use xapian-config
2016-03-29cli/new: add better error messages for FILE_ERRORDavid Bremner
The code in add_file seems to assume that NOTMUCH_STATUS_FILE_ERROR is never returned from add_message. This turns out to be false (although it seems to only happen in certain fairly rare race conditions).
2016-03-29CLI: add print_status_databaseDavid Bremner
This could probably be used at quite a few places in the existing code, but in the immediate future I plan to use in some new code in notmuch-dump
2016-03-28nmbug: ignore # commentsDavid Bremner
Lines starting with # have always (for a long time, anyway) been ignored by notmuch-restore, but have not been generated by notmuch-dump previously. In order to make nmbug robust against such output, ignore comment lines.
2016-03-27emacs: Improve the acquisition of text parts.David Edmondson
`notmuch-get-bodypart-text' assumed that it is always possible to acquire text/* parts via the sexp output format. This is not true if the part in question has a content type of application/octet-stream but is being interpreted as text/* based on the extension of the part filename. Rework `notmuch-get-bodypart-text' to use the raw output format to address this and make the implementation common with that of `notmuch-get-bodypart-binary'.
2016-03-27emacs: Neaten `notmuch-show-insert-bodypart-internal'.David Edmondson
2016-03-27emacs: `notmuch-show-insert-part-multipart/encrypted' should not assume the presence of a button.David Edmondson
Missed in c802d12a1e43fe69f2fcf7a2f7d44018a55bfb65.
2016-03-26test/test-lib.el: revert setting notmuch-mua-reply-insert-header-p-functionTomi Ollila
in d27d90875dfb1 (2016-02-20) notmuch-mua-reply-insert-header-p-function was set to notmuch-show-reply-insert-header-p-never as its default was changed to something else. Now that default is set back to *-never so this change done in d27d90875dfb1 is not needed anymore.
2016-03-26NEWS: Consolidate nmbug-status and notmuch-report sectionsW. Trevor King
These are the same tool; the nmbug-status text just landed before the name change. We can also drop the message-url details from NEWS, since they're already in the man page.
2016-03-24emacs: `notmuch-show-forward-message' can use `notmuch-mua-new-forward-messages'David Edmondson
Which allows `notmuch-mua-new-forward-message' to be removed.
2016-03-24emacs: Add `notmuch-show-forward-open-messages'.David Edmondson
Add a function to forward all open messages in the current view of a thread. Bind this to "F".
2016-03-24emacs: Improve crypto button labels.David Edmondson
Make the labels for both encryption and signature buttons share a common format, in which both report the status if it is not one of those known.
2016-03-24NEWS: Document the notmuch-report branchW. Trevor King