aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* nmbug-status: Factor out header/footer context into a shared dictGravatar W. Trevor King2014-07-15
| | | | | | | Rather than splitting this context into header-only and footer-only groups, just dump it all in a shared dict. This will make it easier to eventually split the header/footer templates out of this script (e.g. if we want to load them from the config file).
* Move the generated date from the top of the page to the footer.Gravatar Carl Worth2014-07-15
| | | | | | | | | | | | It's useful reference information, but anyone who wants it will look for and find it. We don't need this front-and-center. Follow the pattern set by our header template with a triple-quoted string. The gray <hr> styling is less agressive. IE uses 'color' for drawing the rule, while Gecko and Opera use the border or 'background-color' [1]. [1]: https://bugzilla.mozilla.org/show_bug.cgi?id=239386
* Add a docstring describing the programGravatar Carl Worth2014-07-15
| | | | | | | | | Prefer a docstring to a header comment so we can use it as the ArgumentParser description (formatted with 'nmbug-status --help'). Script readers still have it near the top of the file. Since it's a docstring, use PEP 257's summary-line-and-body format [1]. [1]: http://legacy.python.org/dev/peps/pep-0257/#multi-line-docstrings
* Add explicit license informationGravatar Carl Worth2014-07-15
| | | | | It's nice to have for situations where this script is found outside of the notmuch source repository (e.g. after being installed).
* emacs: search archive tweakGravatar Mark Walters2014-07-15
| | | | | | | notmuch-search-archive-thread moves to the next line after tagging. In the normal case this makes sense, but if the region is active, it tags the whole region and then it doesn't really. Thus only move to the next line if region is not active.
* test: redirect gdb output to a file.Gravatar David Bremner2014-07-13
| | | | | It seems that the normal output redirection in the test suite doesn't work for gdb, but it's nice to have output in a file for debugging.
* devel: news2wiki to recognize yyyy-mm-dd or UNRELEASED as release dateGravatar Tomi Ollila2014-07-13
| | | | | | | The yyyy-mm-dd (actually \d\d\d\d-\d\d-\d\d) for a bit more restrictive (and self-documentative) than the \w\w\w\w-... that used to be there and UNRELEASED so that developers can test the latest NEWS converted to mdwn format before submitting NEWS patches.
* emacs: show: add an update seen function to post-command-hookGravatar Mark Walters2014-07-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add a function for updating seen messages to the post-command-hook. This function calls a customizable (by eg defcustom) function with parameters the start and end of the current window and that function can decide what to mark read based on that and the current point. Since this is in the post-command-hook it should get called after most user actions (exceptions include user resizing the window) so it should be possible to make sure the seen status gets updated whether the user uses notmuch commands like next-message or normal emacs commands like scroll-up. It removes all of the old mark read/seen points but introduces a simple example function that just marks the current message read if it is open. This function has one small subtlety: it makes sure it doesn't mark the same message read twice (in the same instance of the same buffer); otherwise the post-command-hook makes it impossible for a user to manually mark a message unread. This fixes the current bugs (imo) that closed messages can be marked read, and that opening a closed message does not mark it read. Another advantage of using the post-command-hook any programmatic use with point passing through a message will not mark it read.
* test: make test_emacs call post-command-hookGravatar David Bremner2014-07-13
| | | | | | | | | | | | | | The unread/read changes will use the post-command-hook. test_emacs does not call the post-command-hook. This adds a notmuch-test-progn which takes a list of commands as argument and executes them in turn but runs the post-command-hook after each one. The caller can batch operations (ie to stop post-command-hook from being interleaved) by wrapping the batch of operations inside a progn. We also explicitly run the post-command-hook before getting the output from a test; this makes sense as this will be a place the user would be seeing the information.
* emacs: Fix indentation.Gravatar David Edmondson2014-07-13
| | | | Fix the indentation of `notmuch-show-mode-map'.
* lib: Start all function names in notmuch-private.h withGravatar Charles Celerier2014-07-13
| | | | | | | | | | | | | | | | | As noted in devel/STYLE, every private library function should start with _notmuch. This patch corrects function naming that did not adhere to this style in lib/notmuch-private.h. In particular, the old function names that now begin with _notmuch are notmuch_sha1_of_file notmuch_sha1_of_string notmuch_message_file_close notmuch_message_file_get_header notmuch_message_file_open notmuch_message_get_author notmuch_message_set_author Signed-off-by: Charles Celerier <cceleri@cs.stanford.edu>
* test: use sh.config for configurationGravatar Jani Nikula2014-07-13
|
* build: generate sh.config for feeding configure results to shell scriptsGravatar Jani Nikula2014-07-13
| | | | | | | | | Only include the relevant information. Amended by David Bremner: Use a prefix NOTMUCH_ to minimize collisions with other variables.
* docs: remove spurious man page generated from doxygenGravatar David Bremner2014-07-13
| | | | | | | | | There is a doxygen bug about these odd files, https://bugzilla.gnome.org/show_bug.cgi?id=727796 But it isn't clear if / when a fix will be provided, so just delete it to avoid e.g. confusing man-to-wiki.pl
* NEWS: add minimal item for API change to close/destroyGravatar David Bremner2014-07-09
|
* lib: add return status to database close and destroyGravatar Jani Nikula2014-07-09
| | | | | | | | | notmuch_database_close may fail in Xapian ->flush() or ->close(), so report the status. Similarly for notmuch_database_destroy which calls close. This is required for notmuch insert to report error status if message indexing failed.
* build: check .git directory existence in srcdir (for out-of-tree builds)Gravatar Tomi Ollila2014-07-09
| | | | | | | | | | So that $(VERSION) and version.stamp uses the git-describe -based version data instead of the content of `version' file. For consistency also the git commands in Makefile[.local] target `verify-no-dirty-code' uses the git --git-dir=$srcdir/.git ... commands (inside ifeq($(IS_GIT),yes)). Attempting to make this target outside of the tree will fail in any case.
* doc: postprocess notmuch.3Gravatar David Bremner2014-07-09
| | | | | | Remove excess italics from doxygen output. It seems to make no sense (and is certainly ugly) to italicize the first argument to the .RI macro.
* doc: quiet doxygen warningsGravatar David Bremner2014-07-09
| | | | | remove some obsolete tags for XML output (which we don't currently generate in any case)
* doc: build and install doxygen api docsGravatar David Bremner2014-07-09
| | | | | In order to support out of tree builds and avoid hardcoding version number, generate `doc/config.dox` from configure.
* configure: use cc/c++ instead of gcc/g++Gravatar Fraser Tweedale2014-07-04
| | | | | | Some systems (e.g. FreeBSD 10) do not ship with the GNU Compiler Collection. Use generic cc/c++ instead of gcc/g++ (unless the CC/CXX environment variables are used).
* Merge tag '0.18.1'Gravatar David Bremner2014-06-25
|\ | | | | | | notmuch 0.18.1 release
| * version: bump to 0.18.1Gravatar David Bremner2014-06-25
| | | | | | | | Also add precis of NEWS to debian changelog
| * NEWS: Improve and correct "Fix for phrase indexing" entryGravatar Austin Clements2014-06-24
| | | | | | | | | | | | This improves the description of the fix, fixes some typos, and changes "(re)-indexed" to "indexed" because we have no particular notion of "re-indexing" a message.
| * NEWS: quibbles from TomiGravatar David Bremner2014-06-23
| | | | | | | | See id:m2vbrsgi7n.fsf@guru.guru-group.fi for details
* | Merge tag '0.18.1_rc0'Gravatar David Bremner2014-06-22
|\| | | | | | | notmuch 0.18.1~rc0 release
| * version: bump to 0.18.1~rc0Gravatar David Bremner2014-06-22
| | | | | | | | | | | | | | | | Also bump the python bindings version, the NEWS version and the Debian version. Since the changelog is (slightly dubiously) metadata, we have to change it to upload a release candidate.
| * NEWS: add news for 0.18.1Gravatar David Bremner2014-06-22
| | | | | | | | This is my summary of the commits from 0.18.
* | emacs: Forwarded messages should not have modified buffersGravatar David Edmondson2014-06-22
| | | | | | | | | | | | When the user begins forwarding a message, the resulting composition buffer should not be marked as modified, in order that it can immediately be killed without prompting.
* | Merge branch 'release'Gravatar David Bremner2014-06-22
|\| | | | | | | Austin's termpos patches and Felipe's zlib.pc workaround
| * configure: add workaround for systems without zlib.pcGravatar Felipe Contreras2014-06-21
| | | | | | | | | | | | | | | | Some systems (e.g. FreeBSD) might not have installed the appropriate pkg-config file as they should. We can workaround the issue by creating the .pc file they should have distributed. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
| * lib: Separate all phrases indexed by _notmuch_message_gen_termsGravatar Austin Clements2014-06-18
| | | | | | | | | | | | | | | | | | | | | | | | This adds a 100 termpos gap between all phrases indexed by _notmuch_message_gen_terms. This fixes a bug where terms from the end of one header and the beginning of another header could match together in a single phrase and a separate bug where term positions of un-prefixed terms overlapped. This fix only affects newly indexed messages. Messages that are already indexed won't benefit from this fix without re-indexing, but the fix won't make things any worse for existing messages.
| * test: Known-broken test for overlapping/adjacent termposGravatar Austin Clements2014-06-18
| | | | | | | | | | | | | | | | This adds two known-broken tests and one working test related to the term positions assigned to terms from different headers or MIME parts. The first test fails because we don't create a termpos gap between different headers. The second test fails because we don't adjust termpos at all when indexing multiple parts.
| * lib: Index name and address of from/to headers as a phraseGravatar Austin Clements2014-06-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, we indexed the name and address parts of from/to headers with two calls to _notmuch_message_gen_terms. In general, this indicates that these parts are separate phrases. However, because of an implementation quirk, the two calls to _notmuch_message_gen_terms generated adjacent term positions for the prefixed terms, which happens to be the right thing to do in this case, but the wrong thing to do for all other calls. Furthermore, _notmuch_message_gen_terms produced potentially overlapping term positions for the un-prefixed copies of the terms, which is simply wrong. This change indexes both the name and address in a single call to _notmuch_message_gen_terms, indicating that they should be part of a single phrase. This masks the problem with the un-prefixed terms (fixing the two known-broken tests) and puts us in a position to fix the unintentionally phrases generated by other calls to _notmuch_message_gen_terms.
| * test: Add search tests for combined name/address queriesGravatar Austin Clements2014-06-18
| | | | | | | | | | | | | | | | Two of these are currently known-broken. We index the name and address parts in two separate calls to _notmuch_message_gen_terms. Currently this has the effect of placing the term positions of the prefixed terms from the second call right after those of the first call, but screws up the term positions of the non-prefixed terms.
| * test: Fix from/to search test queriesGravatar Austin Clements2014-06-18
| | | | | | | | | | | | Two of the search tests for "from" and "to" queries were clearly trying to search for prefixed phrases, but forgot to shell quote the phrases. Fix this by quoting them correctly.
* | Merge branch 'release'Gravatar David Bremner2014-06-15
|\| | | | | | | still painfully slowly assembling 0.18.1
| * emacs install: make sure all components to be installed are thereGravatar Tomi Ollila2014-06-15
| | | | | | | | | | | | | | | | | | `make install-emacs` will copy $(emacs_sources), $(emacs_images) and $(emacs_bytecode) to their target directories. $(emacs_bytecode) was already a prerequisite of make install-emacs as these obviously needed to be build. Until a while ago all of $(emacs_sources) was available in the repository, but now it includes `notmuch-version.el` which is generated. In the future we may have generated emacs images too.
| * debian: update notmuch-emacs for emacsen-common 2.0.8Gravatar David Bremner2014-06-14
| | | | | | | | | | | | - redo install/remove scripts from new samples - symlink .el files properly - add depends instead of conflicts
| * debian: tighten dependency of python packages on libnotmuch.Gravatar David Bremner2014-06-14
| | | | | | | | | | Using (>= ${source:Version}) allows newer versions of the library with the same SONAME.
* | Merge branch 'release'Gravatar David Bremner2014-06-13
|\| | | | | | | Merge in a few more commits towards 0.18.1
| * lib: resurrect support for single-message mbox filesGravatar Jani Nikula2014-06-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is effectively a revert of commit 6812136bf576d894591606d9e10096719054d1f9 Author: Jani Nikula <jani@nikula.org> Date: Mon Mar 31 00:21:48 2014 +0300 lib: drop support for single-message mbox files The intention was to drop support for indexing new single-message mbox files (and whether that was a good idea in the first place is arguable). However this inadvertently broke support for reading headers from previously indexed single-message mbox files, which is far worse. Distinguishing between the two cases would require more code than simply bringing back support for single-message mbox files.
| * test: use --quick when starting emacs.Gravatar David Bremner2014-06-13
| | | | | | | | | | | | | | | | | | | | At least in emacs24, this removes the "site-lisp" directories from the load path in addition to enforcing --no-site-lisp --no-init-file. This works around a slightly mysterious bug on Debian that causes test-lib.el not to load when there is cl-lib.el(c) in some site-lisp directory. It should be harmless in general since we really don't want to load any files from addon packages to emacs.
* | build: add datacleanGravatar David Bremner2014-05-28
| | | | | | | | | | | | | | | | | | It turns out to be inconvenient to delete the downloaded datafiles with distclean, so I propose a new target which does that instead. The closest conventional target is 'maintainer-clean'; the difference here is that having the original source tarball is not enough to reconstruct these files.
* | build: remove .tar.gz.tmp files in cleanGravatar David Bremner2014-05-28
| | | | | | | | | | Most people won't see these, but they annoy anyone running release or pre-release targets.
* | build: don't overwrite DISTCLEAN in performance-testGravatar David Bremner2014-05-28
| | | | | | | | | | This might have worked once for some fixed order of including makefiles, but it is clearly wrong now.
* | Merge branch 'release'Gravatar David Bremner2014-05-28
|\| | | | | | | | | A point release is slowly being built on branch release. Merge those changes into master.
| * build: fix order of rpathGravatar Felipe Contreras2014-05-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In my system `pkg-config --libs talloc` returns 'Wl,-rpath,/usr/lib -ltalloc' (probably wrongly) which causes the final LDFLAGS to be something like '-Wl,-rpath,/usr/lib -Wl,-rpath,/opt/notmuch/lib', which causes the RUNPATH to be '/usr/lib:/opt/notmuch/lib', so basically defeating the whole purpose of RUNPATH. I noticed this when my /opt/notmuch/bin/notmuch (0.17) started updating the database after I updated the system (which updated the system's notmuch). This shouldn't happen. Let's move the RUNPATH flags before other external flags have a chance of screwing the build. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
| * Unset html_static_path in Python bindings docsGravatar Amadeusz Żołnowski2014-05-28
| | | | | | | | | | | | html_static_path is a kind of source directory and it was set to destination directory (../html) which caused infinite recursion with Sphinx 1.2 and above.
| * doc/conf.py: Remove _static from html_static_pathGravatar W. Trevor King2014-05-28
| | | | | | | | | | | | | | | | | | | | | | | | Avoid: $ make HAVE_SPHINX=1 sphinx-html python ./doc/mkdocdeps.py ./doc doc/_build doc/docdeps.mk sphinx-build -b html -d doc/_build/doctrees -q ./doc doc/_build/html Making output directory... WARNING: html_static_path entry '/home/wking/src/notmuch/notmuch/doc/_static' does not exist because we have no static source in doc/_static.