If `browse-url-handlers` is set `mu4e-action-view-in-xwidget` function
tries to open url in the handler first instead of xwidget. This is
happening because `browse-url` first checks `browse-url-handlers` and
`browse-url-browser-function` after.
Signed-off-by: Aleksei Atavin <axeoman@gmail.com>
Previously, the cursor would be moved to the first html attachment which
would break using mu4e keybindings (e.g. delete). With this change, the
cursor isn't moved at all, presumably the expected behavior.
Add lispdir option for installing mu4e in a custom directory, which what
some pre-meson users tended to do with --lispdir.
Passing '-Dlispdir=/tmp/foo/bar' causes the mu4e files to be installed
in /tmp/foo/bar/mu4e.
Should help for issue #2287.
The support for emacs in bookmarks in mu4e-contrib has been broken for a while;
we removed it an now re-implement it as part of mu4e-proper.
Fixes: issue #2255.
All these changes to avoid:
,----
| mu4e/meson.build:92: WARNING: Source item '/home/djcb/Sources/mu/build/mu4e/mu4e-meta.el' cannot be converted to File object, because it is a generated file. This will become a hard error in the future
`----
This is because we want to byte-compile a file we just before generated using
configure_file. This does not seem like a crazy thing, but meson threatens with
breaking the build at some point in the future.
So instead, we decide _not_ to compile this (very boring) file. But, users may
still have an older mu4e-meta.elc lying around, leading to confusion.
So, let's rename that file and we're golden.
Add command ~mu4e-sexp-at-point~ for showing/hiding the s-expression for the
message-at-point. Useful for development / debugging. Bound to ~,~ in headers and
view mode.
`mu4e-view-mode-map` was initialized from a sparse keymap and eventually passed
to `suppress-keymap` in order to remove bindings to `self-insert-command` which
obviously make no sense in read-only buffers. However, `suppress-keymap` also
remaps all digits and the minus sign to make prefix args, i.e., pressing 8
would be equal to `C-u 8` and `-` got bound to `negative-argument` instead of
`mu4e-view-mark-for-unflag` as defined.
While `suppress-keymap` has a `NODIGITS` arg to suppress the rebinding of
digits and minus sign (which would also mean that pressing a digit would try
inserting that digit and lead to an error), I chose the more straight-forward
solution and start from an empty rather than a sparse keymap and added the
`digit-argument` bindings for 0..9 explicitly.
We use to have mu4e--contacts-hash, with name mapping to rank; that was
needlessly complicated since most completion engine sort alphabetically, making
the rank totally irrelevant (in practice, it doesn't matter much from the
end-user pov).
Anyway, simplify that part, maintain a set of contacts without any rank (which
what the server delivers now).
Also update the _default_ mu4e-contact-process-function to filter out anything
with 'reply' since it's not very useful for autocompletion.