changeset: 7035:6d4ceb8c5b9e
user:      Kevin McCarthy <ke...@8t8.us>
date:      Fri May 05 12:46:36 2017 -0700
link:      http://dev.mutt.org/hg/mutt/rev/6d4ceb8c5b9e

Change message modifying operations to additively set redraw flags.

With the ability to set redraw flags with the menu stack operations,
some operations internally modify the current menu redraw flag.
For instance, _mutt_set_flag() can now set REDRAW_SIDEBAR.

Change the ops that modify messages to use 'redraw |= REDRAW_X'
instead of overwriting the flag value.

diffs (348 lines):

diff -r c8ac1df1dcc9 -r 6d4ceb8c5b9e curs_main.c
--- a/curs_main.c       Thu May 04 18:11:47 2017 -0700
+++ b/curs_main.c       Fri May 05 12:46:36 2017 -0700
@@ -479,7 +479,7 @@
   if (menu->current < 0)
     menu->current = ci_first_message ();
 
-  menu->redraw = REDRAW_INDEX | REDRAW_STATUS;
+  menu->redraw |= REDRAW_INDEX | REDRAW_STATUS;
 }
 
 static const struct mapping_t IndexHelp[] = {
@@ -904,7 +904,7 @@
 
        CHECK_ATTACH;
        mutt_pattern_func (MUTT_DELETE, _("Delete messages matching: "));
-       menu->redraw = REDRAW_INDEX | REDRAW_STATUS;
+       menu->redraw |= REDRAW_INDEX | REDRAW_STATUS;
        break;
 
 #ifdef USE_POP
@@ -956,7 +956,6 @@
          }
          else
            menu->current = 0;
-         menu->redraw = REDRAW_INDEX | REDRAW_STATUS;
          if (Context->msgcount && (Sort & SORT_MASK) == SORT_THREADS)
            mutt_draw_tree (Context);
          menu->redraw = REDRAW_FULL;
@@ -1039,7 +1038,7 @@
        {
          for (j = 0; j < Context->vcount; j++)
            mutt_set_flag (Context, Context->hdrs[Context->v2r[j]], MUTT_TAG, 
0);
-         menu->redraw = REDRAW_STATUS | REDRAW_INDEX;
+         menu->redraw |= REDRAW_STATUS | REDRAW_INDEX;
        }
        else
        {
@@ -1049,7 +1048,7 @@
            ((Context->last_tag == CURHDR && !CURHDR->tagged)
             ? NULL : Context->last_tag);
 
-         menu->redraw = REDRAW_STATUS;
+         menu->redraw |= REDRAW_STATUS;
          if (option (OPTRESOLVE) && menu->current < Context->vcount - 1)
          {
            menu->current++;
@@ -1065,7 +1064,7 @@
        CHECK_MSGCOUNT;
         CHECK_VISIBLE;
        mutt_pattern_func (MUTT_TAG, _("Tag messages matching: "));
-       menu->redraw = REDRAW_INDEX | REDRAW_STATUS;
+       menu->redraw |= REDRAW_INDEX | REDRAW_STATUS;
        break;
 
       case OP_MAIN_UNDELETE_PATTERN:
@@ -1077,7 +1076,7 @@
        CHECK_ACL(MUTT_ACL_DELETE, _("Cannot undelete message(s)"));
 
        if (mutt_pattern_func (MUTT_UNDELETE, _("Undelete messages matching: 
")) == 0)
-         menu->redraw = REDRAW_INDEX | REDRAW_STATUS;
+         menu->redraw |= REDRAW_INDEX | REDRAW_STATUS;
        break;
 
       case OP_MAIN_UNTAG_PATTERN:
@@ -1085,7 +1084,7 @@
        CHECK_MSGCOUNT;
         CHECK_VISIBLE;
        if (mutt_pattern_func (MUTT_UNTAG, _("Untag messages matching: ")) == 0)
-         menu->redraw = REDRAW_INDEX | REDRAW_STATUS;
+         menu->redraw |= REDRAW_INDEX | REDRAW_STATUS;
        break;
 
        /* --------------------------------------------------------------------
@@ -1271,7 +1270,7 @@
              update_index (menu, Context, check, oldcount, index_hint);
 
            set_option (OPTSEARCHINVALID);
-           menu->redraw = REDRAW_INDEX | REDRAW_STATUS;
+           menu->redraw |= REDRAW_INDEX | REDRAW_STATUS;
            break;
          }
          FREE (&Context);
@@ -1716,13 +1715,13 @@
            if ((menu->current = ci_next_undeleted (menu->current)) == -1)
            {
              menu->current = menu->oldcurrent;
-             menu->redraw = REDRAW_CURRENT;
+             menu->redraw |= REDRAW_CURRENT;
            }
            else
-             menu->redraw = REDRAW_MOTION_RESYNCH;
+             menu->redraw |= REDRAW_MOTION_RESYNCH;
          }
          else
-           menu->redraw = REDRAW_CURRENT;
+           menu->redraw |= REDRAW_CURRENT;
        }
        menu->redraw |= REDRAW_STATUS;
        break;
@@ -1748,7 +1747,7 @@
                mutt_set_flag (Context, Context->hdrs[Context->v2r[j]], 
MUTT_READ, 1);
            }
          }
-         menu->redraw = REDRAW_STATUS | REDRAW_INDEX;
+         menu->redraw |= REDRAW_STATUS | REDRAW_INDEX;
        }
        else
        {
@@ -1762,13 +1761,13 @@
            if ((menu->current = ci_next_undeleted (menu->current)) == -1)
            {
              menu->current = menu->oldcurrent;
-             menu->redraw = REDRAW_CURRENT;
+             menu->redraw |= REDRAW_CURRENT;
            }
            else
-             menu->redraw = REDRAW_MOTION_RESYNCH;
+             menu->redraw |= REDRAW_MOTION_RESYNCH;
          }
          else
-           menu->redraw = REDRAW_CURRENT;
+           menu->redraw |= REDRAW_CURRENT;
          menu->redraw |= REDRAW_STATUS;
        }
        break;
@@ -1853,7 +1852,7 @@
 
        if (mutt_change_flag (tag ? NULL : CURHDR, (op == OP_MAIN_SET_FLAG)) == 
0)
        {
-         menu->redraw = REDRAW_STATUS;
+         menu->redraw |= REDRAW_STATUS;
          if (tag)
            menu->redraw |= REDRAW_INDEX;
          else if (option (OPTRESOLVE))
@@ -1997,7 +1996,7 @@
           mutt_tag_set_flag (MUTT_PURGE, (op == OP_PURGE_MESSAGE));
          if (option (OPTDELETEUNTAG))
            mutt_tag_set_flag (MUTT_TAG, 0);
-         menu->redraw = REDRAW_INDEX;
+         menu->redraw |= REDRAW_INDEX;
        }
        else
        {
@@ -2010,7 +2009,7 @@
            if ((menu->current = ci_next_undeleted (menu->current)) == -1)
            {
              menu->current = menu->oldcurrent;
-             menu->redraw = REDRAW_CURRENT;
+             menu->redraw |= REDRAW_CURRENT;
            }
            else if (menu->menu == MENU_PAGER)
            {
@@ -2021,7 +2020,7 @@
              menu->redraw |= REDRAW_MOTION_RESYNCH;
          }
          else
-           menu->redraw = REDRAW_CURRENT;
+           menu->redraw |= REDRAW_CURRENT;
        }
        menu->redraw |= REDRAW_STATUS;
        break;
@@ -2046,7 +2045,7 @@
          if (option (OPTRESOLVE))
            if ((menu->current = ci_next_undeleted (menu->current)) == -1)
              menu->current = menu->oldcurrent;
-         menu->redraw = REDRAW_INDEX | REDRAW_STATUS;
+         menu->redraw |= REDRAW_INDEX | REDRAW_STATUS;
        }
        break;
 
@@ -2190,7 +2189,7 @@
         */
        if (Context->magic == MUTT_IMAP && !option (OPTIMAPPEEK))
        {
-         menu->redraw = (tag ? REDRAW_INDEX : REDRAW_CURRENT) | REDRAW_STATUS;
+         menu->redraw |= (tag ? REDRAW_INDEX : REDRAW_CURRENT) | REDRAW_STATUS;
        }
 #endif
 
@@ -2208,7 +2207,7 @@
         */
        if (Context->magic == MUTT_IMAP && !option (OPTIMAPPEEK))
        {
-         menu->redraw = (tag ? REDRAW_INDEX : REDRAW_CURRENT) | REDRAW_STATUS;
+         menu->redraw |= (tag ? REDRAW_INDEX : REDRAW_CURRENT) | REDRAW_STATUS;
        }
 #endif
 
@@ -2239,7 +2238,7 @@
              continue;
            }
          }
-         menu->redraw = REDRAW_INDEX | REDRAW_STATUS;
+         menu->redraw |= REDRAW_INDEX | REDRAW_STATUS;
        }
        break;
 
@@ -2344,7 +2343,7 @@
            if (menu->current == -1)
              menu->current = menu->oldcurrent;
          }
-         menu->redraw = REDRAW_INDEX | REDRAW_STATUS;
+         menu->redraw |= REDRAW_INDEX | REDRAW_STATUS;
        }
        break;
 
@@ -2360,7 +2359,7 @@
        {
          mutt_tag_set_flag (MUTT_DELETE, 0);
          mutt_tag_set_flag (MUTT_PURGE, 0);
-         menu->redraw = REDRAW_INDEX;
+         menu->redraw |= REDRAW_INDEX;
        }
        else
        {
@@ -2369,10 +2368,10 @@
          if (option (OPTRESOLVE) && menu->current < Context->vcount - 1)
          {
            menu->current++;
-           menu->redraw = REDRAW_MOTION_RESYNCH;
+           menu->redraw |= REDRAW_MOTION_RESYNCH;
          }
          else
-           menu->redraw = REDRAW_CURRENT;
+           menu->redraw |= REDRAW_CURRENT;
        }
        menu->redraw |= REDRAW_STATUS;
        break;
@@ -2403,7 +2402,7 @@
            if (menu->current == -1)
              menu->current = menu->oldcurrent;
          }
-         menu->redraw = REDRAW_INDEX | REDRAW_STATUS;
+         menu->redraw |= REDRAW_INDEX | REDRAW_STATUS;
        }
        break;
 
diff -r c8ac1df1dcc9 -r 6d4ceb8c5b9e menu.c
--- a/menu.c    Thu May 04 18:11:47 2017 -0700
+++ b/menu.c    Fri May 05 12:46:36 2017 -0700
@@ -1133,7 +1133,7 @@
          {
            for (i = 0; i < menu->max; i++)
              menu->tagged += menu->tag (menu, i, 0);
-           menu->redraw = REDRAW_INDEX;
+           menu->redraw |= REDRAW_INDEX;
          }
          else if (menu->max)
          {
@@ -1142,10 +1142,10 @@
            if (i && option (OPTRESOLVE) && menu->current < menu->max - 1)
            {
              menu->current++;
-             menu->redraw = REDRAW_MOTION_RESYNCH;
+             menu->redraw |= REDRAW_MOTION_RESYNCH;
            }
            else
-             menu->redraw = REDRAW_CURRENT;
+             menu->redraw |= REDRAW_CURRENT;
          }
          else
            mutt_error _("No entries.");
diff -r c8ac1df1dcc9 -r 6d4ceb8c5b9e pager.c
--- a/pager.c   Thu May 04 18:11:47 2017 -0700
+++ b/pager.c   Fri May 05 12:46:36 2017 -0700
@@ -2489,7 +2489,7 @@
        mutt_set_flag (Context, extra->hdr, MUTT_PURGE, (ch == 
OP_PURGE_MESSAGE));
         if (option (OPTDELETEUNTAG))
          mutt_set_flag (Context, extra->hdr, MUTT_TAG, 0);
-       pager_menu->redraw = REDRAW_STATUS | REDRAW_INDEX;
+       pager_menu->redraw |= REDRAW_STATUS | REDRAW_INDEX;
        if (option (OPTRESOLVE))
        {
          ch = -1;
@@ -2535,7 +2535,7 @@
          if (!option (OPTRESOLVE) && PagerIndexLines)
            pager_menu->redraw = REDRAW_FULL;
          else
-           pager_menu->redraw = REDRAW_STATUS | REDRAW_INDEX;
+           pager_menu->redraw |= REDRAW_STATUS | REDRAW_INDEX;
        }
        break;
 
@@ -2635,7 +2635,7 @@
        CHECK_ACL(MUTT_ACL_WRITE, "Cannot flag message");
 
        mutt_set_flag (Context, extra->hdr, MUTT_FLAG, !extra->hdr->flagged);
-       pager_menu->redraw = REDRAW_STATUS | REDRAW_INDEX;
+       pager_menu->redraw |= REDRAW_STATUS | REDRAW_INDEX;
        if (option (OPTRESOLVE))
        {
          ch = -1;
@@ -2773,7 +2773,7 @@
          ((Context->last_tag == extra->hdr && !extra->hdr->tagged)
           ? NULL : Context->last_tag);
 
-       pager_menu->redraw = REDRAW_STATUS | REDRAW_INDEX;
+       pager_menu->redraw |= REDRAW_STATUS | REDRAW_INDEX;
        if (option (OPTRESOLVE))
        {
          ch = -1;
@@ -2793,7 +2793,7 @@
          mutt_set_flag (Context, extra->hdr, MUTT_READ, 1);
        first = 0;
         Context->msgnotreadyet = -1;
-       pager_menu->redraw = REDRAW_STATUS | REDRAW_INDEX;
+       pager_menu->redraw |= REDRAW_STATUS | REDRAW_INDEX;
        if (option (OPTRESOLVE))
        {
          ch = -1;
@@ -2809,7 +2809,7 @@
 
        mutt_set_flag (Context, extra->hdr, MUTT_DELETE, 0);
        mutt_set_flag (Context, extra->hdr, MUTT_PURGE, 0);
-       pager_menu->redraw = REDRAW_STATUS | REDRAW_INDEX;
+       pager_menu->redraw |= REDRAW_STATUS | REDRAW_INDEX;
        if (option (OPTRESOLVE))
        {
          ch = -1;
@@ -2841,7 +2841,7 @@
          if (!option (OPTRESOLVE) && PagerIndexLines)
            pager_menu->redraw = REDRAW_FULL;
          else
-           pager_menu->redraw = REDRAW_STATUS | REDRAW_INDEX;
+           pager_menu->redraw |= REDRAW_STATUS | REDRAW_INDEX;
        }
        break;
 
diff -r c8ac1df1dcc9 -r 6d4ceb8c5b9e postpone.c
--- a/postpone.c        Thu May 04 18:11:47 2017 -0700
+++ b/postpone.c        Fri May 05 12:46:36 2017 -0700
@@ -189,13 +189,13 @@
          if (menu->current >= menu->top + menu->pagelen)
          {
            menu->top = menu->current;
-           menu->redraw = REDRAW_INDEX | REDRAW_STATUS;
+           menu->redraw |= REDRAW_INDEX | REDRAW_STATUS;
          }
          else
            menu->redraw |= REDRAW_MOTION_RESYNCH;
        }
        else
-         menu->redraw = REDRAW_CURRENT;
+         menu->redraw |= REDRAW_CURRENT;
        break;
 
       case OP_GENERIC_SELECT_ENTRY:

Reply via email to