From 05f0d82aceaa982266bcd7daa6c15b4a5ff8720a Mon Sep 17 00:00:00 2001 From: filon Date: Tue, 12 Feb 2002 20:56:33 +0000 Subject: [PATCH] - applying next choosen action on tagged messages Changed files: mutt-nr.tag_prefix_cond.patch -> 1.1 --- mutt-nr.tag_prefix_cond.patch | 166 ++++++++++++++++++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 mutt-nr.tag_prefix_cond.patch diff --git a/mutt-nr.tag_prefix_cond.patch b/mutt-nr.tag_prefix_cond.patch new file mode 100644 index 0000000..7247dbd --- /dev/null +++ b/mutt-nr.tag_prefix_cond.patch @@ -0,0 +1,166 @@ +written by Nicolas Rachinsky +http://www.rachinsky.de + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published +by the Free Software Foundation; version 2 of the License. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +--- curs_lib.c.orig Thu Nov 15 23:56:51 2001 ++++ curs_lib.c Thu Nov 15 23:57:02 2001 +@@ -39,7 +39,7 @@ + * is impossible to unget function keys in SLang, so roll our own input + * buffering routines. + */ +-static size_t UngetCount = 0; ++size_t UngetCount = 0; + static size_t UngetBufLen = 0; + static event_t *KeyEvent; + +--- PATCHES~ Tue Nov 6 19:59:33 2001 ++++ PATCHES Tue Nov 6 19:59:42 2001 +@@ -1,0 +1 @@ ++1.3.23.2.nr.tag_prefix_cond +--- OPS.orig Tue Sep 11 12:50:50 2001 ++++ OPS Sun Dec 2 01:52:49 2001 +@@ -1,4 +1,5 @@ + OP_NULL "null operation" ++OP_SPECIAL "special operation (does nothing)" + OP_ATTACH_VIEW_MAILCAP "force viewing of attachment using mailcap" + OP_ATTACH_VIEW_TEXT "view attachment as text" + OP_ATTACH_COLLAPSE "Toggle display of subparts" +@@ -153,6 +154,7 @@ + OP_SORT_REVERSE "sort messages in reverse order" + OP_TAG "tag the current entry" + OP_TAG_PREFIX "apply next function to tagged messages" ++OP_TAG_PREFIX_COND "apply next function ONLY to tagged messages" + OP_TAG_SUBTHREAD "tag the current subthread" + OP_TAG_THREAD "tag the current thread" + OP_TOGGLE_NEW "toggle a message's 'new' flag" +--- curs_main.c.orig Sun Dec 2 01:50:43 2001 ++++ curs_main.c Sun Dec 2 01:59:14 2001 +@@ -43,7 +43,7 @@ + + + +- ++extern size_t UngetCount; + + + +@@ -621,6 +621,40 @@ + else if (option (OPTAUTOTAG) && Context && Context->tagged) + tag = 1; + ++ if (op == OP_TAG_PREFIX_COND) ++ { ++ if (!Context) ++ { ++ mutt_error _("No mailbox is open."); ++ continue; ++ } ++ ++ if (!Context->tagged) ++ { ++ event_t tmp; ++ while(UngetCount>0) ++ { ++ tmp=mutt_getch(); ++ if(tmp.op==OP_SPECIAL)break; ++ } ++ mutt_message _("Nothing todo."); ++ continue; ++ } ++ tag = 1; ++ ++ /* give visual indication that the next command is a tag- command */ ++ mvaddstr (LINES - 1, 0, "tag-"); ++ clrtoeol (); ++ ++ /* get the real command */ ++ if ((op = km_dokey (MENU_MAIN)) == OP_TAG_PREFIX) ++ { ++ /* abort tag sequence */ ++ CLEARLINE (LINES-1); ++ continue; ++ } ++ } ++ + mutt_clear_error (); + } + else +@@ -1964,6 +1998,9 @@ + if (CURHDR->attach_del) + Context->changed = 1; + menu->redraw = REDRAW_FULL; ++ break; ++ ++ case OP_SPECIAL: + break; + + default: +--- functions.h.orig Tue Sep 11 12:51:39 2001 ++++ functions.h Sun Dec 2 01:53:51 2001 +@@ -51,6 +51,8 @@ + { "half-down", OP_HALF_DOWN, "]" }, + { "help", OP_HELP, "?" }, + { "tag-prefix", OP_TAG_PREFIX, ";" }, ++ { "tag-prefix-cond", OP_TAG_PREFIX_COND, NULL }, ++ { "special", OP_SPECIAL, NULL }, + { "shell-escape", OP_SHELL_ESCAPE, "!" }, + { "select-entry", OP_GENERIC_SELECT_ENTRY,M_ENTER_S }, + { "search", OP_SEARCH, "/" }, +--- menu.c.orig Tue Nov 6 21:36:57 2001 ++++ menu.c Sun Dec 2 02:02:30 2001 +@@ -30,6 +30,8 @@ + + extern int Charset_is_utf8; /* FIXME: bad modularisation */ + ++extern size_t UngetCount; ++ + static void print_enriched_string (int attr, unsigned char *s, int do_color) + { + wchar_t wc; +@@ -866,6 +868,28 @@ + i = -1; + } + } ++ if (i == OP_TAG_PREFIX_COND) ++ { ++ if (menu->tagged) ++ { ++ mvaddstr (LINES - 1, 0, "Tag-"); ++ clrtoeol (); ++ i = km_dokey (menu->menu); ++ menu->tagprefix = 1; ++ CLEARLINE (LINES - 1); ++ } ++ else ++ { ++ event_t tmp; ++ while(UngetCount>0) ++ { ++ tmp=mutt_getch(); ++ if(tmp.op==OP_SPECIAL)break; ++ } ++ mutt_message _("Nothing todo."); ++ i = -1; ++ } ++ } + else if (menu->tagged && option (OPTAUTOTAG)) + menu->tagprefix = 1; + else +@@ -1021,6 +1045,9 @@ + + case OP_NULL: + km_error_key (menu->menu); ++ break; ++ ++ case OP_SPECIAL: + break; + + default: -- 2.44.0