summaryrefslogtreecommitdiff
path: root/mail/delete.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2019-09-10 18:23:06 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2019-09-10 18:23:06 +0300
commit6f8dd761ad8d21a2f69a9f077a4de5d21e99273b (patch)
tree189aa1a5d396ec70013ad7bff43c448814f86f30 /mail/delete.c
parent4e6cf8005d0a1a11baa8b42ea298a24a7d19cc37 (diff)
downloadmailutils-6f8dd761ad8d21a2f69a9f077a4de5d21e99273b.tar.gz
mailutils-6f8dd761ad8d21a2f69a9f077a4de5d21e99273b.tar.bz2
Fix the semantics of the hold and keepsave variables in mail
* mail/delete.c (mail_delete_msg): Set MAIL_ATTRIBUTE_PRESERVED. This is not necessary, stricto sensu, because mail_mbox_close skips messages marked for deletion anyway. But it's good for clarity. * mail/quit.c (mailbox_classify): New function. (mail_mbox_commit): Rewrite * mail/tests/Makefile.am: Add new test * mail/tests/testsuite.at: Include new tests. * mail/tests/atlocal.in (catmbox): New function. * mail/tests/hold.at: New test.
Diffstat (limited to 'mail/delete.c')
-rw-r--r--mail/delete.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/mail/delete.c b/mail/delete.c
index 344857246..567fd4e03 100644
--- a/mail/delete.c
+++ b/mail/delete.c
@@ -27,6 +27,7 @@ mail_delete_msg (msgset_t *mspec, mu_message_t msg, void *data)
mu_message_get_attribute (msg, &attr);
mu_attribute_set_deleted (attr);
+ mu_attribute_unset_userflag (attr, MAIL_ATTRIBUTE_PRESERVED);
cond_page_invalidate (mspec->msg_part[0]);
return 0;
}

Return to:

Send suggestions and report system problems to the System administrator.