aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* When a search query triggers a Xapian exception, log what the query was.Gravatar Eric Anholt2009-11-21
| | | | | | | In my script containing a series of queries to be run on new mail for setting up tags, it's nice to see which query I typed wrong. Signed-off-by: Eric Anholt <eric@anholt.net>
* Make bash completion directory configurable.Gravatar James Rowe2009-11-21
| | | | | Some systems install completion scripts in /usr/share/bash-completion, make the location configurable from Makefile.config.
* add_message: Re-fix handling of non-mail files.Gravatar Carl Worth2009-11-20
| | | | | | | | | | | More fallout from _get_header now returning "" for missing headers. The bug here is that we would no longer detect that a file is not an email message and give up on it like we should. And this time, I actually audited all callers to notmuch_message_get_header, so hopefully we're done fixing this bug over and over.
* notmuch_database_add_message: Add missing error-value propagation.Gravatar Carl Worth2009-11-20
| | | | | Thanks to Mike Hommey for doing the analysis that led to noticing that this was missing.
* add_message: Properly handle missing Message-ID once again.Gravatar Carl Worth2009-11-20
| | | | | | | | There's been a fair amount of fallout from when we changed message_file_get_header from returning NULL to returning "" for missing headers. This is yet more fallout from that, (where we were accepting an empty message-ID rather than generating one like we want to).
* Checkin some command-only tcsh completionsGravatar Alexander Botero-Lowry2009-11-20
| | | | | Modified-by Carl Worth <cworth@cworth.org>: Just moved the file down into contrib where the other completion scripts are.
* bash-completion: Move to contribGravatar Ingmar Vanhassel2009-11-20
| | | | Signed-off-by: Ingmar Vanhassel <ingmar@exherbo.org>
* zsh-completion: Initial zsh-completion for notmuchGravatar Ingmar Vanhassel2009-11-20
| | | | Signed-off-by: Ingmar Vanhassel <ingmar@exherbo.org>
* Add notmuch.1.gz to files to be cleanedGravatar Mikhail Gusarov2009-11-20
| | | | Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
* TODO: Add a couple of notes about fixing the completion script.Gravatar Carl Worth2009-11-20
| | | | | I'm throwing away a half-finished fix of this now, and just want to ensure I don't forget about it.
* Makefile: Make object targets depend on MakefilesGravatar Jan Janak2009-11-20
| | | | | | | All objects need to be recompiled when any of the Makefiles changes, so we make them all depend on all the Makefiles. Signed-off-by: Jan Janak <jan@ryngle.com>
* Allow to redefine notmuch binary name and path in elisp modeGravatar Mikhail Gusarov2009-11-20
| | | | Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
* notmuch.el: Don't use literal control characters in strings.Gravatar Carl Worth2009-11-20
| | | | | | | Avoding these is nicer to users, text editors, and our poor little notmuch.el code itself that would get confused when seeing a copy of itself in email. (Of course, we should still fix that bug, but this workaround is good nonetheless.)
* Makefile: Hard-code emacs_lispdir if emacs pkg-config file not availableGravatar Carl Worth2009-11-20
| | | | | Using pkg-config to find this variable is nice if it works. Go back to the previously used value if it doesn't.
* Makefile: Remove unused variable emacs_startdirGravatar Carl Worth2009-11-20
| | | | | | This was added in a prelimnary version of a previous commit that would automatically load notmuch.el for anyone running emacs. It's not used at all in the current Makefile.
* Avoid access of a Xapian iterator's object when there's nothing there.Gravatar Carl Worth2009-11-20
| | | | | | | This eliminates a crash when a message (either corrupted or a non-mail file that wasn't properly detected as not being mail) has no In-Reply-To header, (and so few terms that trying to skip to the prefix of the In-Reply-To terms actually brings us to the end of the termlist).
* Revert inadvertently committed code.Gravatar Carl Worth2009-11-20
| | | | | | | | | This was accidentally included with commit: ddac17343a30976cae82c9f57419c063e1585cc0 (It was a dirty chunk in my directory that I accidentally amended into the submitted patch.)
* notmuch build: add a RPM spec fileGravatar Jeffrey C. Ollie2009-11-20
| | | | | | Add a spec file for building RPM packages. Signed-off-by: Jeffrey C. Ollie <jeff@ocjtech.us>
* Add a .desktop file entry.Gravatar Jeffrey C. Ollie2009-11-20
| | | | | | | This will add an entry in your window manager's menus that will create up a new emacs process and start notmuch. Signed-off-by: Jeffrey C. Ollie <jeff@ocjtech.us>
* Improve installation of emacs mode.Gravatar Jeffrey C. Ollie2009-11-20
| | | | | | | | | | | | | | | | | | 1) Add a separate targets to build and install emacs mode. 2) Don't hardcode the installation directory, instead use emacs' pkg-config module. 3) Install a byte compiled version of the emacs mode. 4) Install the emacs mode in emacs' site-lisp directory. Put "(require 'notmuch)" in your .emacs to load it automatically. 5) Ignore byte-compiled emacs files. Signed-off-by: Jeffrey C. Ollie <jeff@ocjtech.us> Reviewed-by: Ingmar Vanhassel <ingmar@exherbo.org> Reviewed-by: Keith Packard <keithp@keithp.com>
* Have git ignore tags & cscope filesGravatar Rolland Santimano2009-11-20
|
* Put $(LDFLAGS) after the list of object files.Gravatar Peter Wang2009-11-19
| | | | | | Some linkers on some systems are particularly picky about the order of arguments in order to properly linkt. So this fixes failures on some systems.
* notmuch: Add search mode hookGravatar Aneesh Kumar K.V2009-11-19
| | | | | | | | This patch add notmuch-search-hook that gets run when we after displaying search results Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Cc:Keith Packard <keithp@keithp.com>
* Makefile: Create elisp install directory explicitlyGravatar Ingmar Vanhassel2009-11-19
| | | | | | | When doing a DESTDIR install, this directory likely won't exist, and installing notmuch.el will fail. See 0d4b5292
* bash-completion: Complete options for notmuch searchGravatar Ingmar Vanhassel2009-11-19
|
* bash-completion: Localize variables, use more consistent variable namesGravatar Ingmar Vanhassel2009-11-19
|
* bash-completion: Whitespace fixGravatar Ingmar Vanhassel2009-11-19
| | | | Signed-off-by: Ingmar Vanhassel <ingmar@exherbo.org>
* bash-completion: Bash has & should use [[ == ]]Gravatar Ingmar Vanhassel2009-11-19
| | | | Signed-off-by: Ingmar Vanhassel <ingmar@exherbo.org>
* Allow lone "not" search operatorsGravatar Adrian Perez2009-11-19
| | | | | | | | | | | | | | | | | | As suggested by Keith in FLAG_PURE_NOT allows for expressions like: notmuch search NOT tag:inbox Note that this way a search like: notmuch search foobar NOT tag:inbox should not be written instead: notmuch search foobar AND NOT tag:inbox In my opinion, the latter feels more natural and is somewhat more explicit. It gives a better clue of what the search is about instead of assuming that an implicit AND operator is there.
* .gitignore: Add common editor droppingsGravatar Ingmar Vanhassel2009-11-19
|
* notmuch new: Restore printout of total files counted.Gravatar Carl Worth2009-11-19
| | | | This was more fallout from the recent re-shuffling of this code.
* notmuch new: Fix countdown timer on first run.Gravatar Carl Worth2009-11-19
| | | | | A recent shuffling of this code accidentally disabled the timer, (making the time spent counting the files totally useless).
* Makefile: Actually install the emacs mode.Gravatar Carl Worth2009-11-19
| | | | Should have been doing this a long time ago.
* notmuch.el: Add a reply binding ('r') to search mode to reply to a whole thread.Gravatar Carl Worth2009-11-19
| | | | | | This is basically right, (I get a message buffer with all the mails quoted), but somehow notmuch reply is reversing the messages. That's a nuisance.
* reply: Pointer mismatch.Gravatar Chris Wilson2009-11-19
| | | | Apparently typeof (size_t) != unsigned int on my x86-64.
* Makefile: evaluate pkg-config onceGravatar Chris Wilson2009-11-19
| | | | | Currently the same `pkg-config ...` is executed for every target, so just store the results in a variable.
* Make reply/show/tag all require at least one search termGravatar Keith Packard2009-11-18
| | | | | | | | In particular, notmuch tag -inbox "" tended to take a long time to run, happened if you hit 'a' on a blank line in the search view and probably didn't have the desired effect. Signed-off-by: Keith Packard <keithp@keithp.com>
* Have git ignore etags fileGravatar Keith Packard2009-11-18
|
* Filter out carriage-returns in show and reply output.Gravatar Keith Packard2009-11-18
| | | | | | Thanks, windows mail clients. Signed-off-by: Keith Packard <keithp@keithp.com>
* We use the message mail system for new mail, let emacs know.Gravatar Keith Packard2009-11-18
| | | | | | | This makes things like the goto-address system bring up the right message composition window. Signed-off-by: Keith Packard <keithp@keithp.com>
* Create a default notmuch-show-hook that highlights URLs and uses word-wrapGravatar Keith Packard2009-11-18
| | | | | | | | | I created the notmuch-show-hook precisely so I could add these two options, but I suspect most people will want them, so I just made them the default. If you don't want them, you can use remove-hook to get rid of this. Signed-off-by: Keith Packard <keithp@keithp.com>
* Set truncate-lines variable for search buffers.Gravatar Keith Packard2009-11-18
| | | | | | This keeps them from wrapping. Signed-off-by: Keith Packard <keithp@keithp.com>
* Add notmuch-show-hook to allow customization of show windowsGravatar Keith Packard2009-11-18
| | | | | | | | | I wanted to enable got-address-mode and visual-line-mode in my show windows to make messages easier to read and URLs easier to follow. This hook allows the user to run arbitrary code each time a message is shown. Signed-off-by: Keith Packard <keithp@keithp.com>
* count_files: sort directory in inode order before stattingGravatar Stewart Smith2009-11-18
| | | | | | Carl says: This has similar performance benefits as the previous patch, and I fixed similar style issues here as well, (including missing more of a commit message than the one-line summary).
* Minor style fixups for the previous fix.Gravatar Carl Worth2009-11-18
| | | | | Use consistent whitespace, a slightly less abbreviated identifier, and avoid a C99 declaration after statement.
* Read mail directory in inode number orderGravatar Stewart Smith2009-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This gives a rather decent reduction in number of seeks required when reading a Maildir that isn't in pagecache. Most filesystems give some locality on disk based on inode numbers. In ext[234] this is the inode tables, in XFS groups of sequential inode numbers are together on disk and the most significant bits indicate allocation group (i.e inode 1,000,000 is always after inode 1,000). With this patch, we read in the whole directory, sort by inode number before stat()ing the contents. Ideally, directory is sequential and then we make one scan through the file system stat()ing. Since the universe is not ideal, we'll probably seek during reading the directory and a fair bit while reading the inodes themselves. However... with readahead, and stat()ing in inode order, we should be in the best place possible to hit the cache. In a (not very good) benchmark of "how long does it take to find the first 15,000 messages in my Maildir after 'echo 3 > /proc/sys/vm/drop_caches'", this patch consistently cut at least 8 seconds off the scan time. Without patch: 50 seconds With patch: 38-42 seconds. (I did this in a previous maildir reading project and saw large improvements too)
* Make '?" bring up a list of bindings.Gravatar Carl Worth2009-11-18
| | | | | Just using describe-mode for now, (though something more specialized would be better).
* Fix linking with gcc to use g++ to link in C++ libs.Gravatar Stewart Smith2009-11-18
| | | | | | | | Previously, Ubuntu 9.10, gcc 4.4.1 was getting: /usr/bin/ld: lib/notmuch.a(database.o): in function global constructors keyed to BOOLEAN_PREFIX_INTERNAL:database.cc(.text+0x3a): error: undefined reference to 'std::ios_base::Init::Init()'
* notmuch main(): Remove stale comment.Gravatar Carl Worth2009-11-18
| | | | The code this comment was referring to has since been deleted.
* notmuch help: Print to stdout, not to stderr.Gravatar Lars Kellogg-Stedman2009-11-18
| | | | | | Let usage() take a FILE * argument so that you can output to stderr in response to usage errors, and stdout in response to an explicit request.