diff --git a/commands/msg/delete.go b/commands/msg/delete.go index fdb2117..ceb570b 100644 --- a/commands/msg/delete.go +++ b/commands/msg/delete.go @@ -42,6 +42,7 @@ func (Delete) Execute(aerc *widgets.Aerc, args []string) error { if err != nil { return err } + sel := store.Selected() // caution, can be nil next := findNextNonDeleted(uids, store) store.ClearVisualMark() @@ -80,9 +81,11 @@ func (Delete) Execute(aerc *widgets.Aerc, args []string) error { } case *types.Error: store.Remark() + store.Select(sel.Uid) aerc.PushError(msg.Error.Error()) case *types.Unsupported: store.Remark() + store.Select(sel.Uid) // notmuch doesn't support it, we want the user to know aerc.PushError(" error, unsupported for this worker") } diff --git a/lib/msgstore.go b/lib/msgstore.go index efa6f73..9799a99 100644 --- a/lib/msgstore.go +++ b/lib/msgstore.go @@ -440,6 +440,9 @@ func (store *MessageStore) Delete(uids []uint32, if _, ok := msg.(*types.Error); ok { store.revertDeleted(uids) } + if _, ok := msg.(*types.Unsupported); ok { + store.revertDeleted(uids) + } cb(msg) }) }