aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-02-12cli: use notmuch_bool_t for boolean fields in notmuch_show_params_tJani Nikula
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>
2012-02-12show: Simplify new text formatter codeAustin Clements
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.
2012-02-12show: Convert text format to the new self-recursive styleAustin Clements
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.
2012-02-12emacs: add default value to notmuch-search-line-facesJani Nikula
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>
2012-02-12test: remove explicit loading of elisp tests in emacs-address-cleaningDmitry Kurochkin
It is no longer needed, since elisp tests files are auto loaded now.
2012-02-12test: auto load elisp tests file in test_emacs if availableDmitry Kurochkin
This allows us to simplify shell part of tests written in elisp.
2012-02-12STYLE: Initial draft of coding style documentDavid Bremner
This was edited by (at least) Austin, Tomi, and myself. Amended with Austin's proposed wording for indentation.
2012-02-10py3k: Fix decoding of default database name in Database._get_user_default_dbJustus Winter
Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
2012-02-10python: mock out the ctypes libraryJustus Winter
This allows rtfd.org to build the documentation without libnotmuch. Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
2012-02-10python: Add a Mock class to the sphinx config that can be used to mock modulesJustus Winter
Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
2012-02-08emacs: make show view a/A/x/X key bindings more consistentJani Nikula
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'.
2012-02-08NEWS: document Emacs UI tagging operations changesDmitry Kurochkin
2012-02-08emacs: s/tags/tag-changes/ for arguments of tagging functionsDmitry Kurochkin
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'.
2012-02-08emacs: accept empty tag list in `notmuch-tag'Dmitry Kurochkin
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.
2012-02-08emacs: relax tag syntax check in `notmuch-tag' functionDmitry Kurochkin
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.
2012-02-08emacs: separate history for operations which accept single and multiple tagsDmitry Kurochkin
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.
2012-02-08emacs: add "*" binding for notmuch-show viewDmitry Kurochkin
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.
2012-02-08emacs: rename `notmuch-search-operate-all' to `notmuch-search-tag-all'Dmitry Kurochkin
`Notmuch-search-tag-all' is more clear and consistent with other tagging function names.
2012-02-08test: fix emacs tests after tagging operations changesDmitry Kurochkin
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.
2012-02-08emacs: make "+" and "-" tagging operations in notmuch-show more flexibleDmitry Kurochkin
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).
2012-02-08emacs: make "+" and "-" tagging operations in notmuch-search more flexibleDmitry Kurochkin
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).
2012-02-08emacs: remove text properties from `notmuch-search-get-tags' resultDmitry Kurochkin
2012-02-08emacs: move tag format validation to `notmuch-tag' functionDmitry Kurochkin
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.
2012-02-08tag: remove unused attribute from notmuch_tag_command() argumentsDmitry Kurochkin
Argc and argv arguments are used in notmuch_tag_command() function. So unused attribute is not appropriate for them.
2012-02-04emacs: use mark instead of point-max in MML quoting.David Bremner
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.
2012-02-04test: Fix up date in MML quoting tests.David Bremner
based on id:"1328264649-27346-3-git-send-email-pieter@praet.org" Commit 66ecd9063 made dates "real", but it hasn't hit release yet.
2012-02-04Merge commit '0.11.1'David Bremner
Conflicts: NEWS bindings/python/notmuch/database.py bindings/python/notmuch/message.py notmuch.1 NEWS merged by hand, others taken from master.
2012-02-04emacs: fix `notmuch-wash-region-to-button' to work at beginning of bufferDmitry Kurochkin
`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.
2012-02-04test: add test for hiding Original Message region at beginning of a messageDmitry Kurochkin
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"
2012-02-03emacs: Move the blank line from the bottom of the headers to the top of the body.David Edmondson
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.
2012-02-03emacs: More address cleaning.David Edmondson
Remove outer single-quotes from the mailbox part. Allow for multiple sets of nested single and double quotes. Add more tests.
2012-02-03emacs: Prefer '[No Subject]' to blank subjects.David Edmondson
2012-02-03emacs: Stop the `truncate-string-to-width' madness.David Edmondson
There's no need to call `truncate-string-to-width' twice in this code path.
2012-02-03lib: Use talloc to simplify cleanup in notmuch_database_openAustin Clements
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.
2012-02-03lib: Release resources if notmuch_database_open failsAustin Clements
Previously, if a Xapian exception occurred in notmuch_database_open, we failed to clean up the allocated notmuch_database_t object.
2012-02-03lib: Don't delete uninitialized pointersAustin Clements
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.
2012-02-03test: remove ".sh" extension from the recently added Emacs testsDmitry Kurochkin
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.
2012-02-03configure: update explicit check for glib : >= 2.22Pieter Praet
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"
2012-02-03debian: changelog for 0.11.1debian/0.11.1-10.11.1David Bremner
mention the two bugfixes
2012-02-03version: bump to 0.11.1David Bremner
also semi-automatically update man page and python bindings versions.
2012-02-03NEWS: set release date for 0.11.1David Bremner
2012-02-03emacs: quote MML tags in repliesAaron Ecay
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.
2012-02-03test: add tests for quoting of MML tags in repliesAaron Ecay
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.
2012-02-01emacs: globally replace non-branching "(if COND (progn ..." with "(when ..."Pieter Praet
Less code, same results, without sacrificing readability.
2012-01-30emacs: fix show-previous-message doc stringJameson Graef Rollins
2012-01-30emacs: modify the default show-mode key bindings for archivingJameson Graef Rollins
This changes the default key bindings for the 'a' key in notmuch-show mode. Instead of archiving the entire thread, it now just archives the current message, and then advance to the next open message (archive-message-then-next). 'A' is now bound to the previous archive-thread-then-next function.
2012-01-30emacs: use pop-at-end functionality in show-archive-message-then-next functionJameson Graef Rollins
This provides a smoother message processing flow by reducing the number of key presses needed for these common operations.
2012-01-30emacs: add option to show-next-{, open-}message functions to pop out to parent buffer if at endJameson Graef Rollins
This will allow for keybindings that achieve a smoother message processing flow by reducing the number of key presses needed for most common operations.
2012-01-30emacs: add message archiving functionsJameson Graef Rollins
This adds two new message archiving functions that parallel the thread archiving functions: notmuch-show-archive-message{,-then-next}. The former also takes a prefix argument to unarchive the message (ie. put back in inbox).
2012-01-30emacs: break out thread navigation from notmuch-show-archive-threadJameson Graef Rollins
This function is now just for archiving the current thread. A new function is created to archive-then-next. The 'a' key binding is updated accordingly. This will allow people to bind to the simple thread archiving function without the extra navigation. The archive-thread function now also takes a prefix to unarchive the current thread (ie. put the whole thread back in the inbox).