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.
This commit is contained in:
Dirk-Jan C. Binnema
2023-10-05 08:57:22 +03:00
parent 24f1fe8d45
commit 85bfe76336
6 changed files with 778 additions and 1509 deletions

View File

@ -57,6 +57,7 @@
(require 'mu4e-contacts)
(require 'mu4e-headers)
(require 'mu4e-view)
(require 'mu4e-obsolete)
;;; Configuration
@ -133,7 +134,7 @@
;; Compose the reply message.
(save-excursion
(let ((message-signature nil)
(mu4e-compose-cite-function #'mu4e--icalendar-delete-citation)
(message-cite-function #'mu4e--icalendar-delete-citation)
(mu4e-sent-messages-behavior 'delete)
(mu4e-compose-reply-recipients 'sender)
(ical-msg (cl-copy-list msg)))
@ -152,7 +153,7 @@
(plist-put ical-msg :subject
(concat (capitalize (symbol-name status))
": " (gnus-icalendar-event:summary event))))
(mu4e~compose-handler
(mu4e--compose-setup
'reply ical-msg
`((:buffer-name ,ical-name
:mime-type "text/calendar; method=REPLY; charset=utf-8")))