Commit Graph

238 Commits

Author SHA1 Message Date
Jonas Bernoulli 83f0c9cea9 mu4e: Remove excess semicolons from library headers
Placing two semicolons on an otherwise empty line helps to logically
"connect" the surrounding "paragraphs", which in (only) some cases
makes sense.

Previously the three paragraphs of the permission statement were not
connected to each other like this, which is perfectly fine.  However
the preceding "This file is not part of GNU Emacs." line was connected
to the first paragraph, which does not make sense considering that the
latter is not connected two the second paragraph, which it relates to
more.

Once those two semicolons are gone, it also makes sense to remove
those from the second line.
2020-02-18 23:49:50 +02:00
Jonas Bernoulli 6d581c4ca0 mu4e~view-define-mode: Place doc-string in correct position 2020-02-17 14:28:00 +01:00
Jonas Bernoulli 9f26819efb mu4e: Demote a few broken commands to functions
It would was not possible to interactively invoke these functions
because their `interactive' form does not provide all the mandatory
arguments.
2020-02-17 14:28:00 +01:00
Jonas Bernoulli 6790c0d015 mu4e: Fix indentation 2020-02-17 14:28:00 +01:00
Dirk-Jan C. Binnema e1e26d1da2 mu4e: update to use server maildir/database/addresses
Mkae mu4e-maildir and mu4e-personal-addresses obsolete, we get those
from the server.
2020-02-09 00:15:49 +02:00
Christophe Troestler 8e3f7ba64a Load gnus-art when compiling
Commit edce635416 only loads it
dynamically when executing the function mu4e~view-gnus but as a
consequence many variables are undefined at compile time and, more
importantly, it is no longer possible to override the variable
gnus-display-mime-function with a let binding before calling
gnus-article-prepare-display
2020-01-27 15:24:39 +01:00
Thierry Volpiatto edce635416
Avoid loading all gnus package
when not necessary.

* mu4e/mu4e-view.el (mu4e~view-gnus): Require gnus-art here instead on
top of file.
2020-01-21 09:49:40 +01:00
Pedro Ribeiro Mendes Júnior 7b5195da89 mu4e: define mu4e-view-actions with defcustom instead of defvar
It allows the customization directly from Emacs Custom mode.  It is
done in a similar way as for `mu4e-view-attachment-actions'.
2019-12-31 13:20:15 -03:00
Jonas Bernoulli f31d1b065d Fix typos 2019-11-06 16:13:39 +01:00
Dirk-Jan C. Binnema 3a8ceeea92 mu4e: disable K bindings in view
We don't support the K- bindings in the gnus-view, so let's avoid the
error.
2019-10-14 20:39:23 +03:00
Dirk-Jan C. Binnema 581785abe9 mu4e: view: disable some bindings for the gnus-based view
Disable some of the key-binding that don't quite work for the gnus-based
view. We'll probably want a gnus-view specific set of bindings, but at
least for now avoid the errors.
2019-09-16 22:02:16 +03:00
Thierry Volpiatto 9ddd035a1e
Completely use cl-lib and lexical-binding
Previously both cl-lib.el and cl.el were used, now use only cl-lib.el.
Use lexical-binding where needed instead of requiring cl just for
`lexical-let`.
Replace some add-to-list with cl-pushnew as add-to-list is not
recommended in lisp program and anyway doesn't work properly with
lexical binding.
2019-09-14 12:39:51 +02:00
Christophe Troestler 121bb00278 mu4e (ical): Make sure all user emails known to mu4e are used for ical events 2019-07-13 14:07:10 +02:00
Christophe Troestler 1078fee2c5 mu4e (ical): Allow to reply to icalendar invitations
Fixes https://github.com/djcb/mu/issues/994
2019-07-13 14:07:03 +02:00
djcb a2c27c0c5a mu4e: construct attach map even when not showing header
This is a bit of hack, but solves the problem; even when not _showing_
the attachments-header, construct the corresponding map, so the
keybindings work.
2019-04-27 08:38:53 +03:00
Dirk-Jan C. Binnema d979efb9c5
Merge pull request #1374 from Chris00/prepare-display
mu4e: Increase `max-specpdl-size' when decoding messages
2019-04-27 08:21:10 +03:00
Pierre Neidhardt bbc055d75a mu4e: Implement mu4e-*-mark-or-move-to-trash (e.g. for Gmail) 2019-03-04 15:46:54 +01:00
djcb 31f73b32a7 mu4e: make mu4e~view-message buffer-local
So we don't leak it outside mu4e. `mu4e-message-at-point` should do the
right thing.
2019-02-25 21:49:41 +02:00
Christophe Troestler 4e7c2cd24f mu4e: properly display messages in the draft folder (with gnus) 2019-02-10 13:43:55 +01:00
Christophe Troestler 4b868e742f mu4e: Remove article-de-*-unreadable which prevent decoding 2019-02-10 13:10:44 +01:00
Christophe Troestler d9066d869a Increase `max-specpdl-size' when decoding messages
Some messages (e.g. Outlook automatic replies) need a greater value
than the default one of `max-specpdl-size' to be displayed properly.
2019-02-02 15:47:22 +01:00
djcb 156c421113 mu4e: fix some gnus body decoding issues
Hat-tip: Chris00
2019-02-02 13:44:49 +02:00
Alex Branham 2674ca5583
mu4e: Replace cl with cl-lib 2019-01-04 16:03:58 -06:00
djcb ff4280d687 mu4e-view: some flycheck warning fixes 2018-12-01 12:55:44 +02:00
djcb fa73d6fd8e mu4e-view: use permanent-local, activate mu4e-view later
Mark some variables as use permanent-local so they'll survive a
major-mode change. Activate mu4e-view later, so hooks have some more
material to work with.
2018-12-01 12:55:44 +02:00
Oleh Krehel 6a8bbbd55f mu4e/mu4e-view.el (mu4e-view-open-attachment): Ensure attachments are set
Before this change, I would press "o" and `mu4e~view-attach-map' would
be nil. Now it works as expected.
2018-11-18 16:22:39 +01:00
djcb 700e5e76da mu4e-view: switch mode before filling message
That way, the attachment map etc. stay valid.
2018-11-07 21:24:02 +02:00
djcb 7dcb9087c2 mu4e: enable mu4e-view *before* internal processing
So, user gets a pristine message, and hashes etc. are still valid (since
they don't survive mu4e-view-mode)
2018-11-05 18:39:56 +02:00
djcb d5a4ba06ce mu4e: switch to mu4e-view later (internal)
When using 'internal' mode, activate mu4e-view-mode only after the
buffer has been set up, so hooks have some more interesting material to
work with.
2018-11-04 12:31:32 +02:00
djcb f8a5daa666 gnus: handle more non-ascii
Fix character decoding issues for some (but not all) messages. This to
Chris00 for this work on this!
2018-09-02 16:43:06 +03:00
djcb 1d0b24afcf mu4e: activate mode before getting attachments/links
So the relevant hash-maps are valid (they would be nillified by changing
the mode otherwise).
2018-08-16 22:48:20 +03:00
djcb abf02000ec mu4e: clean up mu4e~view-internal a bit 2018-08-14 22:20:32 +03:00
djcb 82e7d7c65d mu: better handle updating mail being viewed
instead of the the 'noupdate', add 'noview', so the headers still get
update but we don't render unread mail twice.
2018-08-14 21:59:41 +03:00
djcb a4398ac93d mu4e/mu: optimize mark-as-read
Since cd649efb6b, opening an unread message first does a proc-move,
then proc-view.

Reason is that while we get the (:update ... ) from the move, that only
contains a skeleton message; we need the full view get images etc. This
means that we render the message _twice_.

Here we change add a flag for move to _not_ send the (:update ..), so
only the (:view ...) will trigger rendering of the message.
2018-08-12 14:00:59 +03:00
djcb d106e0e03b mu4e-view: ensure buffer is named *Article* (gnus mode)
Some of the gnus internal code depends on that.
2018-06-13 22:24:47 +03:00
djcb acb68f5551 mu4e: disable some keybindings for the gnus backend 2018-06-13 16:58:41 +03:00
djcb 36ce14e705 mu4e: view/gnus: support verifying signed mails
Hook up with gnus' verification for signed mails.
2018-06-13 13:22:47 +03:00
Dirk-Jan C. Binnema 4fb5d11d9f
Merge pull request #1243 from avar/render-urls-with-space-before-number
mu4e: view: render URLs as "<url> [%d]" not "<url>[%d]"
2018-06-12 09:23:14 +03:00
Ævar Arnfjörð Bjarmason 6c8aec38be view: render URLs as "<url><zwp>[%d]" not "<url>[%d]"
When we render URLs like https://gnu.org/[1] right-clicking on them in
e.g. GNOME Terminal will also copy the "[1]" as well as the URL,
inserting zero-width-space[1] between the two avoids this.

I know about "g" (mu4e-view-go-to-url), but sometimes I want to open a
URL in a different browser, or copy it into a non-Emacs program. This
makes that easier. I think this improves the UI at a very trivial cost
to users that don't care about this use-case.

I could make this configurable, but unless someone vehemently objects
to this I don't see the point of not just making it the default.

In GNOME Terminal a ZWS is rendered simply as a space, and
copy/pasting works as expected, but in Emacs's GTK GUI there's no
space between the two.

This was initially a plain ASCII space character, but djcb preferred a
ZWP, and this works as well.

1. https://en.wikipedia.org/wiki/Zero-width_space
2018-06-11 22:10:56 +02:00
djcb 088064d5e1 mu4e: define the view-mode when needed
Define the view-mode (gnus or internal) just before it's needed. This
ensures that (when in gnus mode) it's really a gnus-article-mode
derivative, so more of the gnus specifics work.
2018-06-08 10:01:55 +03:00
djcb ee6e91da9b mu4e: auto decode quoted-printable, base64 (gnus)
Set things up so gnus article mode decodes base64 and quoted-printable
messages automatically.

Don't try to set up URL links.
2018-06-07 13:13:37 +03:00
djcb d01bdfa7b4 mu4e: add decoding support for gnus' article-mode
Decode Gnu's articles as expected; thanks to Lars Ingebrigtsen for his
advice.
2018-06-05 17:42:09 +03:00
djcb cd649efb6b mu4e: re-view after marked-as-read
When we mark a message as read, we get an (:update ... ) with the
marked-as-read message (ie., moved from new/ to cur/).

The (:update ...) however does _not_ include extracted images etc.; so
images in unread message would not be visible at that time. To fix this,
to another (:view ...) and extract the images etc.

Thanks to tangxinfa for pointing this out.
2018-04-25 11:35:52 +03:00
djcb 260a8bb629 mu4e-view: use Gnus' article mode (experimental)
Add a defcustom `mu4e-view-use-gnus`, which, when `t', use Gnus'
article-mode for displaying messages instead of mu4e's built-in mode.

This is experimental, and a view messages do not display
correctly yet (base64-encoded bodies).
2018-04-24 14:58:39 +03:00
Dirk-Jan C. Binnema 97ad4baea7
Merge pull request #1134 from jabranham/master
mu4e: simplify what "e" does in mu4e-view mode
2018-01-23 22:56:32 +02:00
Dirk-Jan C. Binnema 82743b3164
Merge pull request #1148 from thierryvolpiatto/mu4e-view
Fix again #1141 (mu4e-view-mode-hook should run after text insertion)
2018-01-06 15:01:32 +02:00
djcb 9ecc610e14 mu4e: some doc fixes 2017-11-04 15:06:45 +02:00
Thierry Volpiatto fc4e2c743b
Merge branch 'master' into mu4e-view 2017-11-04 13:03:40 +01:00
Dirk-Jan C. Binnema d87b97e0fb
Revert "Ensure mu4e-view-mode-hook run after text insertion" 2017-11-04 13:36:43 +02:00
Thierry Volpiatto 70d4d56db5
Run mu4e-view-mode without its hook (#1141)
before text insertion and run finally the hook at end.
This ensure local variables are not killed after being set.
* mu4e/mu4e-view.el (mu4e-view): Do it.
2017-11-04 05:50:03 +01:00