aboutsummaryrefslogtreecommitdiffhomepage
path: root/emacs
Commit message (Collapse)AuthorAge
* 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.
* 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.
* 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.
* 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.
* 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"
* 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
|
* emacs: Add a face for crypto parts headersGravatar Thomas Jost2011-12-15
| | | | | | Commit cb841878 introduced new parts handlers for crypto parts, but also hardcoded values for their headers face. This replaces these hardcoded values with a customizable face.
* emacs: support "notmuch new" as a notmuch-poll-scriptGravatar Jani Nikula2011-12-15
| | | | | | | | | | | Support nil value for notmuch-poll-script to run "notmuch new" instead of an external script, and make this the new default. "notmuch new" is run using the configured notmuch-command. This allows taking better advantage of the "notmuch new" hooks from emacs without intermediate scripts. Signed-off-by: Jani Nikula <jani@nikula.org>
* emacs: do not call notmuch show for non-inlinable partsGravatar Dmitry Kurochkin2011-12-07
| | | | | | | | | | | | | | Before the change, there was a workaround to avoid notmuch show calls for parts with application/* Content-Type. But non-inlinable parts are not limited to this Content-Type (e.g. mp3 files have audio/mpeg Content-Type and are not inlinable). For such parts `notmuch-show-insert-part-*/*' handler is called which unconditionally fetches contents for all parts. The patch moves content fetching from `notmuch-show-insert-part-*/*' to `notmuch-show-mm-display-part-inline' function after MIME inlinable checks are done to avoid useless notmuch show calls. The application/* hack is no longer needed and removed.
* emacs: remove unused variable in `notmuch-show-insert-part-message/rfc822'Gravatar Dmitry Kurochkin2011-12-07
| | | | | An obvious cleanup. I wonder why there was no warning about this during compilation.
* emacs: remove some code duplication in notmuch-showGravatar Dmitry Kurochkin2011-12-07
| | | | | | Add optional props argument to `notmuch-show-get-header'. Use it to get headers in `notmuch-show-insert-part-multipart/signed' and `notmuch-show-insert-part-multipart/encrypted'.
* emacs: Use notmuch-command variable in process-lines.Gravatar Chris Gray2011-11-30
| | | | | | | The process-lines function calls the notmuch binary. The location of the binary may have been customized by the user, so it is better to use the customized location rather than allowing the process-lines function to search the user's PATH for the binary.
* emacs: make message indentation width customisableGravatar Gregor Zattler2011-11-25
| | | | | | | | | | | Till now Emacs UI indents messages according to their respecive depth of neting in the thread. The actual width of indentation per level is hardcoded to `1' space. This patch makes message indentation customisable by introducing a variable `notmuch-indent-messages-width' which defaults to `1', which is the same as before. Felix could set this variable to `0' in order to disable indentation, I tested it with a value of `4' for a clearer separation of messages in a thread.
* emacs: Avoid unnecessary markers.Gravatar Austin Clements2011-11-24
| | | | | This is just cleanup. These markers are all immediately resolved to points by Emacs, so using markers here is just unncessary overhead.
* emacs: Don't record undo information for search or show buffers.Gravatar Austin Clements2011-11-24
| | | | | | There's no reason to record undo information for read-only, programmatically-constructed buffers. The undo list just chews up memory keeping track of our calls to insert.
* emacs: Make saving new saved searches append, not prependGravatar Jani Nikula2011-11-22
| | | | | | | Append new saved searches at the end of saved searches rather than insert in front. Signed-off-by: Jani Nikula <jani@nikula.org>
* emacs: Add new customization option to sort saved searchesGravatar Jani Nikula2011-11-22
| | | | | | | | | | | Add new customization option notmuch-saved-search-sort-function to sort saved searches in user-defined order. Provide a sort function to sort the saved searches in alphabetical order. Setting the search function to nil causes the saved searches not to be sorted, as before. This also remains the default. The function only affects display of the saved searches, not the order in which they are stored by custom. Signed-off-by: Jani Nikula <jani@nikula.org>
* emacs: breakout notmuch-show-advance functionality from ↵Gravatar Jameson Graef Rollins2011-11-20
| | | | | | | | | | | | | | | | | | | | notmuch-show-advance-and-archive This patch breaks out much of the functionality of notmuch-show-advance-and-archive into a new function: notmuch-show-advance. This new function does all the advancing through a show buffer that notmuch-show-advance-and-archive did, without all the invasive thread archiving. The return value of notmuch-show-advance is nil if the bottom of the thread is not reached, and t if it is. notmuch-show-advance-and-archive is modified to just call notmuch-show-advance, and then call notmuch-show-archive-thread if the return value is true. In this way the previous functionality of notmuch-show-advance-and-archive is preserved. This provides a way for people to rebind the space bar to a more sane function if they don't like the default behavior.
* emacs: add notmuch-show-worker function for specifying crypto processing ↵Gravatar Jameson Graef Rollins2011-11-13
| | | | | | | | | | | directly The main reason to introduce this new unexposed function is to allow the buffer redisplay crypto switch to behaving in a more expected way. The prefix to notmuch-show-redisplay buffer now switches the crypto processing of the current show buffer, as opposed to switching the logic of the notmuch-crypto-process-mime customization variable. This behavior is more intuitive.
* emacs: add documentation for notmuch-show crypto-switch optionGravatar Jameson Graef Rollins2011-11-13
|
* emacs: update notmuch-crypto-process-mime config variable documentation.Gravatar Jameson Graef Rollins2011-11-12
| | | | | This mentions the fact that prefix arguments are now used to enable to crypto switch.
* emacs: Unbind M-RET as display of thread with crypto switch.Gravatar Jameson Graef Rollins2011-11-12
| | | | Use prefix argument instead to set switch.
* emacs: add keybind and function to stash Message-ID without prefixGravatar Pieter Praet2011-11-12
| | | | | | | | | | | Add function `notmuch-show-stash-message-id-stripped' which stashes a Message-ID after ripping off the prefix and quotes, add bind it to "I" key in `notmuch-show-stash-map'. Simplifying `notmuch-show-get-message-id' instead might seem better, but that would require concat'ing in 9 places instead of 1. Signed-off-by: Pieter Praet <pieter@praet.org>
* emacs: add invisible space after the search widget field in notmuch-helloGravatar Dmitry Kurochkin2011-11-12
| | | | | | | | | It is very convenient when C-e (bound to `widget-end-of-line') ignores trailing spaces inside the search widget. But it only does so if a widget is not followed by a newline (that is why it works in the saved search widgets). The patch just adds an invisible space after the search widget to get the desirable behavior of `widget-end-of-line'. The extra space is also added to expected results of emacs tests.
* emacs: Use a single buffer invisibility spec to fix quadratic search cost.Gravatar Austin Clements2011-11-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | Buffer redisplay requires traversing the buffer's invisibility spec for every part of the display that has an 'invisible text or overlay property. Previously, the search buffer's invisibility spec list contained roughly one entry for each search result. As a result, redisplay took O(NM) time where N is the number of visible lines and M is the total number of results. On a slow computer, this is enough to make even buffer motion noticeably slow. Worse, during a search operation, redisplay is triggered for each search result (even if there are no visible buffer changes), so search was quadratic (O(NM^2)) in the number of search results. This change switches to using a single element buffer invisibility spec. To un-hide authors, instead of removing an entry from the invisibility spec, it simply removes the invisibility overlay from those authors. I tested using a query with 6633 results on a 9 year old machine. Before this patch, Emacs took 70 seconds to fill the search buffer; toward the end of the search, Emacs consumed 10-20x as much CPU as notmuch; and moving point in the buffer took about a second. With this patch, the same query takes 40 seconds, Emacs consumes ~3x the CPU of notmuch by the end, and there's no noticeable lag to moving point. (There's still some source of non-linearity, because Emacs and notmuch consume roughly the same amount of CPU early in the search.)
* Do not query on notmuch-search exitGravatar Michal Sojka2011-11-08
| | | | | | Emacs 23.2 queries by default about killing existing processes. This is annoying when one wants to interrupt long search with 'q' key. Disable this behavior for notmuch.
* emacs: remove unused `point-invisible-p' functionGravatar Dmitry Kurochkin2011-11-07
| | | | | | `point-invisible-p' does not work correctly when `invisible' property is a list. There are standard `invisible-p' and related functions that should be used instead.
* emacs: remove no longer used functions from notmuch-show.elGravatar Dmitry Kurochkin2011-11-07
| | | | | | Remove `notmuch-show-move-past-invisible-backward' and `notmuch-show-move-past-invisible-forward' functions which are unused.
* emacs: improve hidden signatures handling in notmuch-show-advance-and-archiveGravatar Dmitry Kurochkin2011-11-07
| | | | | | | Use `previous-single-char-property-change' instead of going through each character by hand and testing it's visibility. This fixes `notmuch-show-advance-and-archive' to work for the last message in thread with hidden signature.
* emacs: Tab completion for notmuch-search and notmuch-search-filterGravatar Daniel Schoepe2011-11-02
| | | | | This patch adds completion with <tab> in the minibuffer for notmuch-search and notmuch-search-filter.
* emacs: Turn id:"<message-id>" elements into buttons for notmuch searchesGravatar Daniel Schoepe2011-10-28
| | | | | This fixes the minor annoyance that message ids were parsed as mail addresses by goto-address-mode in notmuch-show buffers.
* Separate Emacs misc. files dir. from Emacs code dir.Gravatar Amadeusz Żołnowski2011-10-28
| | | | | New option --emacsetcdir was added, but it's set default to the same value as --emacslispdir for backward compatibility.
* emacs: add notmuch-show-refresh-view functionGravatar Jameson Graef Rollins2011-10-06
| | | | | | | | | This function, like the equivalent for notmuch-search, just refreshes the current show view. Like in notmuch-search, this new function is bound to "=". If a prefix is given then the redisplay happens with the crypto-switch set, which displays the thread with the opposite logic of whatever is set in the notmuch-crypto-process-mime customization variable.
* emacs: Add callback functions to crypto sigstatus button.Gravatar Jameson Graef Rollins2011-10-06
| | | | | | | | | | This adds two callback functions to the sigstatus button. If the sig status is "good", then clicking the button displays the output of "gpg --list-keys" on the key fingerprint. If the sigstatus is "bad", then clicking the button will retrieve the key from the keyserver, and redisplay the current buffer. Thanks to David Bremner <bremner@unb.ca> for help with this.
* emacs: Improve support for message/rfc822 parts.Gravatar Jameson Graef Rollins2011-09-05
| | | | | | | The insert-part-message/rfc822 function is overhauled to properly processes the new formatting of message/rfc822 parts. The json output for message parts now includes "headers" and "body" fields, which are now parsed and output appropriately.
* fix checking whether header is member of message-hidden-headersGravatar Tomi Ollila2011-08-25
| | | | | | | | Emacs lisp function 'member' takes element and list as an argument. I.e. the second argument is list, not symbol referencing the list. On emacs 23.x the member call always returned nil (thus buggy), on emacs 22.x the call failed, making it unusable.
* emacs: Fix to unconditionally display subject changes in collapsed thread viewGravatar Carl Worth2011-07-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The feature to show subject changes in the collapsed thread view was originally added (8ab433607) with an option (notmuch-show-always-show-subject) to display the subject for all messages, even when there was no change. The subsequent commit (4f04d273) changed the sense of the test (or to and) and the name of the controlling variable (notmuch-show-elide-same-subject). But this commit is broken in a few ways: 1. The original definition of notmuch-show-always-show-subject was left around But the variable isn't actually used in the code at all, so it just adds clutter and confusion to the customization interface. 2. The name and description of the controlling variable doesn't match the implementation The name suggests that setting the variable to t will cause repeated subjects to be elided, (suggesting that when it is nil all subjects will be shown). However, when the variable is nil, no subjects are shown. So a correct name for the variable in this sense would be notmuch-show-subject-changes. Showing subject changes is a useful feature, and should be on by default. (We don't want to bury generally useful features behind customizations that users have to find). Rather than fixing the name of the variable and changing its default value, here we remove the condition entirely, such that the feature is enabled unconditionally. So both the currently-used variable and the stale definition of the formerly-used are removed. Also, the one relevant test-suite result is updated, (showing the intial subject of a collapsed thread, and no subject display for later messages that do not change the subject).
* Makefile: Make emacs compilation depend on global dependencies.Gravatar Carl Worth2011-06-28
| | | | | | | | We call these "global_deps" for a reason, after all! Without this, emacs compilation would proceed even if the configure script failed, (such as for a missing dependency). That's undesirable as it can cause the helpful error messages from the configure failure to scroll away.
* fix sum moar typos [error messages]Gravatar Pieter Praet2011-06-23
| | | | | | | | Various typo fixes in error messages within the source code. Signed-off-by: Pieter Praet <pieter@praet.org> Edited-by: Carl Worth <cworth@cworth.org> Restricted to just error messages.
* fix sum moar typos [user-visible documentation in code]Gravatar Pieter Praet2011-06-23
| | | | | | | | | | | | Various typo fixes in documentation within the code that can be made available to the user, (emacs function help strings, "notmuch help" output, notmuch man page, etc.). Signed-off-by: Pieter Praet <pieter@praet.org> Edited-by: Carl Worth <cworth@cworth.org> Restricted to just documentation and fixed fix of "comman" to "common" rather than "command".