summaryrefslogtreecommitdiff
path: root/emacs
AgeCommit message (Collapse)Author
2022-01-26emacs: use cached encoded copy for fccDavid Bremner
This fixes the bug reported by dkg in [1]. The movement of the call to n-m-setup-message-for-saving is so the cleanup of Fcc headers happens in the encoded version (otherwise Fcc headers may be saved to disk). [1]: id:87k1zm225v.fsf@fifthhorseman.net
2022-01-23emacs: customizable names for search buffersjao
Customizable names for buffers presenting search results, via two custom variables (notmuch-search-buffer-name-format and notmuch-saved-search-buffer-name-format), defaulting to values currently used for plain searches and including too tree and unthreaded search buffers. Amended by db: spelling fix.
2022-01-23emacs: define, use option :disable-excludes for n-h-query-countsDavid Bremner
Initially only use in notmuch-hello-insert-alltags. This is a more narrow resolution of [1], which (unlike [2]) does not disable exclude processing for regular saved searches. [1]: id:87wox1vovj.fsf@len.workgroup [2]: id:20220105010606.2034601-2-david@tethera.net
2022-01-23Revert "emacs: use --exclude=false when checking for empty searches"David Bremner
Revert commit 8370e3cfe2dd8a79323613c2bbf2f11db6134dac, and remark the corresponding test as broken. Also update the expected output of the broken test to show excludes active in the user defined saved searches.
2022-01-20emacs: use --exclude=false when counting total messagesDavid Bremner
Even if a user excludes a large fraction of their messages, they still nonetheless exist and are searchable.
2022-01-20emacs: use --exclude=false when checking for empty searchesDavid Bremner
In particular tags that only occur on otherwise excluded messages do not show up in "All tags" without this change. The reported numbers _do_ take excludes into account, so it is possible that searches (e.g. the aformentioned tags) will show up with a count of zero.
2022-01-14emacs/notmuch-tag.el: add xmlns attribute to svg iconsLdBeth
emacs-mac that compiled with OS X system API for image display support cannot correctly render svg without xmlns parameter [1]. [1]: id:tencent_127AA231767438AC66FEE4DDB4BBF51DF909@qq.com
2022-01-10emacs: make header line in notmuch-show buffers optionaljao
New notmuch-show-header-line customizable boolean to allow inhibiting a header line in notmuch-show-mode buffers (for instance, because one prefers to just include Subject in notmuch-message-headers).
2021-12-29emacs: update coolj-line-prefix-regexp to make space optionalDavid Bremner
Jani reported that lines prefixed with '>' (as opposed to '> ') are not highlighted properly [1]. David E responded with a updated regex [2]. This change implements David E's suggestion. [1]: id:87a8b5pcky.fsf@nikula.org [2]: id:m2pok1e3gv.fsf@dme.org
2021-12-23emacs: add notmuch-logo.svg and use it in emacs mua on graphic displaysTomi Ollila
emacs/notmuch-logo.svg is handcrafted scalable vector graphics version of the notmuch logo. Emacs on graphic displays render this image four times in size compared to the emacs/notmuch-logo.png, and the image is much sharper. The rendered image size, 100x100 pixels, fits reasonably well with text shown in various font sizes. Scaling the image -- if desired -- may come in the future. For now this is improvement on how the logo looked in notmuch-hello window.
2021-12-12emacs/tree: fix docstrings for author facesKyle Meyer
The docstrings for notmuch-tree-match-author-face and notmuch-tree-no-match-author-face incorrectly match the docstring of notmuch-tree-match-date-face.
2021-12-04emacs: don't add space to tag completion candidates.David Bremner
Apparently this messes up various third party completion frameworks. This change does mean that users will have to hit space after completing a tag change in order to enter another change. As a bonus, remove the call to #'delete, since completing-read-multiple already promises to remove empty strings.
2021-12-04emacs: run notmuch-search-hook lazilyDavid Bremner
In message id:YT3ueuZHKW931NW3@localhost, Fabio Natali isolated a visual glitch caused by running notmuch-search-hook too early. This change moves the running of that hook to notmuch-search-process-filter, which ensures there is some output in the buffer before running the hook. Since n-s-p-f can be called many times for a given buffer, add a buffer local flag to make sure it is only run once per buffer.
2021-12-03emacs: drop C-tab binding in hello mode, document <backtab>.David Bremner
The <backtab> binding has always been there, but the docs were apparently mistakenly changed to say <backspace> [1] Revert to <backtab> in the documentation. The commit also drops the C-<tab> binding, since it seems redundant and it interferes with tab-bar-mode. [1]: 703dec7754da477b5683867c88cb940b8553be91.
2021-10-30emacs: improve notmuch-*-from-current-query docstringsDavid Bremner
Err on the side of providing better user documentation, rather than documentation for developers.
2021-10-30emacs: add minimal docstring for notmuch-unthreadedDavid Bremner
The missing docstring causes a blank in the notmuch-help display [1]. Since the function is a simple wrapper for notmuch-tree, it seems fair to forward the reader there for more detailed information. [1]: id:878sape5a9.fsf@disroot.org
2021-10-19emacs: fix call to nonexistent notmuch--call-process-shell-commandDoug Woos
Looks like a find/replace error in e722b4f4
2021-09-20emacs: notmuch-tree: customizable strings for drawing treesjao
New customizable variable, notmuch-tree-thread-symbols, that allows tweaking of how trees in a forest are represented. For instance, one can now choose to use an hyphen rather than a white space as a prefix, or replace the character(s) used to draw arrows. Amended-By: db; delete errant '3'
2021-09-11emacs: wrap call-processDavid Bremner
Provide safe working directory
2021-09-11emacs: wrap make-processDavid Bremner
Provide a safe working directory.
2021-09-11emacs: wrap call-process-regionDavid Bremner
As with notmuch--process-lines, initial purpose is to provide a safe binding for default-directory. This is enough to make notmuch-hello robust against non-existent or corrupt values default-directory, but probably not other views.
2021-09-11emacs: wrap process-linesDavid Bremner
Initially just set the working directory, to avoid (the implicit) call-process crashing when the default-directory points to a non-existent location. Use of a macro here is over-engineering for this change, but the same change needs to be applied to several other process creation primitives.
2021-09-08emacs: Allow functions in notmuch-{tree,unthreaded}-result-formatDavid Edmondson
If the car of an element in notmuch-tree-result-format or notmuch-unthreaded-result-format is a function, insert the result of calling the function into the buffer.
2021-09-08emacs: Allow functions in notmuch-search-result-formatDavid Edmondson
If the car of an element in notmuch-search-result-format is a function, insert the result of calling the function into the buffer. This allows a user to generate custom fields in the output of a search result. For example, with: (defun -notmuch-result-flags (format-string result) (let ((tags-to-letters '(("flagged" . "!") ("unread" . "u") ("mine" . "m") ("sent" . "s") ("replied" . "r"))) (tags (plist-get result :tags))) (format format-string (mapconcat (lambda (t2l) (if (member (car t2l) tags) (cdr t2l) " ")) tags-to-letters "")))) (setq notmuch-search-result-format '((-notmuch-result-flags . "%s ") ("date" . "%12s ") ("count" . "%9s ") ("authors" . "%-30s ") ("subject" . "%s ") ("tags" . "(%s)"))) The first few characters on each line of the search result are used to show information about some significant tags associated with the thread.
2021-09-08emacs: Use pcase in notmuch-search-insert-fieldDavid Edmondson
Rather than lots of string-equal calls, use the pcase macro.
2021-09-08emacs: notmuch-fcc-header-setup: fix regressionJonas Bernoulli
With [1: 16b2db09] we lost the (undocumented) option to use no Fcc header only for From addresses matching a regexp. This brings back that feature and documents it. 1: 2021-01-15 16b2db0986ce0ed7c420a69d0a98bb41e9ca4bd8 emacs: various cosmetic improvements
2021-08-30emacs: don't inline message/rfc822 parts without contentDavid Bremner
This avoids some ugly error messages and exceptions, and hopes that some gnus method will display message/rfc822 parts that have only a file, no :content part.
2021-08-29emacs: shorten lines in two doc-stringsJonas Bernoulli
The byte-compiler wasn't happy about those.
2021-08-29emacs: notmuch-show-pipe-message: cosmeticsJonas Bernoulli
2021-08-29emacs: fix some option type declarationsJonas Bernoulli
Also improve their doc-strings.
2021-08-29emacs: add some function declarationsJonas Bernoulli
2021-08-29emacs: use closures instead of backquoted lambdasJonas Bernoulli
2021-08-22emacs/rstdoc: escape '*'David Bremner
This is just a regular character in docstrings (as it is fairly often used in lisp identifiers and buffer names) but is the start of emphasis in rst. This change is needed to quell a noisy warning when including notmuch-tree.rsti
2021-08-22CLI: define and use format version 5David Bremner
This is a bit of a cheat, since the format does not actually change. On the other hand it is fairly common to do something like this to shared libary SONAMEs when the ABI changes in some subtle way. It does rely on the format-version argument being early enough on the command line to generate a sensible error message.
2021-08-21emacs: new command notmuch-tree-filter-by-tagjao
This new command for notmuch-tree-mode is analogous to notmuch-search-filter-by-tag, bound to "t" in notmuch-search-mode; it gets therefore the same "t" keybinding in notmuch-tree-mode (replacing the current assignment to notmuch-search-by-tag).
2021-08-21emacs: new command notmuch-tree-filterjao
This command is analogous to notmuch-filter, but is defined on tree mode buffers.
2021-08-05emacs: Refine scope of notmuch-jump-key faceProtesilaos Stavrou
The intent of the 'notmuch-jump-key' face is to allow users/themes to differentiate the text of the minibuffer prompt from the keys that are associated with jump actions. Commit 5cc106b0 correctly introduced the 'notmuch-jump-key' face for keys, but mistakenly applied it to the prompt as well.
2021-08-03emacs: honour notmuch-show-text/html-blocked-images in w3m messagesjao
When mm-text-html-renderer is set to 'w3m, the variable playing the role of a regular expression for blocked images is w3m-ignored-image-url-regexp. We bind it when the renderer is not 'shr.
2021-07-25emacs: notmuch-tree: mark the initial message at point as readJonas Bernoulli
When moving between message in a tree or show buffer, the message at point is marked as read. Likewise when creating such a buffer, then the message that is initially at point is supposed to be marked as read as well. The latter worked for `notmuch-show' but not for `notmuch-tree'. Press "RET" or "M-RET" in a search buffer to observe these behaviors. In both cases the marking is supposed to be done by the function `notmuch-show-command-hook'. In the case of `notmuch-show' that function is added directly to `post-command-hook'. `notmuch-tree' instead adds the function `notmuch-tree-command-hook' to `post-command-hook' and that calls `notmuch-show-command-hook', in the respective show buffer, but of course only if that exists. Because the tree buffer is created asynchronously, the show buffer doesn't exist yet by the time the `post-command-hook' is run, so we have to explicitly run `notmuch-tree-command-hook' once the show buffer exists. The show buffer is created when `notmuch-tree-goto-and-insert-msg' calls `notmuch-tree-show-message-in'. `notmuch-tree-process-filter' is what finally brings us here.
2021-07-19emacs: remove useless lexically bound variableDavid Bremner
A let binding without a value is just an obfuscated way of saying nil, especially if you are not going to mutate the variable.
2021-07-13emacs: update declaration of notmuch-treeDavid Bremner
This fixes an a warning from the byte-compiler. The commit 74ab62a34018b38a40db4d363fff3faae964b47a changed the function signature but did not update the declaration.
2021-07-06emacs: fix typo in variable nameDavid Bremner
This error crept in during my style rewrite of dkg's proposed change.
2021-07-03emacs/tree: command to toggle search sort order in tree modejao
New command notmuch-tree-toggle-order for switching the sort order (by reissuing the search with a different flag) in a notmuch-tree buffer.
2021-07-03emacs/hello: honouring :sort-order in threaded queriesjao
Now that notmuch show accepts --sort, we can, on the emacs side, use it according to the value of :sort-order in the definition of saved queries.
2021-06-27emacs/tree use notmuch-show-single-messageDavid Bremner
This is more efficient than notmuch-show-only-matching-messages, since we do not parse the potentially large thread structure to find a single message. This is only a partial fix for notmuch-tree view, because displaying the thread structure in the tree-mode window still crashes on long threads. It is however enough to make unthreaded view handle long threads.
2021-06-27emacs/show: add parameter notmuch-show-single-messageDavid Bremner
This dynamically bound variable can be set when the caller of notmuch-show guarantees that exactly one message will match the query. It avoids transporting and parsing the complete thread structure.
2021-06-27emacs: remap send-message and send-message-and-exitedef
All three of C-c C-c, <menu-bar> <Message> <Send Message>, and <tool-bar> <Send Message> are bound to message-send-and-exit by message.el, but notmuch-mua.el only had an explicit override for the keyboard binding. This mostly manifests as confusing Fcc behaviour for GUI users. Patching the bindings for specific keys is rather brittle, since it has to be aware of every relevant binding. This change switches to instead using a remap binding, which turns any binding for message-send or message-send-and-exit into a binding for the corresponding notmuch-mua command.
2021-06-27emacs: use new face for notmuch-jump and relatedProtesilaos Stavrou
The minibuffer-prompt face that was used before made it impossible to differentiate between two distinct UI elements: (i) the prompt's text which itself cannot be acted upon, (ii) the actionable keys used to jump to searches/tags. The use of a named face, notmuch-jump-key, makes it possible for users or theme developers to apply properties that are specific to each of those two cases. In the interest of backward compatibility, the new face inherits from minibuffer-prompt.
2021-06-26emacs: Prefer email address over User ID when showing valid signatureDaniel Kahn Gillmor
Most concrete verification steps are likely only taken on the e-mail address in the first place, and e-mail addresses render more intelligibly than arbitrary User IDs in the first place. Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net> Amended-by: db, apply dme restructuring suggestions.
2021-06-24emacs: Add compatibility for org-msg.elOri
Enable `notmuch-company` with `org-msg`, which does not derive from `message-mode` in composing. This change was first proposed in the discussion here: https://github.com/jeremy-compostella/org-msg/issues/53