This is a new composer sub-system, which more closely follows
Gnus/message; in particular, we let gnus take care of creating draft
messages.
This reduces code size and allows us to re-use some of the more advanced
features.
There are a number of user-visible changes:
- `mu4e-compose-resend' directly uses `message-resend', so there is no
more editing phase (which used to be a bit broken with re-encoding
MIME messages.
We were using dates (in documentation, (c) notices etc) based on the
build-date; that makes it hard to do reproducible builds, so specify a
specific date in the top-level meson file, and use that throughout.
This triggered what I think is a bug/limitation in emacs; move the
source files to the build dir _after_ byte-compiling so we don't need
load-prefer-newer to avoid build warnings.
Fixes#2565.
This reverts commit 11b7e5748c.
The change has some unpleasant side-effect (switching to the headers
buffer from whatever you are doing); needs some more thought.
- get an updated maildir list after indexing
- add mu4e-added items to the list opportunistically
Remove mu4e-clear-caches / mu4e-cache-maildir-list to mu4e-obsolete.el
Fixes#2537.
Remove mu4e-main-quit-or-bury and simply update mu4e-quit
to take a prefix which, if non-nil, make mu4e-quit
bury the buffer rather than quite mu4e.
Also make the mu4e check for an existing mu4e buffer, and if found,
switch to it rather start mu4e.
Add a new configuration variable mu4e-mu-allow-temp-file, t by default,
which triggers the same optimization in the mu server.
It improves message rendering speed:
I.e. without:
[mu4e] Found 500 matching messages; 0 hidden; search: 1298.0 ms (2.60 ms/msg); render: 642.1 ms (1.28 ms/msg)
with:
[mu4e] Found 500 matching messages; 0 hidden; search: 1152.7 ms (2.31 ms/msg); render: 270.1 ms (0.54 ms/msg)
As a useful side-effect, this also:
Fixes#1802.
Split off the MIME-handling from mu4e-view.el into its own
mu4e-mime-parts.el
Improve the implementation, updating completions with annotations.
Support "Pick all" for completing attachments and MIME-types.
Both attachment/inline disposition MIME-type with a file name are
considered "attachment" now.
Allow MIME-part actions to target multiple MIME-parts.
In single-window mode, after quitting the view, explicitly restore the
point in the headers view to the last viewed message (just like in split
view mode).
I occasionally find myself pressing escape to exit a menu choice in mu4e
and it's a bit unfortunate that nothing happens. As best I could tell,
since this is a C call, none of the keymaps are checked for
`(keyboard-quit)' so we need to explicitly check for ESC here
This was previously fixed in 02b5bc805c
but was inadvertently removed in
0354fa4fac, so more detail was added to
the comment.
* mu4e/mu4e-contacts.el (mu4e-personal-address-p): Fix docstring
error (return nil *only if* the address does not match any of the
personal addresses, not the other way around). Unwrap
unnecessary (if COND t nil) to just COND because its caller
`seq-find' only distinguishes between nil and non-nil.
(mu4e-personal-address): Add space in defun between name and args.
Ensure double space after a sentence ends. Convert a duplicated
call of (mu4e-server-properties) into using when-let and reusing
its result.
* mu4e/mu4e-headers.el (defcustom mu4e-header-actions): Convert
from defvar. Add action for browsing online archive.
* mu4e/mu4e-view.el (defcustom mu4e-view-actions): Change use of
`seq-filter' to `delq'. Add action for browsing online archive.
* mu4e/mu4e-lists.el (defgroup mu4e-lists): New group.
* mu4e/mu4e-list-archives.el: New file.
(defgroup mu4e-list-archives): New group.
(defcustom mu4e-list-archives-user-actions): New customizable
variable for locating online archive.
(mu4e-list-archives--get-recipients): New helper function for
getting all recipients of a mail.
(mu4e-list-archives-resolve-debbug): New function for resolving
archive url on debbug systems.
(mu4e-list-archives--resolve-namazu): New helper function for
resolving real archive url from namazu search page.
(defcustom mu4e-list-archives-resolve-namazu-search): New
customizable variable for disabling namazu resolution because it
incurs a url fetch.
(mu4e-list-archives-resolve-mailman-namazu): New function for
getting the namazu search url for mailman systems. This is as
close as possible without fetching any url.
(defconst mu4e-list-archives-actions): New constant for builtin
supported mailing lists.
(mu4e-list-archives-resolve): New function to resolve the concrete
url to the mailing list archive.
* mu4e/mu4e-actions.el (mu4e-actions-browse-list-archive): New
command for browsing the online archive of a mailing list.
(mu4e-actions-kill-list-archive): New command for putting the url
to the online archive of a mailing list onto the kill ring.
Remove some obsolete mailing lists form the "built-in" ones.
Make the mailing list blob plists, so we can more easily add new ones.
Update the handler functions for this.