aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* build system: tweak VERSION so that debian-snapshot works for N.NN~rcNGravatar David Bremner2011-11-17
| | | | | The problem was that the version is recovered from the git tag, which has the ~ replaced by _. This broke the sequencing of version numbers.
* NEWS: fix some old typos and trailing whitespaceGravatar Pieter Praet2011-11-16
| | | | (with a further M-x whitespace-cleanup by db)
* NEWS: add entries for stashing-related keybinding and testsGravatar Pieter Praet2011-11-16
| | | | | | Add news entries for commits: f9764bfacc97457d1154c2d2a6001a6564f13ec3 64febdf71c4184ca369f5d11d7f196704a3ec1a6
* NEWS entry for id-linksGravatar Daniel Schoepe2011-11-16
| | | | | | This adds a NEWS entry for commit 4a4ada73b751b1916c5dc4d408a8056411566e38 (second try, with whitespace fix)
* Revert "NEWS entry for id-links"Gravatar David Bremner2011-11-16
| | | | | | This reverts commit e93bf1f842d4d06b2468d1cdbd5e4e25877c7a44. reverting to fix whitespace
* NEWS entry for id-linksGravatar Daniel Schoepe2011-11-16
| | | | This adds a NEWS entry for commit 4a4ada73b751b1916c5dc4d408a8056411566e38
* NEWS entry for adding tab-completion to notmuch-searchGravatar Daniel Schoepe2011-11-16
| | | | Add a news entry for commit6a280088e6769015ade7758b9790384997a21ff3.
* NEWS: mention improved search buffer performance, change Optimizations to ↵Gravatar David Bremner2011-11-16
| | | | | | Performance via email: id:"20111116154317.GC2852@mit.edu"
* notmuch.1: bump version numberGravatar David Bremner2011-11-16
| | | | | | More of a leap than a bump. This is a bit silly keeping 3 files syncronized. At least for this file, I would prefer a solution that generates notmuch.1 from some template at build time.
* RELEASING: update description of "make release".Gravatar David Bremner2011-11-16
| | | | | | | The additional "safety feature" documented here is motivated by the fact that I use gpg-agent and I don't always get the GPG prompt that Carl was relying on as an abort point. The new version also allows more to be done in "dry run" mode.
* RELEASING: update discussion of version handlingGravatar David Bremner2011-11-16
| | | | This is definitely reaching the point where it should be automated.
* RELEASING: update symbol handling description for current practice.Gravatar David Bremner2011-11-16
| | | | | | | | We really did bump SONAME, and we probably will again, but not just for a simple symbol addition. Debian versions generally need to be removed from symbols file; this wasn't a problem before because there was no Debian versions
* NEWS: discuss contrib and nmbugGravatar David Bremner2011-11-15
| | | | | I mention the possibility of a seperate license here because currently notmuch-deliver is licensed GPL v2 only.
* debian/libnotmuch2.symbols: add notmuch_query_count_threadsGravatar David Bremner2011-11-15
| | | | Since this is only an added symbol, no soname bump required.
* debian: new changelog stanza for 0.10~rc1-1Gravatar David Bremner2011-11-15
| | | | | The changelog is a bit minimalist, but we'll do better for the real release.
* version: update to 0.10~rc1Gravatar David Bremner2011-11-15
| | | | and the usual dance with the python bindings version.
* test: add tests for notmuch search --offset and --limitGravatar Jani Nikula2011-11-15
| | | | Signed-off-by: Jani Nikula <jani@nikula.org>
* test: add tests for notmuch countGravatar Jani Nikula2011-11-15
| | | | Signed-off-by: Jani Nikula <jani@nikula.org>
* cli: add support for --output parameter in notmuch countGravatar Jani Nikula2011-11-15
| | | | | | | Add support for --output=messages (which remains the default) and --output=threads to notmuch count. Signed-off-by: Jani Nikula <jani@nikula.org>
* cli: drop unused code from notmuch countGravatar Jani Nikula2011-11-15
| | | | | | Remove unused code within #if 0 blocks from notmuch count. Signed-off-by: Jani Nikula <jani@nikula.org>
* cli: add options --offset and --limit to notmuch searchGravatar Jani Nikula2011-11-15
| | | | | | | | | | | | | | | Add options --offset=[-]N and --limit=M to notmuch search to determine the first result and maximum number of results to display. Option --limit=M limits the maximum number of results to display to M. Option --offset=[-]N skips the first N results; with the leading '-' skip until the Nth result from the end. Note that --offset with a negative N for thread or summary output requires counting the number of matching threads in advance. Signed-off-by: Jani Nikula <jani@nikula.org>
* lib: add function to get the number of threads matching a searchGravatar Jani Nikula2011-11-15
| | | | | | | | | Add function notmuch_query_count_threads() to get the number of threads matching a search. This is done by performing a search and figuring out the number of unique thread IDs in the matching messages, a significantly heavier operation than notmuch_query_count_messages(). Signed-off-by: Jani Nikula <jani@nikula.org>
* test: Add a test script for "notmuch tag"Gravatar Austin Clements2011-11-14
|
* news: Store "from" and "subject" headers in the database.Gravatar Austin Clements2011-11-14
|
* Store "from" and "subject" headers in the database.Gravatar Austin Clements2011-11-14
| | | | | | | | | | | | | | This is a rebase and cleanup of Istvan Marko's patch from id:m3pqnj2j7a.fsf@zsu.kismala.com Search retrieves these headers for every message in the search results. Previously, this required opening and parsing every message file. Storing them directly in the database significantly reduces IO and computation, speeding up search by between 50% and 10X. Taking full advantage of this requires a database rebuild, but it will fall back to the old behavior for messages that do not have headers stored in the database.
* test/atomicity: change shebang to '#!/usr/bin/env bash'Gravatar Tomi Ollila2011-11-14
|
* emacs: add notmuch-show-worker function for specifying crypto processing ↵Gravatar Jameson Graef Rollins2011-11-13
| | | | | | | | | | | directly The main reason to introduce this new unexposed function is to allow the buffer redisplay crypto switch to behaving in a more expected way. The prefix to notmuch-show-redisplay buffer now switches the crypto processing of the current show buffer, as opposed to switching the logic of the notmuch-crypto-process-mime customization variable. This behavior is more intuitive.
* emacs: add documentation for notmuch-show crypto-switch optionGravatar Jameson Graef Rollins2011-11-13
|
* Link libutil using filenmae, rather than using -l.Gravatar Tom Prince2011-11-13
| | | | | glibc includes a libutil, so if the wrong -L options get passed, we will pick up glibc's version, rather than our own.
* test: make smtp-dummy work with Emacs 24Gravatar Thomas Jost2011-11-13
| | | | | In Emacs 24, a space is expected after a SMTP response code. If we don't respect that, smtpmail-send-it will wait forever.
* test: do not hide test_emacs errorsGravatar Dmitry Kurochkin2011-11-13
| | | | | | | | Do not redirect test_emacs stderr to /dev/null. Test_emacs uses emacsclient(1) now and it does not print unwanted messages (like those from `message') to stderr. But it does print useful errors, e.g. when emacs server connection fails, given expression is not valid or undefined function is called.
* exec emacs at the end of run_emacs scriptGravatar Tomi Ollila2011-11-12
| | | | | In the last line of run_emacs, exec the emacs process. With one fork less the process list is (also) neater.
* contrib/nmbug: new script for sharing tags with a given prefix.Gravatar David Bremner2011-11-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main idea is consider the notmuch database as analogous to the work-tree. A bare git repo is maintained in the users home directory, with a tree of the form tags/$message-id/$tag Like notmuch and git, we have a set of subcommnds, mainly modelled on git. Implementation wise, the heavy lifting is in the following functions. commit xapian -> git checkout git -> xapian merge fetched git + git -> xapian status find differences between xapian, git, and remote git. The central implementation trick, from an idea I think due to tomprince on IRC is manipulate the git index directly from the xapian tag information. The merge routine is still done using a temporary checkout as I wasn't able to get it working with the index only. There are also some convenience wrappers around git commands, like "fetch" that essential just set GIT_DIR in the environment. In order to encode tags (viewed as octet sequences) into filenames, we whitelist a smallish set of characters and %hex escape anything outside. The prefix is omitted in git, which lets one save and restore to different prefixes (although this is only lightly tested). Thanks to Tomi Ollila for a huge amount of feedback and patches while putting this together.
* emacs: update notmuch-crypto-process-mime config variable documentation.Gravatar Jameson Graef Rollins2011-11-12
| | | | | This mentions the fact that prefix arguments are now used to enable to crypto switch.
* emacs: Unbind M-RET as display of thread with crypto switch.Gravatar Jameson Graef Rollins2011-11-12
| | | | Use prefix argument instead to set switch.
* test: stashing in notmuch-{show,search}Gravatar Pieter Praet2011-11-12
| | | | | | Should provide full test coverage of the stashing feature. Signed-off-by: Pieter Praet <pieter@praet.org>
* emacs: add keybind and function to stash Message-ID without prefixGravatar Pieter Praet2011-11-12
| | | | | | | | | | | Add function `notmuch-show-stash-message-id-stripped' which stashes a Message-ID after ripping off the prefix and quotes, add bind it to "I" key in `notmuch-show-stash-map'. Simplifying `notmuch-show-get-message-id' instead might seem better, but that would require concat'ing in 9 places instead of 1. Signed-off-by: Pieter Praet <pieter@praet.org>
* NEWS: mention dtach instead of screen in the description of testing changesGravatar David Bremner2011-11-12
| | | | This brings NEWS back in line with the actual code.
* emacs: add invisible space after the search widget field in notmuch-helloGravatar Dmitry Kurochkin2011-11-12
| | | | | | | | | It is very convenient when C-e (bound to `widget-end-of-line') ignores trailing spaces inside the search widget. But it only does so if a widget is not followed by a newline (that is why it works in the saved search widgets). The patch just adds an invisible space after the search widget to get the desirable behavior of `widget-end-of-line'. The extra space is also added to expected results of emacs tests.
* emacs: Use a single buffer invisibility spec to fix quadratic search cost.Gravatar Austin Clements2011-11-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | Buffer redisplay requires traversing the buffer's invisibility spec for every part of the display that has an 'invisible text or overlay property. Previously, the search buffer's invisibility spec list contained roughly one entry for each search result. As a result, redisplay took O(NM) time where N is the number of visible lines and M is the total number of results. On a slow computer, this is enough to make even buffer motion noticeably slow. Worse, during a search operation, redisplay is triggered for each search result (even if there are no visible buffer changes), so search was quadratic (O(NM^2)) in the number of search results. This change switches to using a single element buffer invisibility spec. To un-hide authors, instead of removing an entry from the invisibility spec, it simply removes the invisibility overlay from those authors. I tested using a query with 6633 results on a 9 year old machine. Before this patch, Emacs took 70 seconds to fill the search buffer; toward the end of the search, Emacs consumed 10-20x as much CPU as notmuch; and moving point in the buffer took about a second. With this patch, the same query takes 40 seconds, Emacs consumes ~3x the CPU of notmuch by the end, and there's no noticeable lag to moving point. (There's still some source of non-linearity, because Emacs and notmuch consume roughly the same amount of CPU early in the search.)
* smtp-dummy: clear sockaddr_in structure before use in bind()Gravatar Tomi Ollila2011-11-12
| | | | | Any junk bytes in sockaddr_in structure before passing that to bind() system call may cause problems.
* debian: update build dependency on dtach instead of screenGravatar Jameson Graef Rollins2011-11-11
| | | | | This reflects a modification to the test suite to use dtach instead of screen.
* debian: clean up Uploaders and Build-Depends fields in debian/controlGravatar Jameson Graef Rollins2011-11-11
| | | | | No functional change, but this will make for cleaner diffs down the line.
* test: use dtach(1) instead of screen(1) in emacs testsGravatar Tomi Ollila2011-11-11
| | | | | dtach is simpler than screen and is not setuid/setgid program so TMPDIR does not get cleared by dynamic loader when executed
* Do not query on notmuch-search exitGravatar Michal Sojka2011-11-08
| | | | | | Emacs 23.2 queries by default about killing existing processes. This is annoying when one wants to interrupt long search with 'q' key. Disable this behavior for notmuch.
* emacs: remove unused `point-invisible-p' functionGravatar Dmitry Kurochkin2011-11-07
| | | | | | `point-invisible-p' does not work correctly when `invisible' property is a list. There are standard `invisible-p' and related functions that should be used instead.
* emacs: remove no longer used functions from notmuch-show.elGravatar Dmitry Kurochkin2011-11-07
| | | | | | Remove `notmuch-show-move-past-invisible-backward' and `notmuch-show-move-past-invisible-forward' functions which are unused.
* emacs: improve hidden signatures handling in notmuch-show-advance-and-archiveGravatar Dmitry Kurochkin2011-11-07
| | | | | | | Use `previous-single-char-property-change' instead of going through each character by hand and testing it's visibility. This fixes `notmuch-show-advance-and-archive' to work for the last message in thread with hidden signature.
* test: `notmuch-show-advance-and-archive' with invisible signatureGravatar Dmitry Kurochkin2011-11-07
| | | | | Add Emacs test to check that `notmuch-show-advance-and-archive' works for the last message in thread with invisible signature.
* NEWS: tentative news item about requiring screen to run the test suite.Gravatar David Bremner2011-11-05
| | | | | | Hopefully this will be fixed before release, but for the moment, explain to people why their test suite might not be working like it used to.