aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* emacs: Add `notmuch-show-only-matching-messages'.Gravatar David Edmondson2012-02-12
| | | | | Allow the user to choose that only matching messages are shown by default.
* emacs: Check that the parent buffer is alive before using it.Gravatar David Edmondson2012-02-12
|
* emacs: Optionally retain the state of the buffer during ↵Gravatar David Edmondson2012-02-12
| | | | | | | | | | | | | | | `notmuch-show-refresh-view'. With an argument, record and reply the state of the buffer during `notmuch-show-refresh-view'. In this context, "state" is defined as: - the open/closed state of each message, - the current message. Traditional use of refresh with the = key does not retain the state. The recently introduced toggle commands ($, !, < and >) do retain the state.
* emacs: Add a binding (t) to toggle the truncation of long lines.Gravatar David Edmondson2012-02-12
|
* emacs: Allow the indentation of content to be toggled.Gravatar David Edmondson2012-02-12
| | | | | | | | | Very deeply indented content is sometimes difficult to read (particular for something like patches). Allow the indentation of the content to be toggled with '<'. Indentation of the header lines is not affected, so it remains possible to see the structure of the thread.
* emacs: Allow `notmuch-show-mode' to display only matching messages.Gravatar David Edmondson2012-02-12
| | | | | | | The current behaviour (all messages shown, non-matching collapsed) is retained as the default. Type '!' to switch to showing only the matching messages - non-matching messages are not available. '!' will switch back to showing everything.
* emacs: Rework crypto switch toggle.Gravatar David Edmondson2012-02-12
| | | | | | | | | | | | | | Re-work the existing crypto switch toggle to be based on a persistant buffer-local variable. To allow this, modify `notmuch-show-refresh-view' to erase and re-draw in the current buffer rather than killing the current buffer and creating a new one. (This will also allow more per-buffer behaviour in future patches.) Add a binding ('$') to toggle crypto processing of the current buffer and remove the prefix argument approach that achieves a similar result.
* emacs: Ensure that gnupg output goes at the end of the buffer.Gravatar David Edmondson2012-02-12
| | | | | | | When showing the user some details of gnupg output, ensure that those details are shown at the end of the gnupg status buffer ("*notmuch-crypto-gpg-out*"), otherwise it can end up mixed up with earlier output.
* cli: reach previously unreachable cleanup code in "notmuch show"Gravatar Jani Nikula2012-02-12
| | | | | | | The last lines of notmuch_show_command() function were unreachable. Fix it by using a variable for return value. Signed-off-by: Jani Nikula <jani@nikula.org>
* cli: convert "notmuch show" to use the new argument parserGravatar Jani Nikula2012-02-12
| | | | | | | | | | | | | | | | | Use the new notmuch argument parser to handle arguments in "notmuch show". There are three minor functional changes: 1) Also set params.raw = TRUE when defaulting to raw format when part is requested but format is not specified. This was a bug, and --part=0 without --format=raw did not work previously. 2) Set params.decrypt = FALSE if crypto context creation fails. 3) Only use the parameters for the last --format if specified multiple times. Previously this could have resulted in a non-working mixture of parameters. Signed-off-by: Jani Nikula <jani@nikula.org>
* cli: use notmuch_bool_t for boolean fields in notmuch_show_params_tGravatar Jani Nikula2012-02-12
| | | | | | | Use notmuch_bool_t instead of int for entire_thread, raw, and decrypt boolean fields in notmuch_show_params_t. No functional changes. Signed-off-by: Jani Nikula <jani@nikula.org>
* show: Simplify new text formatter codeGravatar Austin Clements2012-02-12
| | | | | | | | | | | This makes the text formatter take advantage of the new code structure. The previously duplicated header logic is now unified, several things that we used to compute repeatedly across different callbacks are now computed once, and the code is simpler overall and 32% shorter. Unifying the header logic causes this to format some dates slightly differently, so the two affected test cases are updated.
* show: Convert text format to the new self-recursive styleGravatar Austin Clements2012-02-12
| | | | | | | | | | This is all code movement and a smidgen of glue. This moves the existing text formatter code into one self-recursive function, but doesn't change any of the logic. The next patch will actually take advantage of what the new structure has to offer. Note that this patch retains format_headers_message_part_text because it is also used by the raw format.
* emacs: add default value to notmuch-search-line-facesGravatar Jani Nikula2012-02-12
| | | | | | | | | | | | | | Add default value to notmuch-search-line-faces to show "unread" messages in bold, and "flagged" messages in blue, to have some visual indication of important messages in search results. This should be helpful for new users. "unread" tag is quite obvious, and handled specially both in the lib and emacs ui. "flagged" is synced to maildir F flag in the lib. If one syncs the maildir to IMAP, this also translates to corresponding IMAP flag. (This is "starred" in GMail and Android.) Signed-off-by: Jani Nikula <jani@nikula.org>
* test: remove explicit loading of elisp tests in emacs-address-cleaningGravatar Dmitry Kurochkin2012-02-12
| | | | It is no longer needed, since elisp tests files are auto loaded now.
* test: auto load elisp tests file in test_emacs if availableGravatar Dmitry Kurochkin2012-02-12
| | | | This allows us to simplify shell part of tests written in elisp.
* STYLE: Initial draft of coding style documentGravatar David Bremner2012-02-12
| | | | | | This was edited by (at least) Austin, Tomi, and myself. Amended with Austin's proposed wording for indentation.
* py3k: Fix decoding of default database name in Database._get_user_default_dbGravatar Justus Winter2012-02-10
| | | | Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* python: mock out the ctypes libraryGravatar Justus Winter2012-02-10
| | | | | | This allows rtfd.org to build the documentation without libnotmuch. Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* python: Add a Mock class to the sphinx config that can be used to mock modulesGravatar Justus Winter2012-02-10
| | | | Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* emacs: make show view a/A/x/X key bindings more consistentGravatar Jani Nikula2012-02-08
| | | | | | | | | | | | | | | | | | | | | Modify the show view key bindings as follows to make them more consistent: 'a' = Archive current message, then move to next message, or show next thread from search if at the last message in thread. 'A' = Archive each message in thread, then show next thread from search. 'x' = Archive current message, then move to next message, or exit back to search results if at the last message in thread. 'X' = Archive each message in thread, then exit back to search results. The changes make the key bindings more consistent in two ways: 1) 'a'/'A' both advance to the next thread like 'a' used to. 2) 'x' operates on messages and 'X' on threads like 'a'/'A'.
* NEWS: document Emacs UI tagging operations changesGravatar Dmitry Kurochkin2012-02-08
|
* emacs: s/tags/tag-changes/ for arguments of tagging functionsGravatar Dmitry Kurochkin2012-02-08
| | | | | | | This makes the argument names more consistent and clear. The following functions changed: `notmuch-tag', `notmuch-search-tag-thread', `notmuch-search-tag-region' and `notmuch-search-tag-all'.
* emacs: accept empty tag list in `notmuch-tag'Gravatar Dmitry Kurochkin2012-02-08
| | | | | | | Since `notmuch-tag' is a non-interactive function and hence is meant to be invoked programmatically, it should accept zero tags. Also, the tagging operations (bound to "*", "+", "-") would accept empty input without an error.
* emacs: relax tag syntax check in `notmuch-tag' functionGravatar Dmitry Kurochkin2012-02-08
| | | | | | | | The tag syntax check in `notmuch-tag' function was too strict and did not allow nmbug tags with "::". Since the check is done for all tagging operations in Emacs UI, this basically means that no nmbug tags can be changed. The patch relaxes the tag syntax check to allow any tag names that do not include whitespace characters.
* emacs: separate history for operations which accept single and multiple tagsGravatar Dmitry Kurochkin2012-02-08
| | | | | | | | | | | | Some tag-related operations accept a single tag without prefix (`notmuch-select-tag-with-completion'), others accept multiple tags prefixed with '+' or '-' (`notmuch-read-tag-changes'). Before the change, both functions used a single default minibuffer history. This is inconvenient because you have to skip options with incompatible format when going through the history. The patch adds separate history lists for the two functions. Note that functions that accept the same input format (e.g. "+", "-", "*") share the history list as before.
* emacs: add "*" binding for notmuch-show viewGravatar Dmitry Kurochkin2012-02-08
| | | | | | | The patch adds `notmuch-show-tag-all' function bound to "*" in notmuch-show view. The function is similar to the `notmuch-search-tag-all' function for the notmuch-search view: it changes tags for all messages in the current thread.
* emacs: rename `notmuch-search-operate-all' to `notmuch-search-tag-all'Gravatar Dmitry Kurochkin2012-02-08
| | | | | `Notmuch-search-tag-all' is more clear and consistent with other tagging function names.
* test: fix emacs tests after tagging operations changesGravatar Dmitry Kurochkin2012-02-08
| | | | | | After the recent tagging operations changes, functions bound to "+" and "-" in notmuch-search and notmuch-show views always read input from the minibuffer. Use kbd macros instead of calling them directly.
* emacs: make "+" and "-" tagging operations in notmuch-show more flexibleGravatar Dmitry Kurochkin2012-02-08
| | | | | | | | | | Before the change, "+" and "-" tagging operations in notmuch-show view accepted only a single tag. The patch makes them use the recently added `notmuch-read-tag-changes' function, which allows to enter multiple tags with "+" and "-" prefixes. So after the change, "+" and "-" bindings in notmuch-show view allow to both add and remove multiple tags. The only difference between "+" and "-" is the minibuffer initial input ("+" and "-" respectively).
* emacs: make "+" and "-" tagging operations in notmuch-search more flexibleGravatar Dmitry Kurochkin2012-02-08
| | | | | | | | | | | Before the change, "+" and "-" tagging operations in notmuch-search view accepted only a single tag. The patch makes them use the recently added `notmuch-read-tag-changes' function (renamed `notmuch-select-tags-with-completion'), which allows to enter multiple tags with "+" and "-" prefixes. So after the change, "+" and "-" bindings in notmuch-search view allow to both add and remove multiple tags. The only difference between "+" and "-" is the minibuffer initial input ("+" and "-" respectively).
* emacs: remove text properties from `notmuch-search-get-tags' resultGravatar Dmitry Kurochkin2012-02-08
|
* emacs: move tag format validation to `notmuch-tag' functionGravatar Dmitry Kurochkin2012-02-08
| | | | | | | Before the change, tag format validation was done in `notmuch-search-operate-all' function only. The patch moves it down to `notmuch-tag', so that all users of that function get input validation.
* tag: remove unused attribute from notmuch_tag_command() argumentsGravatar Dmitry Kurochkin2012-02-08
| | | | | Argc and argv arguments are used in notmuch_tag_command() function. So unused attribute is not appropriate for them.
* emacs: use mark instead of point-max in MML quoting.Gravatar David Bremner2012-02-04
| | | | | | | | | | | As Aaron explains in id:"m2vco72tf3.fsf@wal122.wireless-pennnet.upenn.edu" Using point-max would include the signature in the quoting as well. It would probably be fairly odd to want to put an MML tag in one’s signature, but that doesn’t mean that we should break that usage. We had to use point-max in the 0.11.1 bug-fix release, because the mark functionality was added post 0.11.
* test: Fix up date in MML quoting tests.Gravatar David Bremner2012-02-04
| | | | | | based on id:"1328264649-27346-3-git-send-email-pieter@praet.org" Commit 66ecd9063 made dates "real", but it hasn't hit release yet.
* Merge commit '0.11.1'Gravatar David Bremner2012-02-04
|\ | | | | | | | | | | | | | | | | | | Conflicts: NEWS bindings/python/notmuch/database.py bindings/python/notmuch/message.py notmuch.1 NEWS merged by hand, others taken from master.
* | emacs: fix `notmuch-wash-region-to-button' to work at beginning of bufferGravatar Dmitry Kurochkin2012-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `Notmuch-wash-region-to-button' is the function that creates hidden regions with buttons for signatures, citations and original messages. Before the change, it did not work correctly if the to-be-hidden region started at the beginning of a message: the visibility toggle button was hidden as well. The patch fixes this. There are two parts in the fix: * Use `insert-before-markers' instead of `insert' for creating the button, so that it does not get added to the hidden overlay. * Stop using PREFIX argument for adding a newline before the button. The newline should not be added before a button at the beginning of buffer. The corresponding test is fixed now.
* | test: add test for hiding Original Message region at beginning of a messageGravatar Dmitry Kurochkin2012-02-04
| | | | | | | | | | | | | | | | | | | | The test is currently broken and will be fixed by a subsequent patch. The patch adds a new file for tests of Emacs notmuch-show view. Based on patch by David Edmondson [1]. [1] id:"1327562380-12894-4-git-send-email-dme@dme.org"
* | emacs: Move the blank line from the bottom of the headers to the top of the ↵Gravatar David Edmondson2012-02-03
| | | | | | | | | | | | | | | | | | body. The blank line doesn't really change position, but is now considered to be part of the body rather than part of the headers. This means that it is visible when the body is visible rather than when the headers are visible.
* | emacs: More address cleaning.Gravatar David Edmondson2012-02-03
| | | | | | | | | | | | | | Remove outer single-quotes from the mailbox part. Allow for multiple sets of nested single and double quotes. Add more tests.
* | emacs: Prefer '[No Subject]' to blank subjects.Gravatar David Edmondson2012-02-03
| |
* | emacs: Stop the `truncate-string-to-width' madness.Gravatar David Edmondson2012-02-03
| | | | | | | | | | There's no need to call `truncate-string-to-width' twice in this code path.
* | lib: Use talloc to simplify cleanup in notmuch_database_openGravatar Austin Clements2012-02-03
| | | | | | | | | | | | | | Previously, we manually "free"d various pointers in notmuch_database_open. Use a local talloc context instead to simplify cleanup and eliminate various NULL pointer initializations and conditionals.
* | lib: Release resources if notmuch_database_open failsGravatar Austin Clements2012-02-03
| | | | | | | | | | Previously, if a Xapian exception occurred in notmuch_database_open, we failed to clean up the allocated notmuch_database_t object.
* | lib: Don't delete uninitialized pointersGravatar Austin Clements2012-02-03
| | | | | | | | | | | | | | | | | | In the error-handling paths of notmuch_database_open, we call notmuch_database_close, which "delete"s several objects referenced by the notmuch_database_t object. However, some of these pointers may be uninitialized, resulting in undefined behavior. Hence, allocate the notmuch_database_t with talloc_zero to make sure these pointers are NULL so that "delete"ing them is harmless.
* | test: remove ".sh" extension from the recently added Emacs testsGravatar Dmitry Kurochkin2012-02-03
| | | | | | | | | | All test files, except for the recently added Emacs tests, do not have ".sh" extension. So remove it from the new test files for consistency.
* | configure: update explicit check for glib : >= 2.22Gravatar Pieter Praet2012-02-03
| | | | | | | | | | | | | | | | | | | | | | As of commit b3caef1f, we're using g_array_unref() in 'lib/query.cc', which was only introduced in glib 2.22, so update the dependency. Thanks to datapipe@gmail.com for reporting this [1]. Also see commit b88e6abc. [1] id:"alpine.DEB.2.02.1201132130220.21970@ltspubuntu4.int.smq.datapipe.net"
| * debian: changelog for 0.11.1Gravatar David Bremner2012-02-03
| | | | | | | | mention the two bugfixes
| * version: bump to 0.11.1Gravatar David Bremner2012-02-03
| | | | | | | | also semi-automatically update man page and python bindings versions.