~rjarry/aerc-devel

aerc: commands/msg: use selected message part for quote-reply and forward v3 APPLIED

Sebastien Binet: 1
 commands/msg: use selected message part for quote-reply and forward

 3 files changed, 18 insertions(+), 9 deletions(-)
#1130135 alpine-edge.yml success
#1130136 openbsd.yml success



          
          
          
        
      
      
        
          






Is there a way to disable this behaviour, at least for attachments? It
is kinda annoying when you reply to a message while an attachment is
selected and this attachment it's a binary file of some sort... I'd have
expected a flag in the reply/forward commands. Sorry for not pointing
this out while the patch was being reviewed.
Export patchset (mbox)
How do I use this?

Copy & paste the following snippet into your terminal to import this patchset into git:

curl -s https://lists.sr.ht/~rjarry/aerc-devel/patches/48450/mbox | git am -3
Learn more about email & git

[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>
---
 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: