aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Put 0.16 NEWS in a reasonable orderGravatar Austin Clements2013-07-28
| | | | | | | | | The 0.16 NEWS grew chronologically during development, and as a result wound up in a particularly odd order. This rearranges it to put the most user-visible news first. Roughly: new features, modified behavior, bug fixes, then deprecation, with related items grouped. This does not modify the text of any of the news.
* emacs: hello: make --batch error gracefullyGravatar Mark Walters2013-07-27
| | | | | | | | | Recently notmuch-hello was converted to use batch count. However, it seems that several people run different versions of notmuch-emacs and notmuch-cli so this batch makes emacs fail with an error message if --batch is not available in the CLI. Amended by: db
* emacs: News for S-expressions everywhereGravatar Austin Clements2013-07-22
| | | | | Update the news about search using S-expression support to also say that show is also now faster.
* contrib: pick: use notmuch-start-notmuchGravatar Mark Walters2013-07-20
| | | | | This uses the new notmuch-start-notmuch function which should give better handling of stderr and errors generally.
* crypto: return NULL cryptoctx if protocol string is empty.Gravatar Jameson Graef Rollins2013-07-20
| | | | | | | | Badly formed messages that don't specify a protocol in signed/encrypted parts, end up with a protocol of NULL. strcasecmp in notmuch_crypto_get_context then segfaults when trying to check it against known protocols. If the protocol is NULL, just return an empty context immediately (with appropriate message.)
* NEWS: Python bindings: Fix loading of libnotmuch on OS X (Darwin)Gravatar Tomi Ollila2013-07-20
|
* emacs: dropped rest of now-unused JSON functionalityGravatar Tomi Ollila2013-07-20
| | | | | | Notmuch cli provides all structured data previously provided in json format now in s-expression format, rendering all current json functionality obsolete.
* NEWS: announce insert commandGravatar Peter Wang2013-07-20
|
* debian: Add package for debugging symbols (Closes: #717339)Gravatar Daniel Kahn Gillmor2013-07-20
|
* Python bindings: CDLL("libnotmuch.3.dylib") on DarwinGravatar Tomi Ollila2013-07-09
| | | | | Use os.uname() to check for 'Darwin' and load "libnotmuch.3.dylib" instead of "libnotmuch.so.3" if that is the case.
* contrib: pick: document several of the tree/forest insertion functions.Gravatar Mark Walters2013-07-04
|
* pick: contrib: document notmuch-pick-message-window-kill-hookGravatar Mark Walters2013-07-04
|
* pick: contrib: document notmuch-pick-refresh-resultGravatar Mark Walters2013-07-04
|
* pick: contrib: document notmuch-pick-show-outGravatar Mark Walters2013-07-04
|
* contrib: pick: remove unused functionGravatar Mark Walters2013-07-04
| | | | | The function notmuch-pick-show-error was used before Austin's improved error handling. It is now redundant so remove.
* contrib: pick: remove unused variableGravatar Mark Walters2013-07-04
| | | | | This variable was needed at one point for the async parser but is not needed anymore.
* contrib: pick: bugfix: make the right variable buffer-localGravatar Mark Walters2013-07-04
| | | | | | The variable notmuch-pick-message-buffer should be buffer local but instead notmuch-pick-message-buffer-name (a non-existent variable) was made buffer local.
* contrib: pick: add docstrings to all defvarsGravatar Mark Walters2013-07-04
|
* contrib: pick: add a docstring for the main notmuch-pick functionGravatar Mark Walters2013-07-04
|
* contrib: pick: fix refresh resultGravatar Mark Walters2013-07-04
| | | | | | | | | | | The function notmuch-pick-refresh-result (used to update tag changes) was not quite correct: sometimes it got the choice between the subject and " ..." wrong. This was always true but the new code often calls this (when opening a message in the message pane to remove the unread tag) while the async pick process is still running and this caused mistakes which made the tests fail. Thus we store the previous subject with the message.
* contrib: pick: remove hack notmuch-pick-show-match-message-with-waitGravatar Mark Walters2013-07-04
| | | | | | This function was a horrible hack (sleeping while waiting for the correct message). The new target code can just open the message in the message window when it arrives.
* contrib: pick: if no target specified go to first matching messageGravatar Mark Walters2013-07-04
|
* test: test insert --create-folder optionGravatar Peter Wang2013-07-04
| | | | Add tests for notmuch insert --create-folder option.
* man: document insert --create-folderGravatar Peter Wang2013-07-04
| | | | Add documentation for notmuch insert --create-folder option.
* insert: add --create-folder optionGravatar Peter Wang2013-07-04
| | | | | Allow the insert command to create the maildir folder into which the new message should be delivered.
* test: test insert --folder optionGravatar Peter Wang2013-07-01
| | | | Add tests for notmuch insert --folder option.
* man: document insert --folder optionGravatar Peter Wang2013-07-01
| | | | Add documentation for notmuch insert --folder option.
* insert: add --folder optionGravatar Peter Wang2013-07-01
| | | | | Allow the new message to be inserted into a folder within the Maildir hierarchy instead of the top-level folder.
* test: add tests for insertGravatar Peter Wang2013-06-29
| | | | Add tests for new 'insert' command.
* man: reference notmuch-insert.1Gravatar Peter Wang2013-06-29
| | | | Add references to notmuch-insert.1 from other man pages.
* man: document 'insert' commandGravatar Peter Wang2013-06-29
| | | | Add initial documentation for notmuch insert command.
* cli: add insert commandGravatar Peter Wang2013-06-29
| | | | | | | | | | | | The notmuch insert command reads a message from standard input, writes it to a Maildir folder, and then incorporates the message into the notmuch database. Essentially it moves the functionality of notmuch-deliver into notmuch. Though it could be used as an alternative to notmuch new, the reason I want this is to allow my notmuch frontend to add postponed or sent messages to the mail store and notmuch database, without resorting to another tool (e.g. notmuch-deliver) nor directly modifying the maildir.
* tag-util: do not reset list in parse_tag_command_lineGravatar Peter Wang2013-06-29
| | | | | | | The 'insert' command will be better served if parse_tag_command_line modifies a pre-populated list (of new.tags) instead of clobbering the list outright. The sole existing caller, notmuch_tag_command, is unaffected by this change.
* tag-util: move out 'tag' command-line checkGravatar Peter Wang2013-06-29
| | | | | | Move an error condition specific to the 'tag' command out of parse_tag_command_line so that parse_tag_command_line can be used for the forthcoming 'insert' command.
* contrib: pick: remove reference to inbox in docstringGravatar Mark Walters2013-06-25
| | | | | Copy the recent changes in show to use just notmuch-archive-tags (as a link) rather than saying '(defaults to "inbox")'.
* emacs: Remove `notmuch-call-notmuch-json'Gravatar Austin Clements2013-06-24
| | | | This function is no longer used.
* emacs: Use S-exp format everywhereGravatar Austin Clements2013-06-24
| | | | | | This switches `notmuch-mua-reply' and `notmuch-query-get-threads' to the S-exp format. These were the last two uses of the JSON format in the Emacs frontend.
* emacs: Introduce `notmuch-call-notmuch-sexp'Gravatar Austin Clements2013-06-24
| | | | | | | This is just like `notmuch-call-notmuch-json', but parses S-expression output. Note that, also like `notmuch-call-notmuch-json', this doesn't consider trailing data to be an error, which may or may not be what we want in the long run.
* cli: use notmuch_exclude_t in option parserGravatar Peter Wang2013-06-24
| | | | | Use notmuch_exclude_t constants directly instead of a redundant enumeration while parsing search --exclude keyword arguments.
* lib: add NOTMUCH_EXCLUDE_FLAG to notmuch_exclude_tGravatar Mark Walters2013-06-24
| | | | | | | | | | | | | | | | | Add NOTMUCH_EXCLUDE_FLAG to notmuch_exclude_t so that it can cover all four values of search --exclude in the cli. Previously the way to avoid any message being marked excluded was to pass in an empty list of excluded tags: since we now have an explicit option we might as well honour it. The enum is in a slightly strange order as the existing FALSE/TRUE options correspond to the new NOTMUCH_EXCLUDE_FLAG/NOTMUCH_EXCLUDE_TRUE options so this means we do not need to bump the version number. Indeed, an example of this is that the cli count and show still use FALSE/TRUE and still work.
* revert: Removed top level --stderr= optionGravatar Tomi Ollila2013-06-24
| | | | | | | While looked good on paper, its attempted use caused confusion, complexity, and potential for information leak when passed through wrapper scripts. For slimmer code and to lessen demand for maintenance/support the set of commits which added top level --stderr= option is now reverted.
* emacs: Remove v commandGravatar Austin Clements2013-06-24
| | | | | | | | This removes the v command, since we now have much nicer part commands, and deprecates the underlying notmuch-show-view-all-mime-parts. This also means that people who try using the old unprefixed 'v' command on a part button will no longer be greeted by ALL of their parts popping up.
* emacs: update search sort order help to match codeGravatar Jani Nikula2013-06-24
|
* test/basic: replaced find -perm +111 with portable alternativeGravatar Tomi Ollila2013-06-24
| | | | | | The find option syntax `-perm +111` is deprecated gnu find feature. The replacement `( -perm -100 -o -perm -10 -o -perm 1 )` should also work outside of the GNU domain.
* emacs: show: change emacs interactive pipe message.Gravatar Mark Walters2013-06-24
| | | | | | | | Previously the query string for piping a message to a command was "Pipe message to command: " regardless of whether the function was called with a prefix argument (which pipes all open messages to the command). This patch modifies the `interactive' command to reflect this.
* emacs: show: implement lazy hidden part handlingGravatar Mark Walters2013-06-13
| | | | | | | | | | | | | | | | | | | | | This adds the actual code to do the lazy insertion of hidden parts. We use a memory inefficient but simple method: when we come to insert the part if it is hidden we just store all of the arguments to the part insertion function as a button property. This means when we want to show the part we can just resume where we left off. One thing is that we can't tell if a lazy part will produce text until we try to render it so when unhiding a part we check to see if it rendered; if not we invoke the default part handler (e.g. an external viewer). Also, we would like to insert the lazy part at the start of the line after the part button. But if this line has some text properties (e.g. the colours for a following message header) then the lazy part gets these properties. Thus we start at the end of the part button line, insert a newline, insert the lazy part, and then delete the extra newline at the end of the part.
* emacs: show move addition of :notmuch-part to separate functionGravatar Mark Walters2013-06-13
| | | | | | This separates out the adding of the :notmuch-part text property to a separate function to simplify calling from the lazy part insertion code.
* emacs: show: modify the way hidden state is recorded.Gravatar Mark Walters2013-06-13
| | | | | | | | | | | | | | | | | Previously, whether a part was hidden or shown was recorded in the invisibility/visibility of the part overlay. Since we are going to have lazily rendered parts with no overlay store the hidden/shown state in the part button itself. Additionally, in preparation for the invisible part handling move the actual hiding of the hidden parts to insert-bodypart from create-part-overlays. Finally, we will need to know whether a part-insertion has done anything (it won't if the invisible part cannot be displayed by emacs) so we slightly rejig the code order in notmuch-show-toggle-part-invisibility to make it easier for the function to set an appropriate return value.
* emacs: show: pass button to create-overlaysGravatar Mark Walters2013-06-13
| | | | | Now that the bodypart code has the button we can pass that to create-overlays and simplify that.
* emacs: show: move the insertion of the header button to the top levelGravatar Mark Walters2013-06-13
| | | | | | | | | | | | | | | | | | | Previously each of the part insertion handlers inserted the part button themselves. Move this up into notmuch-show-insert-bodypart. Since a small number of the handlers modify the button (the encryption/signature ones) we need to pass the header button as an argument into the individual part insertion handlers. However, the declared-type argument was only used for the text for the part buttons we can now omit it. The patch is large but mostly simple. The only things of note are that we let the text/plain handler applies notmuch-wash to the whole part including the part button. In particular, notmuch-wash removes leading blank lines from a text/plain part, but since the button is counted as part of the part this does not happen with text/plain buttons that have a button. This is probably a bug in notmuch-wash but changing it does make several tests fail (that rely on this blank line) so, for the moment, keep the old behaviour.