Commit Graph

235 Commits

Author SHA1 Message Date
Dirk-Jan C. Binnema d488ab2641 mu4e-compose: combine mu4e-compose-new and mu4e-compose-mail
No need for duplication.
2023-12-02 17:45:51 +02:00
Dirk-Jan C. Binnema 4ea450c29f mu4e: update documentation 2023-12-01 19:11:56 +02:00
Dirk-Jan C. Binnema 149ec143ba mu4e-compose: remove crs from message when decoding
This fixes e.g. forwarding for some mesasges that contain CRs.
2023-12-01 19:11:56 +02:00
Dirk-Jan C. Binnema 18efe9a955 mu4e-compose: improve mu4e-message-kill-buffer
Try to go back to the buffer we were in before. HT: @thierryvolpiatto

Fixes #2600.
2023-11-30 22:16:04 +02:00
Dirk-Jan C. Binnema f3606c0352 mu4e-compose: rework message handling
A number of change in message composition:

Clean up some of the handling function, in particular, only include
headers in mu4e--decoded-message when that is all that's needed.

When forwarding messages, make sure message-reply-headers is filled with
the values for the to-be-forwarded message so the references etc. get
filled correctly.

Fixes #2603
2023-11-30 22:14:36 +02:00
Nicholas Vollmer 4ab0ae5565 mu4e-compose-reply: account for nil REPLY-TYPE in assertion
Previous assertion would fail when REPLY-TYPE is nil, but nil is a valid value
for the argument.

See: https://github.com/djcb/mu/issues/2601
2023-11-22 16:10:08 -05:00
Dirk-Jan C. Binnema 087d06c5d3 mu4e-compose: implement mu4e-compose-supersede
Hook up `message-supersede` which you can /supersede/ your own messages;
that is, send the message as kind-of reply to the same recipients. This
only works if you were the sender.

This should help for #2584.
2023-11-22 21:41:02 +02:00
Dirk-Jan C. Binnema 1936d4eec3 mu4e-compose: ensure message-mail-user-agent is nil
Unbreak some user setups

Fixes #2596.
2023-11-15 15:52:58 +02:00
Christophe Troestler 8d8a5a9844 mu4e-compose-mail: fix the number of parameters of the closure 2023-11-12 21:09:24 +01:00
Dirk-Jan C. Binnema a720c9cb1c mu4e-compose: split citing / header extraction
We use a body from mu4e-view-message-text for citing, and
mu4e--decoded-message for header extraction.

There's room for some refactoring.
2023-11-10 16:47:34 +02:00
Dirk-Jan C. Binnema 171fe9a018 mu4e-compose: add missing arg to mu4e-compose-new lambda 2023-11-08 18:18:47 +02:00
Dirk-Jan C. Binnema 30a78d3cb9 mu4e-compose: use raw message for "forward"
Not the decoded one.
2023-11-08 15:33:47 +02:00
Christophe Troestler 0941b37fcc Fix mu4e-compose-mail 2023-11-08 10:00:16 +01:00
Dirk-Jan C. Binnema ea7c05c183 mu4e-compose: implement mu4e--decoded-message
Instead of mu4e-view-message-text, use a more targeted approach that
does just enough to get a decoded message with all the headers, which we
can use for replying.
2023-11-07 16:40:09 +02:00
Dirk-Jan C. Binnema 556396bb85 mu4e-compose: explicitly generate-headers
Ongoing troubles with this, and apparently some differences between
Emacs versions (?).

Explicitly generated the needed headers.
2023-11-05 16:47:08 +02:00
Dirk-Jan C. Binnema a551aaa694 mu4e-compose: rework header insertion
Clean up the composition pipeline a bit, and set
message-generate-headers-first explicitly.

Hide headers later.
2023-11-04 23:38:02 +02:00
Dirk-Jan C. Binnema 8abf0983fd mu4e-compose: make draft-editing work in new setup
Move around initialization a bit so we can use it for draft-editing as
well.
2023-11-03 21:17:43 +02:00
Dirk-Jan C. Binnema b428d9702e mu4e-compose: make mu4e-compose-dont-reply-to-self obsolete
Doesn't really fit in nicely with the new composer; update NEWS.org,
manual for users to migrate.
2023-11-03 21:17:43 +02:00
Dirk-Jan C. Binnema 541c818a9f mu4e-compose: include references / in-reply-to
For replies and forwarded messages.
2023-11-02 22:21:10 +02:00
Dirk-Jan C. Binnema 5b29ad8b6d mu4e-compose: use seq-filter instead of seq-keep
seq-keep is only arrived with emacs 29, and seq-filter does the job
2023-11-01 19:46:47 +02:00
Dirk-Jan C. Binnema 9f39d78a71 mu4e-compose: use decoded message for replying
Or From: etc. would use some undecoded version with some
=?iso-8859-1?Q?.... blobs.
2023-11-01 19:46:47 +02:00
Dirk-Jan C. Binnema b1587607e1 mu4e: obsolete some compose vars, update NEWS.org
We can re-use the existing implementations.
2023-10-31 19:45:17 +02:00
Dirk-Jan C. Binnema a696902c34 mu4e-compose: allow updating keymap for minor mode 2023-10-30 22:55:42 +02:00
Dirk-Jan C. Binnema eee73f8199 mu4e: better handle alternative address
In compose / contacts
2023-10-29 17:16:05 +02:00
Dirk-Jan C. Binnema 00191a3ec7 mu4e: improve mu4e-compose-dont-reply-to-self handling
Use mu4e-personal-or-alternative-address to decide on whether an address
belongs to "this user". Update docs.
2023-10-29 17:15:35 +02:00
Dirk-Jan C. Binnema 61c8067491 mu4e-compose: add in-reply-to when needed
Was missing.
2023-10-26 18:34:07 +03:00
Dirk-Jan C. Binnema 85bfe76336 mu4e-compose: overhaul message composer
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.
2023-10-25 22:05:06 +03:00
Dirk-Jan C. Binnema 8fc13ab8f3 mu4e: Shorten descriptions a bit 2023-09-20 22:31:19 +03:00
Thierry Volpiatto 67c8ff75a7 Fix missing or incorrect descriptions in file headers
Try to make useful descriptions and use conventional --- to separate filename
from description.
2023-09-20 22:04:48 +03:00
Dirk-Jan C. Binnema c9b64a0114 mu4e-compose: jit-start mu4e in mu4e-compose
Just in case it wasn't running yet.

Fixes #2526
2023-07-28 19:35:39 +03:00
Dirk-Jan C. Binnema 3b93863f15 mu4e: use mu4e-determine-attachment-dir
Make the old internal mu4e~get-attachment-dir a public function,
improve documentation. Update callers.
2023-07-16 13:19:35 +03:00
Dirk-Jan C. Binnema 551bc46b47 mu4e: improve emacs menu-bar items
Fixes issue #2406.
2023-01-09 22:13:24 +02:00
Dirk-Jan C. Binnema 1e018ee1fc mu4e: remove keybindings from mu4e-context-minor-mode
They interfered with the major modes (in particular the undefine hack
needed in mu4e-compose).

Fixes #2402.
2023-01-07 17:13:36 +02:00
Dirk-Jan C. Binnema 441c450004 mu4e-compose: whitespace fixes 2023-01-07 17:13:36 +02:00
Dirk-Jan C. Binnema 926083458d
Merge pull request #2380 from mickeynp/bugfix/re-add-missing-argument
Re-add missing argument as `define-mail-user-agent' expects it
2022-12-16 18:57:04 +02:00
Mickey Petersen cb364bc0c5 Attempt to delete the window after composing a message 2022-12-15 07:41:23 +00:00
Mickey Petersen af35314231 Rename to _switch-action 2022-12-15 07:38:46 +00:00
Mickey Petersen c3d962545d Re-add missing argument as `define-mail-user-agent' expects it 2022-12-14 20:00:42 +00:00
Mickey Petersen 42add64683 Appease the byte compiler and clean up the code 2022-12-06 09:46:39 +00:00
Mickey Petersen ef2c989e08 Clean up 2022-11-29 11:50:59 +00:00
Mickey Petersen 69a17bfcb9 Multiple buffer support and standardised window and buffer handling 2022-11-29 11:33:07 +00:00
Protesilaos Stavrou 8c42c43fd7
mu4e-compose: remove remap for unused face
The mu4e-cited-1-face does not exist any more, per commit
a4707afe12.
2022-08-27 05:51:16 +03:00
Protesilaos Stavrou 339d841415
mu4e-compose: simplify mu4e~compose-remap-faces 2022-08-27 05:29:56 +03:00
Dirk-Jan C. Binnema 18bf2d995d mu4e: Add mu4e-header-field-face, avoid mu-header-key-face cycle
By default, mu4e-header-key-face inherits from message-header-name; this
leads to warnings when we later remap the latter to the former in
mu4e-compose.el.

We don't want to change the definition of mu4e-header-key-face (it's
used widely in mu4e); so we add a new face mu4e-header-field-face
for *just* mu4e-compose and which does not inherit.

Fixes #2321.
2022-08-20 13:29:04 +03:00
Dirk-Jan C. Binnema 99eb3bb674 mu4e-compose: handle message-cite-reply-position later
Can't really repro the problem. Perhaps I don't have hidden heders?
Anyway, can't hurt to move it after that.

Fixes #2283.
2022-07-01 08:31:00 +03:00
Dirk-Jan C. Binnema ff8e0455dc mu4e-compose/compose-mail: add brackets for in-reply-to
Seems in some contexts we get them _without_ brackets in other-headers; so let's
fix that up.

Fixes #2273.
2022-06-14 23:48:43 +03:00
Dirk-Jan C. Binnema a1f0c5e9eb mu4e: fix emacs-29 bytecompiler warnings
Wrong single quotes.
2022-05-28 00:51:08 +03:00
Dirk-Jan C. Binnema db86e7b5ee mu4e: contacts: use mu4e--contacts-set
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.
2022-05-09 22:25:28 +03:00
Dirk-Jan C. Binnema 45aec819f6 mu4e: updates for core changes
Deal with (name . email) --> (:name "boo" :email "boo@example.com")
Add support for the new "changed" field.
2022-05-05 01:40:17 +03:00
Dirk-Jan C. Binnema a4707afe12 mu4e: cleanups and flycheck fixes
- Remove some unused faces
- Fix some flycheck warnings
- Replace some `cl-` functions with `pcase` and `seq`
2022-01-23 14:27:00 +02:00