aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* emacs: Fix display of highlighted line in notmuch-searchMichal Sojka2012-02-17
| | | | | | | When notmuch-search-line-faces is used to set background color in search results, the highlight of the current line is not always displayed correctly. This patch fixes that by increasing the priority property of the highlight overlay.
* python: implement the context manager protocol for database objectsJustus Winter2012-02-15
| | | | Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* python: provide a Database.close functionJustus Winter2012-02-15
| | | | | | | | Rename Database.__del__ to Database.close, move it just below the open function and call close() in a newly created destructor just below the constructor. Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* Free the results of scandir()Ethan Glasser-Camp2012-02-14
| | | | | | | | | | scandir() returns "strings allocated via malloc(3)" which are then "collected in array namelist which is allocated via malloc(3)". Currently we just free the array namelist. Instead, free all the entries of namelist, and then free namelist. entry only points to elements of namelist, so we don't free it separately.
* emacs: allow to set RETAIN-STATE for `notmuch-show-refresh-view' interactivelyDmitry Kurochkin2012-02-14
| | | | | | The notmuch-show view refresh function (`notmuch-show-refresh-view', bound to "=") accepts an optional RETAIN-STATE argument. The patch allows to set this argument interactively by using "C-u =".
* emacs: cleanup and simplify `notmuch-show-archive-thread' and related functionsDmitry Kurochkin2012-02-12
| | | | | | | | | | | | Recent changes in notmuch-show tagging introduced some code duplication. The patch cleanups and simplifies `notmuch-show-archive-thread' function by using `notmuch-show-tag-all', no longer used function are removed. After the change, `notmuch-show-archive-thread' function becomes symmetric with `notmuch-show-archive-message'. A side effect of these changes is that `notmuch-show-archive-thread' no longer calls "notmuch tag" for each message in the thread.
* emacs: A prefix argument to `notmuch-show' should invert the matching ↵David Edmondson2012-02-12
| | | | | | | | message behaviour. Allow the user to open a thread with inverted `notmuch-show-only-matching-messages' behaviour using a prefix argument.
* emacs: Add `notmuch-show-only-matching-messages'.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.David Edmondson2012-02-12
|
* emacs: Optionally retain the state of the buffer during ↵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.David Edmondson2012-02-12
|
* emacs: Allow the indentation of content to be toggled.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.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.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.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"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 parserJani 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_tJani 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 codeAustin 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 styleAustin 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-facesJani 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-cleaningDmitry 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 availableDmitry Kurochkin2012-02-12
| | | | This allows us to simplify shell part of tests written in elisp.
* STYLE: Initial draft of coding style documentDavid 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_dbJustus Winter2012-02-10
| | | | Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* python: mock out the ctypes libraryJustus 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 modulesJustus Winter2012-02-10
| | | | Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* emacs: make show view a/A/x/X key bindings more consistentJani 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 changesDmitry Kurochkin2012-02-08
|
* emacs: s/tags/tag-changes/ for arguments of tagging functionsDmitry 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'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' functionDmitry 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 tagsDmitry 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 viewDmitry 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'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 changesDmitry 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 flexibleDmitry 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 flexibleDmitry 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' resultDmitry Kurochkin2012-02-08
|
* emacs: move tag format validation to `notmuch-tag' functionDmitry 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() argumentsDmitry 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.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.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'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.
| * debian: changelog for 0.11.1David Bremner2012-02-03
| | | | | | | | mention the two bugfixes
| * version: bump to 0.11.1David Bremner2012-02-03
| | | | | | | | also semi-automatically update man page and python bindings versions.
| * NEWS: set release date for 0.11.1David Bremner2012-02-03
| |
| * emacs: quote MML tags in repliesAaron Ecay2012-02-03
| | | | | | | | | | | | | | | | | | Emacs message-mode uses certain text strings to indicate how to attach files to outgoing mail. If these are present in the text of an email, and a user is tricked into replying to the message, the user’s files could be exposed. Edited-by: Pieter Praet <pieter@praet.org>: Rebased to release branch.
| * test: add tests for quoting of MML tags in repliesAaron Ecay2012-02-03
| | | | | | | | | | | | | | | | The test is broken at this time; the next commit will introduce a fix. Edited-by: Pieter Praet <pieter@praet.org>: Rebased to release branch, moved expected output into the actual test, and fixed "Fcc:" line.
| * Add a NEWS section for 0.11.1 and document the python error handling bugfixJustus Winter2012-01-23
| |