[PATCH aerc v3] commands/msg: use selected message part for quote-reply and forward
Export this patch
use the currently selected message part (if any) as the original message
for quote-reply and forward.
honor viewer::alternatives if no message part was selected.
Signed-off-by: Sebastien Binet <s@sbinet.org>
---
Thanks. LGTM!
Reviewed-by: Koni Marti <koni.marti@gmail.com>
Acked-by: Robin Jarry <robin@jarry.cc>
Applied, thanks.
To git@git.sr.ht:~rjarry/aerc
680244d0533d..ec8b22b8eec4 master -> master
commands/msg/forward.go | 3 ++ -
commands/msg/reply.go | 9 + --------
commands/msg/utils.go | 15 +++++++++++++++
3 files changed, 18 insertions(+), 9 deletions(-)
diff --git a/commands/msg/forward.go b/commands/msg/forward.go
index 4147e8c..20e945c 100644
--- a/commands/msg/forward.go
+++ b/commands/msg/forward.go
@@ -143,11 +143,12 @@ func (f forward) Execute(args []string) error {
f.Template = config.Templates.Forwards
}
- part := lib.FindPlaintext(msg.BodyStructure, nil)
+ part := getMessagePart(msg, widget)
if part == nil {
part = lib.FindFirstNonMultipart(msg.BodyStructure, nil)
// if it's still nil here, we don't have a multipart msg, that's fine
}
+
err = addMimeType(msg, part, &original)
if err != nil {
return err
diff --git a/commands/msg/reply.go b/commands/msg/reply.go
index 4b3e7c8..333b3e3 100644
--- a/commands/msg/reply.go
+++ b/commands/msg/reply.go
@@ -222,14 +222,7 @@ func (r reply) Execute(args []string) error {
return nil
}
- var part []int
- for _, mime := range config.Viewer.Alternatives {
- part = lib.FindMIMEPart(mime, msg.BodyStructure, nil)
- if part != nil {
- break
- }
- }
-
+ part := getMessagePart(msg, widget)
if part == nil {
// mkey... let's get the first thing that isn't a container
// if that's still nil it's either not a multipart msg (ok) or
diff --git a/commands/msg/utils.go b/commands/msg/utils.go
index 4269334..d6dffd5 100644
--- a/commands/msg/utils.go
+++ b/commands/msg/utils.go
@@ -6,6 +6,7 @@ import (
"git.sr.ht/~rjarry/aerc/app"
"git.sr.ht/~rjarry/aerc/commands"
+ "git.sr.ht/~rjarry/aerc/config"
"git.sr.ht/~rjarry/aerc/lib"
"git.sr.ht/~rjarry/aerc/models"
)
@@ -59,3 +60,17 @@ func (h *helper) messages() ([]*models.MessageInfo, error) {
}
return commands.MsgInfoFromUids(store, uid, h.statusInfo)
}
+
+ func getMessagePart(msg *models.MessageInfo, provider app.ProvidesMessage) []int {
+ p := provider.SelectedMessagePart()
+ if p != nil {
+ return p.Index
+ }
+ for _, mime := range config.Viewer.Alternatives {
+ part := lib.FindMIMEPart(mime, msg.BodyStructure, nil)
+ if part != nil {
+ return part
+ }
+ }
+ return nil
+ }
--
2.43.0
aerc/patches: SUCCESS in 4m55s
[commands/msg: use selected message part for quote-reply and forward][0] v3 from [Sebastien Binet][1]
[0]: https://lists.sr.ht/~rjarry/aerc-devel/patches/48450
[1]: mailto:s@sbinet.org
✓ #1130136 SUCCESS aerc/patches/openbsd.yml https://builds.sr.ht/~rjarry/job/1130136
✓ #1130135 SUCCESS aerc/patches/alpine-edge.yml https://builds.sr.ht/~rjarry/job/1130135
Sebastien Binet <s@sbinet.org> wrote: