changeset: 6856:03aa03293c1d
user: David Champion <[email protected]>
date: Wed Nov 16 15:43:50 2016 -0800
link: http://dev.mutt.org/hg/mutt/rev/03aa03293c1d
When $flag_safe is set, flagged messages cannot be deleted.
This saves them from bulk operations on threads and tagged messages. To
remove a flagged message, first unflag it.
diffs (56 lines):
diff -r 5382e1e4cee1 -r 03aa03293c1d flags.c
--- a/flags.c Tue Nov 15 12:04:16 2016 -0800
+++ b/flags.c Wed Nov 16 15:43:50 2016 -0800
@@ -45,7 +45,8 @@
if (bf)
{
- if (!h->deleted && !ctx->readonly)
+ if (!h->deleted && !ctx->readonly
+ && (!h->flagged || !option(OPTFLAGSAFE)))
{
h->deleted = 1;
update = 1;
diff -r 5382e1e4cee1 -r 03aa03293c1d init.h
--- a/init.h Tue Nov 15 12:04:16 2016 -0800
+++ b/init.h Wed Nov 16 15:43:50 2016 -0800
@@ -799,6 +799,11 @@
** signed.
** (PGP only)
*/
+ { "flag_safe", DT_BOOL, R_NONE, OPTFLAGSAFE, 0 },
+ /*
+ ** .pp
+ ** If set, flagged messages cannot be deleted.
+ */
{ "folder", DT_PATH, R_NONE, UL &Maildir, UL "~/Mail" },
/*
** .pp
diff -r 5382e1e4cee1 -r 03aa03293c1d mh.c
--- a/mh.c Tue Nov 15 12:04:16 2016 -0800
+++ b/mh.c Wed Nov 16 15:43:50 2016 -0800
@@ -696,8 +696,11 @@
break;
case 'T': /* trashed */
- h->trash = 1;
- h->deleted = 1;
+ if (!h->flagged || !option(OPTFLAGSAFE))
+ {
+ h->trash = 1;
+ h->deleted = 1;
+ }
break;
default:
diff -r 5382e1e4cee1 -r 03aa03293c1d mutt.h
--- a/mutt.h Tue Nov 15 12:04:16 2016 -0800
+++ b/mutt.h Wed Nov 16 15:43:50 2016 -0800
@@ -352,6 +352,7 @@
OPTENVFROM,
OPTFASTREPLY,
OPTFCCCLEAR,
+ OPTFLAGSAFE,
OPTFOLLOWUPTO,
OPTFORCENAME,
OPTFORWDECODE,