summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Makefile: Only print the "make install" hint after the first build.Carl Worth2010-04-02
| | | | | | It was getting quite annoying to see this big block of text on every little build, (but I didn't want to get rid of it for any new users). This seems to strike the right balance.
* notmuch help: Eliminate a gratuitous level of indentation.Carl Worth2010-04-02
| | | | | | I don't really know why we ended up having everything indented by two tabs, (perhaps trying to make it match the man page)? But wihout any containing context to justify that it just looks odd.
* notmuch help: Simplify output by omitting arguments for each command.Carl Worth2010-04-02
| | | | | | | | | The output was far too busy otherwise. It's more useful to just show the argument list in the case of "notmuch help <command>" for a specific command. (Credit due to running "git help" and seeing a much more readable list than what was coming out of "notmuch help".)
* notmuch: Add a version (0.1 initially) with a new --version option.Carl Worth2010-04-02
| | | | | We're planning to do actual releases soon, so we need a version number to put into the tar file.
* notmuch: Add support for a --help option.Carl Worth2010-04-02
| | | | | | Previously, only "notmuch help" worked while a call to "notmuch --help" would just print a message telling the user to call "notmuch help". Instead of the redirection, just support --help directly now.
* Compile a static notmuch binary (but only install the shared version)Carl Worth2010-04-01
| | | | | | | | The idea here is to allow a new user of notmuch to be able to run notmuch immediately after compiling, (without having to install the shared library first). This also ensures that the test suite tests the locally compiled library, and not whatever installled version of the library the dynamic linker happens to find.
* Setup the GMimeStream only when needednstraz@redhat.com2010-04-01
| | | | | | | | | | | | | | | | | I ran into this while looking at the vim plugin. Vim's system() call redirects output to a file and it was missing many of the part{ lines. If stream_stdout is setup too early, it will overwrite the part start when notmuch is redirected to a file. Reviewed-by Carl Worth <cworth@cworth.org>: GMime is calling fseek before every write to reset the FILE* to the position it believes is correct based on the writes it has seen. Our code was getting incorrect results because our GMime writes were interleaved with non-GMime writes via printf. The bug appears when writing to a file because it's seekable, but not when writing to a pipe which is not.
* Makefile: Create include directory when installing headersMichal Sojka2010-04-01
| | | | | | When I wanted to create a debian package from the current master, make install failed because of non-existent include directory. This patch fixes this minor issue.
* lib: Switch to a 3-part version number for the library interface.Carl Worth2010-04-01
| | | | | With a carefully documented description of how to increment the various version components.
* Makefiles: Align the columns of output.Carl Worth2010-04-01
| | | | Much better.
* Makefiles: Make the install rules quiet like the compilation rules.Carl Worth2010-03-31
| | | | | The output from make is looking better all the time, (though the columns still aren't lined up).
* Makefile: Fix to print CFLAGS with "make V=0"Carl Worth2010-03-31
| | | | | | | The default "make" would be quite quiet, but still conveniently print the CFLAGS. The explicit "make V=0" was intended to be identical, (only not printing the message about V=1 but was broken in that it left the CFLAGS off). Fix this.
* Makefiles: Eliminate shell for loops in rule definitions.Carl Worth2010-03-31
| | | | | These just made the output look so ugly, and weren't actually making the rule definitions any simpler. Good riddance.
* Move installation of library from top-level to lib/Makefile.localCarl Worth2010-03-31
| | | | | | We had a fairly ugly violation of modularity with the top-level Makefile.local isntalling everything, (even when the build commands for the library were down in lib/Makefile.local).
* Makefile.config: Avoid pre-expanding the ${prefix} variable.Carl Worth2010-03-31
| | | | | | | One of the supproted mechanisms we offer for configuration is manually editing the Makefile.config file after it is generated by the configure script. In this case it would be nice to be able to change prefix only once, so allow that.
* Move some variable assignments from Makefile.local to Makefile.configCarl Worth2010-03-31
| | | | | | | | | | | | | There's not any special configure logic for determining these variable values, but if we did add some in the future, then these will now be in the right place for that. Additionally, this now makes Makefile.local the single place for the user to look for manually tweaking a variable assignment, (say, for a compiler that can't accept a particular warning argument). With this change, there should rarely be any need for a user to poke into any Makefile.local file.
* Move bulk of rules from Makefile to Makefile.local.Carl Worth2010-03-31
| | | | | | | | | | Before it was impossible to know whether any particular setting or rule definition was in Makefile or Makefile.local. So we strip the Makefile down to little more than the list of sub-directories and the logic to include all of the sub-directories' Makefile.local fragments. Then, all of the real work can happen inside of Makefile.local.
* configure: Fix installation of library to work with alternate --prefixCarl Worth2010-03-31
| | | | | | If an explicit --libdir is passed, then that is used directly. Otherwise libdir is chosen as the value of $PREFIX/lib, (whether or not prefix was passed explicitly or set by default).
* configure: Fix typo in help message.Carl Worth2010-03-31
| | | | Documentation is installed to PREFIX/man not PREFIX/share.
* Add a --libdir option to ./configureIngmar Vanhassel2010-03-31
| | | | | | | This allows packagers to specify to which directory libraries should be installed. Signed-off-by: Ingmar Vanhassel <ingmar@exherbo.org>
* Fix target dependencies for multiple jobsSaleem Abdulrasool2010-03-31
| | | | Signed-off-by: Ingmar Vanhassel <ingmar@exherbo.org>
* Build and link against notmuch shared library, install notmuch.hBen Gamari2010-03-31
| | | | Signed-off-by: Ingmar Vanhassel <ingmar@exherbo.org>
* emacs: Fix the notmuch-search-authors-width variable.Carl Worth2010-03-31
| | | | This variable existed previously, but wasn't actually used for anything.
* Clarify documentation of notmuch_database_add_message.Carl Worth2010-03-31
| | | | | | For the case of adding a file that already exist, (with the same filename). In this case, nothing will happen to the database, but that wasn't clear before.
* TODO: Note that '=' should sometimes count from the end of the buffer.Carl Worth2010-03-31
| | | | | | | When trying to restore the current position, if the "current" thread no longer appears in the buffer, then '=' moves to the current line instead. When near the end of the buffer, the "current" line should be counted as the number of lines from the end.
* TODO: Add a todo item for adding a message as a blob, rather than a filename.Carl Worth2010-03-31
| | | | | This was suggested by Srinivasa and is intended to make it easier to integrate notmuch into an mbox-loving mail client.
* TODO: Add some new items about improving the test suite.Carl Worth2010-03-31
| | | | | | | | I just tried (and failed) to write a test for the recent magic inference of phrase searches. That's a feature that makes me *really* uncomfortable to not have an automated test. But I believe the proposed modularization of the test suite should reduce some quoting nightmares, so will hopefully make this easier.
* test: Fix phrase-search tests.Carl Worth2010-03-31
| | | | | With some extra qutotation marks, we are now doing actual phrase searches so these tests pass.
* test: Add some negative results for the phrase searches.Carl Worth2010-03-31
| | | | | | | | | These results have all the same terms as the target phrase, but not in the expected order. They are designed to ensure that we actually test phrase searches. And as it turns out, we're not currently quoting the search terms properly, so the phrase-search tests now fail with this commit.
* notmuch-show: add tags to json outputSebastian Spaeth2010-03-11
| | | | | | | | The previous json patches forgot to add the notmuch tags to the json output. This is inconsistent to the text output so here they are. We just output a 'tags' field that sends notmuch tags as a json array. Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
* emacs: Fix search refresh when on the last line of a search buffer.Carl Worth2010-03-10
| | | | | | | | | | | | | | | We currently allow the cursor to be positioned on the "End of search results" line after the last thread in a search buffer. When refreshing on this line, there's no thread ID to be used as the target. Previously, a refresh from this case would result in a nil thread target, but we were also using nil to indicate that the target thread had been found. This caused the position to be lost during refresh, (the cursor would move from the last line in the buffer to the first). We fix this by using a magic string of "found" rather than nil to clearly indicate whether the target thread has actually been found.
* emacs: Adjust search refresh to use a target line not a target position.Carl Worth2010-03-10
| | | | | | It doesn't make sense to move the cursor to some random point in the middle of a line. We always want the refresh to leave the cursor at the beginning of some line instead.
* Makefile: Fix Makefiles to depend on all child Makefile fragments.Carl Worth2010-03-10
| | | | | | | | | | | | | | We were previously maintaining two lists of the child Makefile fragments---one for the includes and another for the dependencies. So, of course, they drifted and the dependency list wasn't up to date. We fix this by adding a single subdirs variable, and then using GNU Makefile substitution to generate both the include and the dependency lists. Some side effect of this change caused the '=' assignment of the dir variable to not work anymore. I'm not sure why that is, but using ':=' makes sense here and fixes the problem.
* Makefile: Use 'emacs --quick' for a less noisy build of "make install-emacs".Carl Worth2010-03-10
| | | | | I don't really notice if it goes any quicker, but it's sure nice to have less spew now.
* Makefile: Add a message after "make install-emacs"Carl Worth2010-03-10
| | | | | More help to guide the new user here. Tell the user how to actually invoke the emacs client now that it's installed.
* Makefile: Conditionalize the "make install" message.Carl Worth2010-03-10
| | | | This is the same approach as with the 'all' target previously.
* Makefile: Simplify the conditional message of the all target.Carl Worth2010-03-10
| | | | | | | | | | | | | | We wamt a simple "make" to call the 'all' target and then print a message when done, but we don't want "make install" which depends on that same 'all' target to print the message. We previously did this with a separate 'all-without-message' target, which was inelegant because it caused all users of the target to carefully depend on 'all-without-message' rather than 'all'. Instead, we now use a single 'all' target but with a Makefile conditional that examines the MAKECMDGOALS variable to determine whether to print the message.
* Makefile: Add message to make install listing the other install targets.Carl Worth2010-03-10
| | | | | Otherwise, it's hard for the user to know that things like install-emacs, install-bash, and install-zsh even exist.
* Makefile: Add a meesage after "make" telling the user to run "make install"Carl Worth2010-03-09
| | | | | As one command completes, it's kind of the tool to indicate which command the user should execute next.
* Makefile: Rename all_deps to global_depsCarl Worth2010-03-09
| | | | | | The "all" inside this variable name was easy to confuse with the separate "all" target. This variable specifies dependencies that apply to every target, so use "global" instead.
* Add is:<tag> as a synonym for tag:<tag> in search terms.Carl Worth2010-03-09
| | | | | I like the readability of this, it provides compatibility with people trained in this syntax by sup, and it even saves one character.
* emacs: Move emacs UI (currently just one file) to subdirectory.David Bremner2010-03-09
| | | | | | Add emacs/Makefile.local and emacs/Makefile. Move emacs targets into emacs/Makefile.local, but leave the byte compilation rule in the top level Makefile.
* INSTALL: Include Fedora command for installing dependencies of notmuch.Carl Worth2010-03-09
| | | | | We already had this command in the error message from the configure script, so we should include it here as well.
* INSTALL: Add a pointer to ./configure --helpCarl Worth2010-03-09
| | | | | We have some good documentation in ./configure --help, so we should direct users to it.
* lib: Silence a compiler warning.Carl Worth2010-03-09
| | | | | The original code was harmless, but apparently some compilers aren't able to think deep enough to catch that.
* emacs: Fix refresh of search results to leave cursor on current thread.Carl Worth2010-03-09
| | | | | | | | | | This has been broken since the addition of support for streaming search results to the emacs interface. With the old apparoach it was easy to simply wait for all search results to land in the buffer and then search for the desired line. With streaming results, we have to save the target off to the side and allow the process filter and sentinel functions to correctly respond when the target thread appears.
* Fix a few documentation typos in notmuch.hFernando Carrijo2010-03-09
| | | | | | Fix a few documentation typos in notmuch.h Signed-off-by: Fernando Carrijo <fcarrijo@yahoo.com.br>
* Update documentation of notmuch_query_createFernando Carrijo2010-03-09
| | | | | | | | | | | Commit cd467caf renamed notmuch_query_search to notmuch_query_search_messages. Commit 1ba3d46f created notmuch_query_search_threads. We better keep the docs of notmuch_query_create consistent with those changes. Signed-off-by: Fernando Carrijo <fcarrijo@yahoo.com.br> Edited-by: Carl Worth to explicitly list the full name of each function being referenced.
* notmuch show: Don't show empty headers.Carl Worth2010-03-09
| | | | | | | This is a fairly old regression. There has always been code to avoid printing empty headers (such as Cc or Bcc with no values), but it has been broken since notmuch_message_get_header was changed to return an empty string rather than a NULL pointer for these fields.
* TODO: Add proposal for a saved-search interface.Carl Worth2010-03-09
| | | | Adding this to our TODO list so that it doesn't get forgotten.