aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* debian: install split man pages.Gravatar David Bremner2011-12-31
| | | | | We now have man pages in sections 5 and 7 as well, so we copy the whole /usr/share/man hierarchy.
* build-system: update for split man pagesGravatar David Bremner2011-12-31
| | | | | | | | | | | | | | | | | | - We have to remove the installation of notmuch.1.gz from the top level Makefile.local. - Man pages with multiple names are handled by making relative symlinks in the install-man target. - update version tests and convenience rules for split man pages The man page version test still only checks notmuch.1, but the location is updated. update-man-versions is longer than the one-line previously in update-versions mainly because I decided to take the high road and stick to POSIX sed (thus, no sed -i). The sed regex itself is more complicated to cope with variations in the headers.
* man/*: fixup page referencesGravatar David Bremner2011-12-31
| | | | | | | - Replace references to section X below with page refences. - Add SEE ALSO to each page. This is a bit error prone, because each SEE ALSO section is different, i.e. a page does not refer to itself.
* notmuch-config.1: fix typoGravatar David Bremner2011-12-31
|
* notmuch.1: smooth wording.Gravatar David Bremner2011-12-31
| | | | | After most of the content was ripped out of the page, a few words were needed to glue things back togetehr.
* man/*: formatting cleanupGravatar David Bremner2011-12-31
| | | | | | | | | | | | | | | | | | | | | | | | | | Fix some problems with indentation (controlled by markup) and whitespace. - notmuch.1: reformat Use .SS macro to make "notmuch setup" a subsection. Introduce another subsection for the remaining commands. - notmuch-config.1: reformat Put all the syntax in the synopsis. Supposedly this is the the UNIX way. - notmuch-reply.1: fix formatting issues. Give nicer formatting for synopsis. Insert missing SEE ALSO header. - notmuch-dump.1: reformat using subsections These seems more natural, although, as mentioned, it does require referring back to the synopsis. Or maybe copying parts of the synopsis
* man: add symlinks for notmuch-restore.1 and notmuch-setup.1Gravatar David Bremner2011-12-31
| | | | | | These are just for the convenience of testers using $src/man as an element of MANPATH. They are intentionally omitted from MAN1, so that they do not interfere with the install.
* remove notmuch-part from documentation.Gravatar David Bremner2011-12-31
| | | | | This should have been done when "notmuch part" was deprecated and replaced by notmuch show --part, but it slipped through the cracks.
* initial splitting of notmuch.1Gravatar David Bremner2011-12-31
| | | | | | | | We mostly just cut and paste the command descriptions into individual files, with a short header added to each one. The splitting into subdirectories is to support the use of ./man as an element in MANPATH, e.g. for testing.
* test/symbol-hiding: prepend new directory to LD_LIBRARY_PATHGravatar Tomi Ollila2011-12-31
| | | | | | | Tester may have set LD_LIBRARY_PATH to find libraries required by notmuch. Therefore add $TEST_DIRECTORY/../lib to the beginning of current list of library paths in $LD_LIBRARY_PATH before running symbol-test.
* test: Remove #! line from test-lib.shGravatar Austin Clements2011-12-29
| | | | | | | | It makes no sense to run test-lib.sh, so it makes no sense to give it an interpreter. This is particularly annoying for Emacs users who have executable-insert set, since the presence of the #! line will cause Emacs to mark test-lib.sh executable when saving it, which will in turn case the 'basic' test to fail.
* test: Make generated message date a real dateGravatar Austin Clements2011-12-29
| | | | | | | | | January 5, 2001 was a Tuesday, not a Friday. Jameson fixed this exact problem for the multipart test in ec2b0a98cc, but not for generate_message itself. As Jameson pointed out in ec2b0a98cc, if we want to test date parsing, we should do it separately.
* Ignore encrypted parts when indexing.Gravatar Jameson Graef Rollins2011-12-29
| | | | | | | | It appears to be an oversight that encrypted parts were indexed previously. The terms generated from encrypted parts are meaningless and do nothing but add bloat to the database. It is not worth indexing the encrypted content, just as it's not worth indexing the signatures in signed parts.
* test: allow user to choose which emacs to run tests with.Gravatar David Bremner2011-12-28
| | | | | | | | | | | | As we start to pay more attention to emacs24, it helps to be able to select a different version of emacs to run the tests with to verify version specific bugs. A separate variable TEST_EMACS is needed to avoid being overwritten by the make variable EMACS in Makefile.config For what it's worth, the value of emacs is chosen at the time tmp.emacs/run_emacs is created, so is fixed for all subtests.
* test: Updated the expected output to match the newly enabled text/plain hooks.Gravatar David Edmondson2011-12-28
|
* emacs: Enable more text/plain hook functions by default.Gravatar David Edmondson2011-12-28
| | | | | | | | | Users are missing out on various functions which usefully improve the display of text/plain message parts because they are not enabled by default. Enable a useful set. `notmuch-wash-convert-inline-patch-to-part' is _not_ enabled by default as it is based on a heuristic.
* test: emacs: test notmuch-wash-subject-to-* functionsGravatar Jani Nikula2011-12-28
| | | | Signed-off-by: Jani Nikula <jani@nikula.org>
* emacs: create patch filename from subject for inline patch fake partsGravatar Jani Nikula2011-12-28
| | | | | | | | | | | | | | | | | | | | | Use the mail subject line for creating a descriptive filename for the wash generated inline patch fake parts. The names are similar to the ones created by 'git format-patch'. If the user has notmuch-wash-convert-inline-patch-to-part hook enabled in notmuch-show-insert-text/plain-hook, this will change the old default filename of "inline patch" in fake parts: [ inline patch: inline patch (as text/x-diff) ] into, for example: [ 0002-emacs-create-patch-filename-from-subject-for-inline.patch: inline patch (as text/x-diff) ] which is typically the same filename the sender had if he was using 'git format-patch' and 'git send-email'. Signed-off-by: Jani Nikula <jani@nikula.org>
* emacs: add inline patch fake parts through a special handlerGravatar Jani Nikula2011-12-28
| | | | | | | | Add wash generated inline patch fake parts through a special "inline-patch-fake-part" handler to distinguish them from real MIME parts. The fake parts are described as "inline patch (as text/x-diff)". Signed-off-by: Jani Nikula <jani@nikula.org>
* show: Rewrite show_message_body to use the MIME tree interface.Gravatar Austin Clements2011-12-25
| | | | | | | | | | | | | | | | | | | | | This removes all of the MIME traversal logic from show_message_body and leaves only its interaction with the format callbacks. Besides isolating concerns, since traversal happens behind a trivial interface, there is now much less code duplication in show_message_part. Also, this uses mime_node_seek_dfs to start at the requested part, eliminating all of the logic about parts being selected or being in_zone (and reducing the "show state" to only a part counter). notmuch_show_params_t no longer needs to be passed through the recursion because the only two fields that mattered (related to crypto) are now handled by the MIME tree. The few remaining complexities in show_message_part highlight irregularities in the format callbacks with respect to top-level messages and embedded message parts. Since this is a rewrite, the diff is not very enlightening. It's easier to look at the old code and the new code side-by-side.
* Utility function to seek in MIME trees in depth-first order.Gravatar Austin Clements2011-12-25
| | | | | | | This function matches how we number parts for the --part argument to show. It will allow us to jump directly to the desired part, rather than traversing the entire tree and carefully tracking whether or not we're "in the zone".
* Introduce a generic tree-like abstraction for MIME traversal.Gravatar Austin Clements2011-12-25
| | | | | | | | | | | | | | This wraps all of the complex MIME part handling in a single, simple function that gets part N from *any* MIME object, so traversing a MIME part tree becomes a two-line for loop. Furthermore, the MIME node structure provides easy access to envelopes for message parts as well as cryptographic information. This code is directly derived from the current show_message_body code (much of it is identical), but the control relation is inverted: instead of show_message_body controlling the traversal of the MIME structure and invoking callbacks, the caller controls the traversal of the MIME structure.
* show: Pass notmuch_message_t instead of path to show_message_body.Gravatar Austin Clements2011-12-25
| | | | | In addition to simplifying the code, we'll need the notmuch_message_t* in show_message_body shortly.
* emacs: fix docstring for `notmuch-search-line-faces'.Gravatar Dmitry Kurochkin2011-12-24
| | | | | | | | | | | | | | Examples in documentation for `notmuch-search-line-faces' had an extra quote, e.g.: '(\"unread\" . '(:foreground \"green\")) Which resulted in values like: (\"unread\" quote (:foreground \"green\")) And tons of "Invalid face reference: quote" errors in the messages buffer.
* emacs: call notmuch-show instead of notmuch-search in buttonised id: linksGravatar Jameson Graef Rollins2011-12-24
| | | | | | | Since message-ids necessarily match just a single message, there's no reason to do a search for the id before viewing the actual message; the search just becomes an extra screen to click through. Clicking on an id: links now just jumps straight to the message itself.
* Fix comments about what is stored in the databaseGravatar Thomas Jost2011-12-23
| | | | | | Commit 567bcbc2 introduced two new values for each message (content of the "From" and "Subject" headers), but the comments about the database schema had not been updated accordingly.
* emacs: fix off-by-one bug in notmuch-show-archiveGravatar Aaron Ecay2011-12-23
| | | | | | Text properties change between characters; prev-s-c-property-change returns the position after the change. Thus, it is still inside the invisible region.
* emacs: put the last search on top of recent searches in notmuch-helloGravatar Dmitry Kurochkin2011-12-22
| | | | | | | | Notmuch-hello stores a list of recent searches. Before the change, if a search from this list is repeated, the recent search list is not changed. The patch makes repeated recent searches move to the head of the list. I.e. the last search is always on top of the recent search list, which is what one would expect from a history list.
* test: add test for `notmuch-hello-refresh-hook'Gravatar Dmitry Kurochkin2011-12-22
| | | | | | | | Test that `notmuch-hello-refresh-hook' is called once when `notmuch-hello' is called and twice when calling `notmuch-hello-update' after that. The tests are very similar to tests for `notmuch-hello-mode-hook'.
* test: add general Emacs hook counterGravatar Dmitry Kurochkin2011-12-22
| | | | | Replace `notmuch-hello-mode-hook-counter' with general `hook-counter' and `add-hook-counter' functions to allow counting calls for any hook.
* emacs: Change the default thousands separator to a spaceGravatar Thomas Jost2011-12-22
| | | | | | | | | | | | | This had been discussed and decided on IRC. Rationale: Therefore the space is recommended in the SI/ISO 31-0 standard, and the International Bureau of Weights and Measures states that "for numbers with many digits the digits may be divided into groups of three by a thin space, in order to facilitate reading. Neither dots nor commas are inserted in the spaces between groups of three". (http://en.wikipedia.org/wiki/Decimal_separator#Digit_grouping)
* emacs: rename notmuch-decimal-separator to notmuch-hello-thousands-separatorGravatar Thomas Jost2011-12-22
| | | | In 123,456.78, "." is the decimal separator, but "," is the thousands separator.
* emacs: Don't prompt the user to choose from zero matching addresses.Gravatar David Edmondson2011-12-22
| | | | | | If the address matching function generates no matches, don't prompt the user to choose between them (!). Instead, generate a message to report that there were no matches.
* emacs: Fix notmuch-mua-user-agent defcustomGravatar Jani Nikula2011-12-22
| | | | | | | | | The :options keyword is not meaningful for function type. Also, it was not possible to enter nil value, contrary to the notmuch-mua-user-agent defcustom documentation. Specify the alternatives using choice type, taking nil into account. Signed-off-by: Jani Nikula <jani@nikula.org>
* emacs: Fix notmuch-hello-tag-list-make-query defcustomGravatar Jani Nikula2011-12-22
| | | | | | | It was not possible to define custom filters or filter functions because the types were const. Remove const to allow editing. Signed-off-by: Jani Nikula <jani@nikula.org>
* emacs: add notmuch-hello-refresh-hookGravatar Thomas Jost2011-12-21
| | | | This hook is called every time a notmuch-hello buffer is updated.
* notmuch: Quiet buildbot warnings.Gravatar David Edmondson2011-12-21
| | | | | Cast away the result of various *write functions. Provide a default value for some variables to avoid "use before set" warnings.
* Don't quote lambda formsGravatar Aaron Ecay2011-12-21
| | | | | | This generates byte-compiler warnings on (at least) current trunk versions of Emacs. The quote is not necessary; lambda forms are self-quoting.
* emacs: Add `notmuch-jump-to-recent-buffer'.Gravatar David Edmondson2011-12-20
| | | | | | | | | From a Carl Worth idea: add a function which will select the most recently used notmuch buffer (search, show or hello). If no recent buffer is found, run `notmuch'. It is expected that the user will global bind this command to a key sequence.
* emacs: do not call `notmuch-hello-mode' on updateGravatar Dmitry Kurochkin2011-12-20
| | | | | | | | | | | `notmuch-hello' should call `notmuch-hello-mode' function only when run for the first time. But before the change, `notmuch-hello' used `kill-all-local-variables' to remove editable widgets fields. This caused the major mode to be reset, and `notmuch-hello-mode' to be called every time. The patch manually deletes all editable widget fields and removes `kill-all-local-variables' call.
* test: add broken test for `notmuch-hello-mode-hook' called during updateGravatar Dmitry Kurochkin2011-12-20
| | | | | Test that `notmuch-hello-mode-hook' is not called during `notmuch-hello' buffer updates. The test is currently broken.
* test: add test for `notmuch-hello-mode-hook'Gravatar Dmitry Kurochkin2011-12-20
| | | | | Test that `notmuch-hello-mode-hook' is called once when `notmuch-hello' function is called.
* test: add `notmuch-hello-mode-hook-counter'Gravatar Dmitry Kurochkin2011-12-20
| | | | | | | Add `notmuch-hello-mode-hook-counter' hook to count how many times `notmuch-hello-mode-hook' was called. The counter function increments `notmuch-hello-mode-hook-counter' variable value if it is bount, otherwise it does nothing.
* Add an argument to notmuch-mua-mailGravatar Aaron Ecay2011-12-18
| | | | | | | | | | | | | | | | | | | | | From the emacs changelog: ** `compose-mail' now accepts an optional 8th arg, RETURN-ACTION, and passes it to the mail user agent function. This argument specifies an action for returning to the caller after finishing with the mail. This is currently used by Rmail to delete a mail window. Under Emacs 24, notmuch breaks when this argument is passed to it by a function in another part of Emacs. One example of a functon that does this is report-emacs-bug -- so notmuch users cannot file emacs bug reports! This patch also adds a &rest argument to the arg-list of this function, to future-proof against such changes. This is adapted from the approach taken by message-mail, a similar function built into emacs. This patch was originally submitted by richardmurri@gmail.com on Aug. 1: id:"877h6x6oor.fsf@veracitynetworks.com"
* build-system: use a shell variable for TMPFILE in debian-snapshotGravatar David Bremner2011-12-18
| | | | | | | | | | | | | | | Aaron Ecay points out in id:"1324136185-4509-1-git-send-email-aaronecay@gmail.com" that the mktemp in debian-snapshot: TMPFILE := $(shell mktemp) Is being evaluated for every target. As best I can tell, this is because make is evaluating the right hand side, even though it is not doing the assignment. Of course, it isn't quite as nice to edit with the line continuations, but it is ideomatic make.
* test: optionally print subtest numberGravatar David Bremner2011-12-18
| | | | | | | The idea is that $test_count could be used in tests to label intermediate files. The output enabled by this patch (and --debug) helps figure out which OUTPUT.nn file belongs to which test in case several subtests write to OUTPUT.$test_count
* Fix build with binutils-2.22Gravatar Thomas Jost2011-12-17
| | | | | | | | | | | | | | | | | | | binutils-2.22 changes the behaviour of ld by defaulting to --no-copy-dt-needed-entries, which means that required objects/libs are not "indirectly" linked through intermediate objects/libs anymore. As a consequence, when using binutils-2.22, building symbol-test fails with the following error: /usr/bin/ld: test/symbol-test.o: undefined reference to symbol 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()@@GLIBCXX_3.4' /usr/bin/ld: note: 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()@@GLIBCXX_3.4' is defined in DSO /usr/lib/libstdc++.so.6 so try adding it to the linker command line /usr/lib/libstdc++.so.6: could not read symbols: Invalid operation An easy fix is to link using CXX instead of CC.
* Ignore dynamic libraries on OS X.Gravatar Aaron Ecay2011-12-17
| | | | Parallel to ignoring .so for linux.
* emacs: Add notmuch-hello-mode-hookGravatar Ivy Foster2011-12-16
| | | | Functions called after entering `notmuch-hello-mode'
* emacs: Document notmuch-show-get-message-propertiesGravatar Daniel Schoepe2011-12-16
|