aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Move "config" test programs to "compat".Gravatar Carl Worth2010-04-06
| | | | | | | | It makes sense to me to have the little tests for functionality right next to the comptability implementations of that same functionality. But also, this means I can now tab-complete ./configure from the three initial characters (rather than the seven required previously).
* Makefile: Move the completion-specific commands to completion/Makefile.localGravatar Carl Worth2010-04-06
| | | | For much better modularity.
* Rename the "contrib" directory to "completion".Gravatar Carl Worth2010-04-06
| | | | | | | | | | | The original "contrib" name is lousy. Everything in notmuch has been contributed, and we are integrating as much of it as possible, (rather than making users grub through contrib looking for useful pieces to install). Meanwhile, the only things we have in contrib are command-line completion scripts, so "completion" makes more sense as a name, (and helps make "./configure" slightly less ambiguous).
* .gitignore: Ignore the releases directory.Gravatar Carl Worth2010-04-06
| | | | | The "make release" target creates this directory, but it's nothing I'll ever want to add to the git repository.
* Makefile: Eliminate the separate install-bash and install-zsh targets.Gravatar Carl Worth2010-04-06
| | | | | | Again, simplifying the interface to the Makefile. Installing these files doesn't require bash nor zsh to actually be installed, so there's little harm in just installing them unconditionally.
* Makefile: Eliminate the "make install-emacs" target.Gravatar Carl Worth2010-04-06
| | | | | | | | | Instead, simply byte-compile the emacs source files as part of "make" and install them as part of "make install". The byte compilation is made conditional on the configure script finding the emacs binary. That way, "make; make install" will still work for someone that doesn't have emacs installed, (which was the only reason we had made a separate "make install-emacs" target in the first place).
* Makefiles: Eliminate the useless quiet_* functions.Gravatar Carl Worth2010-04-06
| | | | | | | | | | | | | | | | | | With the original quiet function, there's an actual purpose (hiding excessively long compiler command lines so that warnings and errors from the compiler can be seen). But with things like quiet_symlink there's nothing quieter. In fact "SYMLINK" is longer than "ln -sf". So all this is doing is hiding the actual command from the user for no real benefit. The only actual reason we implemented the quiet_* functions was to be able to neatly right-align the command name and left-align the arguments. Let's give up on that, and just left-align everything, simplifying the Makefiles considerably. Now, the only instances of a captialized command name in the output is if there's some actually shortening of the command itself.
* Makefile: Finish implementing the "make release" target.Gravatar Carl Worth2010-04-05
| | | | And hopefully it actually works.
* Makefile: Start implementing a "make release" target.Gravatar Carl Worth2010-04-05
| | | | | So far just doing checks that the version is sane and that no release of the same version already exists.
* NEWS: Add some (brief) news items for the initial 0.1 release.Gravatar Carl Worth2010-04-05
| | | | | | Generally, the NEWS items will describe changes since the previous release. But there's not much we can do for that since we've never had a release before.
* RELEASING: Add this file describing the steps to make a release.Gravatar Carl Worth2010-04-05
| | | | | These steps might be changing a bit as we work on making the initial 0.1 release.
* Makefile: Add a dist target.Gravatar Carl Worth2010-04-05
| | | | To create a versioned tar file for release.
* Makfiles: Make the top-level targets PHONYGravatar Carl Worth2010-04-05
| | | | Just to avoid any clash with files of the same names.
* notmuch-query.el: new file to support access to the notmuch database.Gravatar David Bremner2010-04-05
| | | | | | | | | | | | | | | | Initially this file provides one main function notmuch-query-get-threads, which takes a set of search terms, and returns a parsed set of matching threads as a lisp data structure. A set of notmuch-query-map-* functions are provided to help map functions over the data structure. The function notmuch-query-get-message-ids uses this machinery to get the set of message-ids matching a query. Edited-by: Carl Worth <cworth@cworth.org>: Change comment syntax, (";;" rather than ";" to make emacs-lisp mode happy), and eliminate some excess whitespace, as suggested by David Edmonson.
* notmuch: Correctly terminate text/* parts in JSON outputGravatar David Edmondson2010-04-05
| | | | | | Text parts returned by `g_mime_stream_mem_get_byte_array()' are not NULL terminated strings - add `json_quote_chararray()' to handle them correctly.
* git: Ignore `notmuch-shared'Gravatar David Edmondson2010-04-05
|
* emacs: Move notmuch-show functionality to notmuch-show.elGravatar David Edmondson2010-04-05
| | | | | | | To ease the transition to a JSON based implementation of `notmuch-show', move the current implementation into a separate file. Create `notmuch-lib.el' to hold common variables.
* TODO: Add notes on removing "notmuch part" and "notmuch search-tags".Gravatar Carl Worth2010-04-03
| | | | Both of these ideas were recently discussed on the mailing list.
* emacs: Fix "free variable" warning for notmuch-folder-show-empty.Gravatar Carl Worth2010-04-03
| | | | | Emacs really wants us to defvar each variable before assigning to it, (which gives us a place to document the variable as well).
* emacs/notmuch.el: Improve tag highlighting in search modeGravatar David Edmondson2010-04-03
| | | | | | | Assume that tags never include an opening bracket, and hence improve the regular expression used to highlight them. This avoids false matches where the 'from' address of a thread participant includes an opening bracket.
* Makefile.local: Automatically use makefile modeGravatar David Edmondson2010-04-03
| | | | | | | | | We add a magic line to the beginning of each Makefile.local file to help the editor know that it should use makefile mode for editing the file, (even though the filename isn't exactly "Makefile"). Edited-by: Carl Worth <cworth@cworth.org>: Expand treatment from emacs/Makefile.local to each instance of Makefile.local.
* Makefile: Add the emacs directory to load-path when compilingGravatar David Edmondson2010-04-03
| | | | | | | Reviewed-by: Carl Worth <cworth@cworth.org>: Presumably, this is to enable proper building in the very near-term future where the emacs implementation consists of multiple files where some will `require' functions from others.
* Merge remote branch 'dme/dme-for-cworth'Gravatar Carl Worth2010-04-02
|\ | | | | | | | | Conflicts: notmuch.c (Simply the change in documentation indentation level).
* | Makefile: Only print the "make install" hint after the first build.Gravatar 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.Gravatar 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.Gravatar 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.Gravatar 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.Gravatar 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.
| * notmuch: Add a 'part' subcommandGravatar David Edmondson2010-04-02
| | | | | | | | | | | | | | | | | | | | | | A new 'part' subcommand allows the user to extract a single part from a MIME message. Usage: notmuch part --part=<n> <search terms> The search terms must match only a single message (e.g. id:foo@bar.com). The part number specified refers to the part identifiers output by `notmuch show'. The content of the part is written the stdout with no formatting or identification marks. It is not JSON formatted.
| * notmuch-show: Add unix and relative dates to the JSON outputGravatar David Edmondson2010-04-02
|/ | | | | | Include a 'date_unix' and 'date_relative' field in the JSON output for each message. 'date_relative' can be used by a UI implementation, whereas 'date_unix' is useful when scripting.
* Compile a static notmuch binary (but only install the shared version)Gravatar 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 neededGravatar nstraz@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 headersGravatar Michal 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.Gravatar Carl Worth2010-04-01
| | | | | With a carefully documented description of how to increment the various version components.
* Makefiles: Align the columns of output.Gravatar Carl Worth2010-04-01
| | | | Much better.
* Makefiles: Make the install rules quiet like the compilation rules.Gravatar 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"Gravatar 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.Gravatar 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.localGravatar Carl 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.Gravatar 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.configGravatar Carl 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.Gravatar 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 --prefixGravatar Carl 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.Gravatar Carl Worth2010-03-31
| | | | Documentation is installed to PREFIX/man not PREFIX/share.
* Add a --libdir option to ./configureGravatar Ingmar 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 jobsGravatar Saleem Abdulrasool2010-03-31
| | | | Signed-off-by: Ingmar Vanhassel <ingmar@exherbo.org>
* Build and link against notmuch shared library, install notmuch.hGravatar Ben Gamari2010-03-31
| | | | Signed-off-by: Ingmar Vanhassel <ingmar@exherbo.org>
* emacs: Fix the notmuch-search-authors-width variable.Gravatar Carl Worth2010-03-31
| | | | This variable existed previously, but wasn't actually used for anything.
* Clarify documentation of notmuch_database_add_message.Gravatar 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.Gravatar 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.