From 34ed7f7aa25b3d4b6990d454b63b6b11441c3e5a Mon Sep 17 00:00:00 2001 From: Ori Bernstein Date: Mon, 1 Feb 2021 20:38:40 -0800 Subject: Mail: only clear upas-maintained flags on change (thanks deuteron) When message flags change, Mail would clear all the flags and recompute them. This would clobber internal flags like Ftodel. So, don't do that. --- sys/src/cmd/upas/Mail/mbox.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/src/cmd/upas/Mail/mbox.c b/sys/src/cmd/upas/Mail/mbox.c index bf289378d..5b05dc529 100644 --- a/sys/src/cmd/upas/Mail/mbox.c +++ b/sys/src/cmd/upas/Mail/mbox.c @@ -321,7 +321,7 @@ change(char *name, char *digest) return nil; free(m->mflags); m->mflags = f; - m->flags = 0; + m->flags &= ~(Fdel|Fseen|Fresp); if(strchr(m->mflags, 'd')) m->flags |= Fdel; if(strchr(m->mflags, 's')) m->flags |= Fseen; if(strchr(m->mflags, 'a')) m->flags |= Fresp; @@ -797,7 +797,6 @@ changemesg(Plumbmsg *pm) digest = plumblookup(pm->attr, "digest"); action = plumblookup(pm->attr, "mailtype"); -// fprint(2, "changing message %s, %s %s\n", action, pm->data, digest); if(strcmp(action, "new") == 0){ if((m = load(pm->data, digest, 1)) == nil) return; -- cgit v1.2.3