[tin 1.7.x] key renaming/joining

Urs Janßen <[email protected]>
Newsgroups gmane.network.tin.devel
Message-ID <[email protected]>
the attached patch should fit over the latest snapshot after appling
Michaels patches. It does join/rename the *EditFilter keys to just
EditFilter (no effort is made to keep any assigned keys for 
SelectEditFilter and/or ThreadEditFilter as those have only existed
in a snapshot) and it does join/rename GroupAutoSel, PageAutoSel,
ThreadAutoSel to MenuFilterSelect; GroupKill, PageAutoKill,
ThreadKill to MenuFilterKill; GroupQuickAutoSel and PageQuickAutoSel
to QuickFilterSelect; GroupQuickKill and PageQuickKill to
QuickFilterKill. as all the updates join keys from different sections
those keys are written out at the end of the keymap file.

urs
-- 
"Only whimps use tape backup: _real_ men just upload their important stuff
 on ftp, and let the rest of the world mirror it ;)" - Linus
tin-1.7.8totin-1.7.8.curr.diff (text/plain, 39.9 KB)
-----------------------------------------------------------------------------
 doc/keymap.sample |   21 +---
 doc/tin.1         |   31 +++---
 doc/tin.5         |   24 +---
 include/keymap.h  |   21 +---
 include/version.h |    2 
 src/group.c       |   20 ++--
 src/help.c        |   22 ++--
 src/keymap.c      |  254 +++++++++++++++++++++++++++++++++-------------------
 src/page.c        |   16 +--
 src/select.c      |    4 
 src/thread.c      |   10 +-
 13 files changed, 252 insertions(+), 214 deletions(-)
-----------------------------------------------------------------------------
diff -Nurp tin-1.7.8/doc/keymap.sample tin-1.7.8.curr/doc/keymap.sample
--- tin-1.7.8/doc/keymap.sample	2005-03-14 11:54:06.000000000 +0100
+++ tin-1.7.8.curr/doc/keymap.sample	2005-03-14 15:46:03.000000000 +0100
@@ -1,4 +1,4 @@
-# Keymap file V1.0.3 for the TIN newsreader
+# Keymap file V1.0.4 for the TIN newsreader
 #
 # Sample keymap file
 # This file contains the default key mappings
@@ -16,6 +16,7 @@ SearchSubjB			?
 SearchAuthB			A
 SearchBody			B
 SearchRepeat			\
+EditFilter			E
 ToggleHelpDisplay		H
 ToggleInverseVideo		I
 LookupMessage			L
@@ -34,11 +35,15 @@ Quit				q
 Version				v
 Post				w
 Pipe				|
+QuickFilterSelect		[
+QuickFilterKill			]
 ScrollUp			<
 ScrollDown			>
 PageUp				b	^B	^U
 PageDown			^D	^F
 RedrawScr			^L
+MenuFilterSelect		^A
+MenuFilterKill			^K
 
 #####
 
@@ -64,10 +69,8 @@ FilterSave			s
 
 #####
 
-GroupAutoSel			^A
 GroupNextUnreadArtOrGrp		TAB
 GroupReadBasenote		^J	^M
-GroupKill			^K
 GroupSelThd			*
 GroupDoAutoSel			+
 GroupToggleThdSel		.
@@ -75,7 +78,6 @@ GroupSelThdIfUnreadSelected	;
 GroupSelPattern			=
 GroupReverseSel			@
 GroupCatchupNextUnread		C
-GroupEditFilter			E
 GroupToggleGetartLimit		G
 GroupMarkThdRead		K
 GroupNextUnreadArt		N
@@ -86,8 +88,6 @@ GroupTagParts			T
 GroupUntag			U
 GroupMarkUnselArtRead		X
 GroupMarkThdUnread		Z
-GroupQuickAutoSel		[
-GroupQuickKill			]
 GroupCatchup			c
 GroupToggleSubjDisplay		d
 GroupGoto			g
@@ -110,13 +110,11 @@ HelpFirstPage			g
 
 #####
 
-PageAutoSel			^A
 PageReplyQuoteHeaders		^E
 PagePGPCheckArticle		^G
 PageToggleHeaders		^H
 PageNextUnread			TAB
 PageNextThd			^J	^M
-PageAutoKill			^K
 PageToggleTabs			^T
 PageFollowupQuoteHeaders	^W
 PageToggleTex2iso		"
@@ -128,7 +126,6 @@ PageTopThd			<
 PageBotThd			>
 PageCatchupNextUnread		C
 PageCancel			D
-PageEditFilter			E
 PageFollowup			F
 PageLastPage			G
 PageKillThd			K
@@ -140,8 +137,6 @@ PageGroupSel			T
 PageViewUrl			U
 PageViewAttach			V
 PageMarkThdUnread		Z
-PageQuickAutoSel		[
-PageQuickKill			]
 PageToggleHighlight		_
 PageCatchup			c
 PageEditArticle			e
@@ -207,7 +202,6 @@ SelectEnterNextUnreadGrp	TAB	n
 SelectReadGrp			^J	^M
 SelectResetNewsrc		^R
 SelectCatchupNextUnread		C
-SelectEditFilter		E
 SelectNextUnreadGrp		N
 SelectBugReport			R
 SelectSubscribePat		S
@@ -227,14 +221,11 @@ SelectMarkGrpUnread		z	Z
 #####
 
 ThreadReadNextArtOrThread	TAB
-ThreadAutoSel			^A
 ThreadReadArt			^J	^M
-ThreadKill			^K
 ThreadSelArt			*
 ThreadToggleArtSel		.
 ThreadReverseSel		@
 ThreadCatchupNextUnread		C
-ThreadEditFilter		E
 ThreadMarkArtRead		K
 ThreadBugReport			R
 ThreadAutoSave			S
diff -Nurp tin-1.7.8/doc/tin.1 tin-1.7.8.curr/doc/tin.1
--- tin-1.7.8/doc/tin.1	2005-03-14 11:54:06.000000000 +0100
+++ tin-1.7.8.curr/doc/tin.1	2005-03-14 15:52:51.000000000 +0100
@@ -554,6 +553,9 @@ unread group in the group selection list
 Toggle display to show just the group name or the group name and the group
 descriptions.
 .TP
+.B EditFilter 'E'
+Edit the filter file and reload it afterwards.
+.TP
 .B SelectGoto 'g'
 Choose a new group by name. This command can be used to access any group,
 even those not currently yanked in.
@@ -640,11 +642,11 @@ Mark all articles in the current group a
 .B 4
 Select article 4.
 .TP
-.B GroupAutoSel '^A'
+.B MenuFilterSelect '^A'
 Auto select article(s) using a menu. Read the section "FILTERING ARTICLES"
 for more information.
 .TP
-.B GroupKill '^K'
+.B MenuFilterKill '^K'
 Kill article(s) using a menu. Read the section "FILTERING ARTICLES" for
 more information.
 .TP
@@ -701,7 +703,7 @@ Pipe current article / thread / auto-sel
 matching pattern / tagged articles into command. See the section "MAILING
 PIPING PRINTING REPOSTING AND SAVING ARTICLES" for more information.
 .TP
-.B GroupQuickAutoSel '['
+.B QuickFilterSelect '['
 Auto select article(s) with a single key [after confirmation]. The defaults
 used for selection are based upon the following four tinrc config variables:
 \fBdefault_filter_select_case\fP, \fBdefault_filter_select_expire\fP,
@@ -710,7 +712,7 @@ Read the section "GLOBAL OPTIONS MENU AN
 a full explanation of these variables and "FILTERING ARTICLES" for more
 information on filtering.
 .TP
-.B GroupQuickKill ']'
+.B QuickFilterKill ']'
 Kill article(s) with a single key [after confirmation]. The defaults used
 for killing are based upon the following four tinrc config variables:
 \fBdefault_filter_kill_case\fP, \fBdefault_filter_kill_expire\fP,
@@ -748,7 +750,7 @@ with unread news.
 Cycle the display of the author through all the possible options
 for the tinrc variable \fBshow_author\fP.
 .TP
-.B GroupEditFilter 'E'
+.B EditFilter 'E'
 Edit the filter file and reload it afterwards.
 .TP
 .B GroupGoto 'g'
@@ -933,6 +935,9 @@ containing unread news.
 Cycle the display of the author through all the possible options for the
 tinrc variable \fBshow_author\fP.
 .TP
+.B EditFilter 'E'
+Edit the filter file and reload it afterwards.
+.TP
 .B ToggleInfoLastLine 'i'
 Display the subject of the current article in the last line.
 .TP
@@ -998,7 +1003,7 @@ Read the first (base) article in this th
 .B 4
 Read response 4 in this thread.
 .TP
-.B PageAutoSel '^A'
+.B MenuFilterSelect '^A'
 Auto select article(s) using a menu. Read the section "FILTERING ARTICLES"
 for more information.
 .TP
@@ -1014,7 +1019,7 @@ operations on article.
 .B PageToggleHeaders '^H'
 Toggles the display mode (raw including all headers vs. cooked)
 .TP
-.B PageAutoKill '^K'
+.B MenuFilterKill '^K'
 Kill article(s) using a menu. Read the section "FILTERING ARTICLES" for more
 information.
 .TP
@@ -1074,7 +1079,7 @@ Pipe current article / thread / auto-sel
 matching pattern / tagged articles into command. See the section "MAILING
 PIPING PRINTING REPOSTING AND SAVING ARTICLES" for more information.
 .TP
-.B PageQuickAutoSel '['
+.B QuickFilterSelect '['
 Auto select article(s) with a single key. The defaults used for selection
 are set based upon the following four tinrc config variables:
 \fBdefault_filter_select_case\fP, \fBdefault_filter_select_expire\fP,
@@ -1083,7 +1088,7 @@ Read the section "GLOBAL OPTIONS MENU AN
 a full explanation of these variables and "FILTERING ARTICLES" for more
 information on filtering.
 .TP
-.B PageQuickKill ']'
+.B QuickFilterKill ']'
 Kill article(s) with a single key. The defaults used for killing are based
 upon the following four tinrc config variables:
 \fBdefault_filter_kill_case\fP, \fBdefault_filter_kill_expire\fP,
@@ -1125,7 +1130,7 @@ the newsgroup 'control' or 'control.canc
 .B PageEditArticle 'e'
 Edit the current article. This is restricted to mailgroups and saved news.
 .TP
-.B PageEditFilter 'E'
+.B EditFilter 'E'
 Edit the filter file and reload it afterwards.
 .TP
 .B PageFollowupQuote 'f'
diff -Nurp tin-1.7.8/doc/tin.5 tin-1.7.8.curr/doc/tin.5
--- tin-1.7.8/doc/tin.5	2005-03-14 11:54:06.000000000 +0100
+++ tin-1.7.8.curr/doc/tin.5	2005-03-14 15:50:39.000000000 +0100
@@ -532,7 +532,7 @@ header and its content.
 .TP
 .B quick_kill_scope
 A comma-separated list of newsgroup patterns (wildmat-style) to which
-groups the filter rule added by \fBGroupQuickKill\fP will be applied.
+groups the filter rule added by \fBQuickFilterKill\fP will be applied.
 If unset the default from the tinrc variable
 \fBdefault_filter_kill_global\fP will be used.
 .TP
@@ -547,7 +547,7 @@ Identical to the tinrc variable \fBdefau
 .TP
 .B quick_select_scope
 A comma-separated list of newsgroup patterns (wildmat-style) to which
-groups the filter rule added by \fBGroupQuickAutoSel\fP will be
+groups the filter rule added by \fBQuickFilterSelect\fP will be
 applied. If unset the default from the tinrc variable
 \fBdefault_filter_select_global\fP will be used.
 .TP
@@ -725,6 +725,7 @@ their defaults.
 \fBSearchAuthB\fP	A
 \fBSearchBody\fP	B
 \fBSearchRepeat\fP	\\
+\fBEditFilter\fP   E
 \fBToggleHelpDisplay\fP	H
 \fBToggleInverseVideo\fP	I
 \fBLookupMessage\fP	L
@@ -742,6 +743,8 @@ their defaults.
 \fBQuit\fP	q
 \fBVersion\fP	v
 \fBPost\fP	w
+\fBQuickFilterSelect\fP	[
+\fBQuickFilterKill\fP	]
 \fBPipe\fP	|
 \fBScrollUp\fP	<
 \fBScrollDown\fP	>
@@ -749,6 +752,9 @@ their defaults.
 \fBPageDown\fP	^D	^F
 \fBRedrawScr\fP	^L
 \fBPostponed\fP	^O
+\fBMenuFilterSelect\fP	^A
+\fBMenuFilterKill\fP	^K
+
 .sp
 \fBConfigSelect\fP	^J	^M
 \fBConfigLastPage\fP	G
@@ -766,10 +772,8 @@ their defaults.
 \fBFilterEdit\fP	e
 \fBFilterSave\fP	s
 .sp
-\fBGroupAutoSel\fP	^A
 \fBGroupNextUnreadArtOrGrp\fP	TAB
 \fBGroupReadBasenote\fP	^J	^M
-\fBGroupKill\fP	^K
 \fBGroupSelThd\fP	*
 \fBGroupDoAutoSel\fP	+
 \fBGroupToggleThdSel\fP	.
@@ -777,7 +781,6 @@ their defaults.
 \fBGroupSelPattern\fP	=
 \fBGroupReverseSel\fP	@
 \fBGroupCatchupNextUnread\fP	C
-\fBGroupEditFilter\fP	E
 \fBGroupToggleGetartLimit\fP	G
 \fBGroupMarkThdRead\fP	K
 \fBGroupNextUnreadArt\fP	N
@@ -788,8 +791,6 @@ their defaults.
 \fBGroupUntag\fP	U
 \fBGroupMarkUnselArtRead\fP	X
 \fBGroupMarkThdUnread\fP	Z
-\fBGroupQuickAutoSel\fP	[
-\fBGroupQuickKill\fP	]
 \fBGroupCatchup\fP	c
 \fBGroupToggleSubjDisplay\fP	d
 \fBGroupGoto\fP	g
@@ -808,13 +809,11 @@ their defaults.
 \fBHelpLastPage\fP	G
 \fBHelpFirstPage\fP	g
 .sp
-\fBPageAutoSel\fP	^A
 \fBPageReplyQuoteHeaders\fP	^E
 \fBPagePGPCheckArticle\fP	^G
 \fBPageToggleHeaders\fP	^H
 \fBPageNextUnread\fP	TAB
 \fBPageNextThd\fP	^J	^M
-\fBPageAutoKill\fP	^K
 \fBPageToggleTabs\fP	^T
 \fBPageFollowupQuoteHeaders\fP	^W
 \fBPageToggleTex2iso\fP	"
@@ -826,7 +825,6 @@ their defaults.
 \fBPageBotThd\fP	>
 \fBPageCatchupNextUnread\fP	C
 \fBPageCancel\fP	D
-\fBPageEditFilter\fP	E
 \fBPageFollowup\fP	F
 \fBPageLastPage\fP	G
 \fBPageKillThd\fP	K
@@ -838,8 +836,6 @@ their defaults.
 \fBPageViewUrl\fP	U
 \fBPageViewAttach\fP	V
 \fBPageMarkThdUnread\fP	Z
-\fBPageQuickAutoSel\fP	[
-\fBPageQuickKill\fP	]
 \fBPageToggleHighlight\fP	_
 \fBPageCatchup\fP	c
 \fBPageEditArticle\fP	e
@@ -909,9 +905,7 @@ their defaults.
 \fBSelectMarkGrpUnread\fP	z	Z
 .sp
 \fBThreadReadNextArtOrThread\fP	TAB
-\fBThreadAutoSel\fP	^A
 \fBThreadReadArt\fP	^J	^M
-\fBThreadKill\fP	^K
 \fBThreadSelArt\fP	*
 \fBThreadToggleArtSel\fP	.
 \fBThreadReverseSel\fP	@
diff -Nurp tin-1.7.8/include/keymap.h tin-1.7.8.curr/include/keymap.h
--- tin-1.7.8/include/keymap.h	2005-03-14 11:54:06.000000000 +0100
+++ tin-1.7.8.curr/include/keymap.h	2005-03-14 14:30:47.000000000 +0100
@@ -164,6 +164,7 @@ enum defined_functions {
 	GLOBAL_ABORT,
 	GLOBAL_BUGREPORT,
 	GLOBAL_DISPLAY_POST_HISTORY,
+	GLOBAL_EDIT_FILTER,
 	GLOBAL_FIRST_PAGE,
 	GLOBAL_HELP,
 	GLOBAL_LAST_PAGE,
@@ -171,6 +172,8 @@ enum defined_functions {
 	GLOBAL_LINE_DOWN,
 	GLOBAL_LINE_UP,
 	GLOBAL_LOOKUP_MESSAGEID,
+	GLOBAL_MENU_FILTER_KILL,
+	GLOBAL_MENU_FILTER_SELECT,
 	GLOBAL_OPTION_MENU,
 	GLOBAL_PAGE_DOWN,
 	GLOBAL_PAGE_UP,
@@ -180,6 +183,8 @@ enum defined_functions {
 #ifndef DISABLE_PRINTING
 	GLOBAL_PRINT,
 #endif /* !DISABLE_PRINTING */
+	GLOBAL_QUICK_FILTER_KILL,
+	GLOBAL_QUICK_FILTER_SELECT,
 	GLOBAL_QUIT,
 	GLOBAL_QUIT_TIN,
 	GLOBAL_REDRAW_SCREEN,
@@ -203,13 +208,10 @@ enum defined_functions {
 	GLOBAL_TOGGLE_INVERSE_VIDEO,
 	GLOBAL_VERSION,
 	GROUP_AUTOSAVE,
-	GROUP_AUTOSELECT,
 	GROUP_CATCHUP,
 	GROUP_CATCHUP_NEXT_UNREAD,
 	GROUP_DO_AUTOSELECT,
-	GROUP_EDIT_FILTER,
 	GROUP_GOTO,
-	GROUP_KILL,
 	GROUP_LIST_THREAD,
 	GROUP_MAIL,
 	GROUP_MARK_ARTICLE_UNREAD,
@@ -221,8 +223,6 @@ enum defined_functions {
 	GROUP_NEXT_UNREAD_ARTICLE_OR_GROUP,
 	GROUP_PREVIOUS_GROUP,
 	GROUP_PREVIOUS_UNREAD_ARTICLE,
-	GROUP_QUICK_AUTOSELECT,
-	GROUP_QUICK_KILL,
 	GROUP_READ_BASENOTE,
 	GROUP_REPOST,
 	GROUP_REVERSE_SELECTIONS,
@@ -242,19 +242,16 @@ enum defined_functions {
 	MARK_READ_CURRENT,
 	MARK_READ_TAGGED,
 	PAGE_AUTOSAVE,
-	PAGE_AUTOSELECT,
 	PAGE_BOTTOM_THREAD,
 	PAGE_CANCEL,
 	PAGE_CATCHUP,
 	PAGE_CATCHUP_NEXT_UNREAD,
 	PAGE_EDIT_ARTICLE,
-	PAGE_EDIT_FILTER,
 	PAGE_FOLLOWUP,
 	PAGE_FOLLOWUP_QUOTE,
 	PAGE_FOLLOWUP_QUOTE_HEADERS,
 	PAGE_GOTO_PARENT,
 	PAGE_GROUP_SELECT,
-	PAGE_KILL,
 	PAGE_LIST_THREAD,
 	PAGE_MAIL,
 	PAGE_MARK_ARTICLE_UNREAD,
@@ -270,8 +267,6 @@ enum defined_functions {
 #endif /* HAVE_PGP_GPG */
 	PAGE_PREVIOUS_ARTICLE,
 	PAGE_PREVIOUS_UNREAD_ARTICLE,
-	PAGE_QUICK_AUTOSELECT,
-	PAGE_QUICK_KILL,
 	PAGE_REVEAL,
 	PAGE_REPLY,
 	PAGE_REPLY_QUOTE,
@@ -319,7 +314,6 @@ enum defined_functions {
 	SAVE_OVERWRITE_FILE,
 	SELECT_CATCHUP,
 	SELECT_CATCHUP_NEXT_UNREAD,
-	SELECT_EDIT_FILTER,
 	SELECT_ENTER_GROUP,
 	SELECT_ENTER_NEXT_UNREAD_GROUP,
 	SELECT_GOTO,
@@ -338,11 +332,8 @@ enum defined_functions {
 	SELECT_QUIT_NO_WRITE,
 	SELECT_YANK_ACTIVE,
 	THREAD_AUTOSAVE,
-	THREAD_AUTOSELECT,
 	THREAD_CATCHUP,
 	THREAD_CATCHUP_NEXT_UNREAD,
-	THREAD_EDIT_FILTER,
-	THREAD_KILL,
 	THREAD_MAIL,
 	THREAD_MARK_ARTICLE_READ,
 	THREAD_MARK_ARTICLE_UNREAD,
diff -Nurp tin-1.7.8/include/version.h tin-1.7.8.curr/include/version.h
--- tin-1.7.8/include/version.h	2005-03-14 11:54:07.000000000 +0100
+++ tin-1.7.8.curr/include/version.h	2005-03-14 14:09:29.000000000 +0100
@@ -48,7 +48,7 @@
 #	define TINRC_VERSION	"1.3.7"
 #	define ATTRIBUTES_VERSION	"1.0.3"
 #	define FILTER_VERSION	"1.0.0"
-#	define KEYMAP_VERSION	"1.0.3"
+#	define KEYMAP_VERSION	"1.0.4"
 #	define SERVERCONFIG_VERSION	"1.0.0"
 
 #	ifdef VMS
diff -Nurp tin-1.7.8/src/group.c tin-1.7.8.curr/src/group.c
--- tin-1.7.8/src/group.c	2005-03-14 11:54:11.000000000 +0100
+++ tin-1.7.8.curr/src/group.c	2005-03-14 14:32:32.000000000 +0100
@@ -313,8 +313,8 @@ group_page(
 				page_down();
 				break;
 
-			case GROUP_AUTOSELECT:		/* auto-select article menu */
-			case GROUP_KILL:		/* kill article menu */
+			case GLOBAL_MENU_FILTER_SELECT:		/* auto-select article menu */
+			case GLOBAL_MENU_FILTER_KILL:		/* kill article menu */
 				if (grpmenu.curr < 0) {
 					info_message(_(txt_no_arts));
 					break;
@@ -322,7 +322,7 @@ group_page(
 				old_top = top_art;
 				n = (int) base[grpmenu.curr];
 				old_artnum = arts[n].artnum;
-				if (filter_menu((func == GROUP_KILL) ? FILTER_KILL : FILTER_SELECT, group, &arts[n])) {
+				if (filter_menu((func == GLOBAL_MENU_FILTER_KILL) ? FILTER_KILL : FILTER_SELECT, group, &arts[n])) {
 					if (filter_articles(group)) {
 						make_threads(group, FALSE);
 						grpmenu.curr = find_new_pos(old_top, old_artnum, grpmenu.curr);
@@ -331,7 +331,7 @@ group_page(
 				show_group_page();
 				break;
 
-			case GROUP_EDIT_FILTER:
+			case GLOBAL_EDIT_FILTER:
 				if (!invoke_editor(filter_file, FILTER_FILE_OFFSET))
 					break;
 				unfilter_articles();
@@ -343,18 +343,18 @@ group_page(
 				show_group_page();
 				break;
 
-			case GROUP_QUICK_AUTOSELECT:		/* quickly auto-select article */
-			case GROUP_QUICK_KILL:			/* quickly kill article */
+			case GLOBAL_QUICK_FILTER_SELECT:		/* quickly auto-select article */
+			case GLOBAL_QUICK_FILTER_KILL:			/* quickly kill article */
 				if (grpmenu.curr < 0) {
 					info_message(_(txt_no_arts));
 					break;
 				}
-				if ((!TINRC_CONFIRM_ACTION) || prompt_yn((func == GROUP_QUICK_KILL) ? _(txt_quick_filter_kill) : _(txt_quick_filter_select), TRUE) == 1) {
+				if ((!TINRC_CONFIRM_ACTION) || prompt_yn((func == GLOBAL_QUICK_FILTER_KILL) ? _(txt_quick_filter_kill) : _(txt_quick_filter_select), TRUE) == 1) {
 					old_top = top_art;
 					n = (int) base[grpmenu.curr]; /* should this depend on show_only_unread? */
 					old_artnum = arts[n].artnum;
-					if (quick_filter((func == GROUP_QUICK_KILL) ? FILTER_KILL : FILTER_SELECT, group, &arts[n])) {
-						info_message((func == GROUP_QUICK_KILL) ? _(txt_info_add_kill) : _(txt_info_add_select));
+					if (quick_filter((func == GLOBAL_QUICK_FILTER_KILL) ? FILTER_KILL : FILTER_SELECT, group, &arts[n])) {
+						info_message((func == GLOBAL_QUICK_FILTER_KILL) ? _(txt_info_add_kill) : _(txt_info_add_select));
 						if (filter_articles(group)) {
 							make_threads(group, FALSE);
 							/* TODO: position is wrong after quick killing a thread */
diff -Nurp tin-1.7.8/src/help.c tin-1.7.8.curr/src/help.c
--- tin-1.7.8/src/help.c	2005-03-14 11:54:07.000000000 +0100
+++ tin-1.7.8.curr/src/help.c	2005-03-14 15:55:54.000000000 +0100
@@ -209,10 +209,10 @@ static t_help_page group_help_page[] = {
 	{ txt_help_group_reverse_thread_selection, GROUP_REVERSE_SELECTIONS },
 	{ txt_help_group_undo_thread_selection, GROUP_UNDO_SELECTIONS },
 	{ txt_help_empty_line, NOT_ASSIGNED },
-	{ txt_help_article_autoselect, GROUP_AUTOSELECT },
-	{ txt_help_article_autokill, GROUP_KILL },
-	{ txt_help_article_quick_select, GROUP_QUICK_AUTOSELECT },
-	{ txt_help_article_quick_kill, GROUP_QUICK_KILL },
+	{ txt_help_article_autoselect, GLOBAL_MENU_FILTER_SELECT },
+	{ txt_help_article_autokill, GLOBAL_MENU_FILTER_KILL },
+	{ txt_help_article_quick_select, GLOBAL_QUICK_FILTER_SELECT },
+	{ txt_help_article_quick_kill, GLOBAL_QUICK_FILTER_KILL },
 	{ txt_help_empty_line, NOT_ASSIGNED },
 	{ txt_help_title_misc, NOT_ASSIGNED },
 	{ txt_help_global_previous_menu, GLOBAL_QUIT },
@@ -386,10 +386,10 @@ static t_help_page page_help_page[] = {
 	{ txt_help_group_mark_article_unread, GROUP_MARK_ARTICLE_UNREAD },
 	{ txt_help_group_mark_thread_unread, GROUP_MARK_THREAD_UNREAD },
 	{ txt_help_empty_line, NOT_ASSIGNED },
-	{ txt_help_article_autoselect, PAGE_AUTOSELECT },
-	{ txt_help_article_autokill, PAGE_KILL },
-	{ txt_help_article_quick_select, PAGE_QUICK_AUTOSELECT },
-	{ txt_help_article_quick_kill, PAGE_QUICK_KILL },
+	{ txt_help_article_autoselect, GLOBAL_MENU_FILTER_SELECT },
+	{ txt_help_article_autokill, GLOBAL_MENU_FILTER_KILL },
+	{ txt_help_article_quick_select, GLOBAL_QUICK_FILTER_SELECT },
+	{ txt_help_article_quick_kill, GLOBAL_QUICK_FILTER_KILL },
 	{ txt_help_article_cancel, PAGE_CANCEL },
 	{ txt_help_empty_line, NOT_ASSIGNED },
 	{ txt_help_title_misc, NOT_ASSIGNED },
@@ -557,7 +557,7 @@ show_mini_help(
 			snprintf(buf, bufs, _(txt_mini_group_1),
 				printascii(key[0], func_to_key(GROUP_NEXT_UNREAD_ARTICLE_OR_GROUP, group_keys)),
 				printascii(key[1], func_to_key(GLOBAL_SEARCH_SUBJECT_FORWARD, group_keys)),
-				printascii(key[2], func_to_key(GROUP_KILL, group_keys)));
+				printascii(key[2], func_to_key(GLOBAL_MENU_FILTER_KILL, group_keys)));
 			center_line(line, FALSE, buf);
 			snprintf(buf, bufs, _(txt_mini_group_2),
 				printascii(key[0], func_to_key(GLOBAL_SEARCH_AUTHOR_FORWARD, group_keys)),
@@ -603,7 +603,7 @@ show_mini_help(
 			snprintf(buf, bufs, _(txt_mini_page_1),
 				printascii(key[0], func_to_key(PAGE_NEXT_UNREAD, page_keys)),
 				printascii(key[1], func_to_key(GLOBAL_SEARCH_SUBJECT_FORWARD, page_keys)),
-				printascii(key[2], func_to_key(PAGE_KILL, page_keys)));
+				printascii(key[2], func_to_key(GLOBAL_MENU_FILTER_KILL, page_keys)));
 			center_line(line, FALSE, buf);
 			snprintf(buf, bufs, _(txt_mini_page_2),
 				printascii(key[0], func_to_key(GLOBAL_SEARCH_AUTHOR_FORWARD, page_keys)),
diff -Nurp tin-1.7.8/src/keymap.c tin-1.7.8.curr/src/keymap.c
--- tin-1.7.8/src/keymap.c	2005-03-14 11:54:14.000000000 +0100
+++ tin-1.7.8.curr/src/keymap.c	2005-03-14 15:41:35.000000000 +0100
@@ -494,6 +494,17 @@ process_mapping(
 			}
 			break;
 
+		case 'E':
+			if (strcmp(keyname, "EditFilter") == 0) {
+				process_keys(GLOBAL_EDIT_FILTER, keys, &group_keys);
+				process_keys(GLOBAL_EDIT_FILTER, keys, &page_keys);
+				process_keys(GLOBAL_EDIT_FILTER, keys, &select_keys);
+				process_keys(GLOBAL_EDIT_FILTER, keys, &thread_keys);
+
+				return TRUE;
+			}
+			break;
+
 		case 'F':
 			if (strcmp(keyname, "FeedArt") == 0) {
 				process_keys(FEED_ARTICLE, keys, &feed_type_keys);
@@ -558,11 +569,6 @@ process_mapping(
 
 				return TRUE;
 			}
-			if (strcmp(keyname, "GroupAutoSel") == 0) {
-				process_keys(GROUP_AUTOSELECT, keys, &group_keys);
-
-				return TRUE;
-			}
 			if (strcmp(keyname, "GroupBugReport") == 0) {
 				process_keys(GLOBAL_BUGREPORT, keys, &group_keys);
 
@@ -583,21 +589,11 @@ process_mapping(
 
 				return TRUE;
 			}
-			if (strcmp(keyname, "GroupEditFilter") == 0) {
-				process_keys(GROUP_EDIT_FILTER, keys, &group_keys);
-
-				return TRUE;
-			}
 			if (strcmp(keyname, "GroupGoto") == 0) {
 				process_keys(GROUP_GOTO, keys, &group_keys);
 
 				return TRUE;
 			}
-			if (strcmp(keyname, "GroupKill") == 0) {
-				process_keys(GROUP_KILL, keys, &group_keys);
-
-				return TRUE;
-			}
 			if (strcmp(keyname, "GroupListThd") == 0) {
 				process_keys(GROUP_LIST_THREAD, keys, &group_keys);
 
@@ -653,16 +649,6 @@ process_mapping(
 
 				return TRUE;
 			}
-			if (strcmp(keyname, "GroupQuickAutoSel") == 0) {
-				process_keys(GROUP_QUICK_AUTOSELECT, keys, &group_keys);
-
-				return TRUE;
-			}
-			if (strcmp(keyname, "GroupQuickKill") == 0) {
-				process_keys(GROUP_QUICK_KILL, keys, &group_keys);
-
-				return TRUE;
-			}
 			if (strcmp(keyname, "GroupReadBasenote") == 0) {
 				process_keys(GROUP_READ_BASENOTE, keys, &group_keys);
 
@@ -804,6 +790,20 @@ process_mapping(
 
 				return TRUE;
 			}
+			if (strcmp(keyname, "MenuFilterKill") == 0) {
+				process_keys(GLOBAL_MENU_FILTER_KILL, keys, &group_keys);
+				process_keys(GLOBAL_MENU_FILTER_KILL, keys, &page_keys);
+				process_keys(GLOBAL_MENU_FILTER_KILL, keys, &thread_keys);
+
+				return TRUE;
+			}
+			if (strcmp(keyname, "MenuFilterSelect") == 0) {
+				process_keys(GLOBAL_MENU_FILTER_SELECT, keys, &group_keys);
+				process_keys(GLOBAL_MENU_FILTER_SELECT, keys, &page_keys);
+				process_keys(GLOBAL_MENU_FILTER_SELECT, keys, &thread_keys);
+
+				return TRUE;
+			}
 			break;
 
 		case 'O':
@@ -820,21 +820,11 @@ process_mapping(
 			break;
 
 		case 'P':
-			if (strcmp(keyname, "PageAutoKill") == 0) {
-				process_keys(PAGE_KILL, keys, &page_keys);
-
-				return TRUE;
-			}
 			if (strcmp(keyname, "PageAutoSave") == 0) {
 				process_keys(PAGE_AUTOSAVE, keys, &page_keys);
 
 				return TRUE;
 			}
-			if (strcmp(keyname, "PageAutoSel") == 0) {
-				process_keys(PAGE_AUTOSELECT, keys, &page_keys);
-
-				return TRUE;
-			}
 			if (strcmp(keyname, "PageBotThd") == 0) {
 				process_keys(PAGE_BOTTOM_THREAD, keys, &page_keys);
 
@@ -880,11 +870,6 @@ process_mapping(
 
 				return TRUE;
 			}
-			if (strcmp(keyname, "PageEditFilter") == 0) {
-				process_keys(PAGE_EDIT_FILTER, keys, &page_keys);
-
-				return TRUE;
-			}
 			if (strcmp(keyname, "PageFirstPage") == 0) {
 				process_keys(GLOBAL_FIRST_PAGE, keys, &page_keys);
 
@@ -982,16 +967,6 @@ process_mapping(
 
 				return TRUE;
 			}
-			if (strcmp(keyname, "PageQuickAutoSel") == 0) {
-				process_keys(PAGE_QUICK_AUTOSELECT, keys, &page_keys);
-
-				return TRUE;
-			}
-			if (strcmp(keyname, "PageQuickKill") == 0) {
-				process_keys(PAGE_QUICK_KILL, keys, &page_keys);
-
-				return TRUE;
-			}
 			if (strcmp(keyname, "PageReply") == 0) {
 				process_keys(PAGE_REPLY, keys, &page_keys);
 
@@ -1257,6 +1232,18 @@ process_mapping(
 			break;
 
 		case 'Q':
+			if (strcmp(keyname, "QuickFilterKill") == 0) {
+				process_keys(GLOBAL_QUICK_FILTER_KILL, keys, &group_keys);
+				process_keys(GLOBAL_QUICK_FILTER_KILL, keys, &page_keys);
+
+				return TRUE;
+			}
+			if (strcmp(keyname, "QuickFilterSelect") == 0) {
+				process_keys(GLOBAL_QUICK_FILTER_SELECT, keys, &group_keys);
+				process_keys(GLOBAL_QUICK_FILTER_SELECT, keys, &page_keys);
+
+				return TRUE;
+			}
 			if (strcmp(keyname, "Quit") == 0) {
 				process_keys(GLOBAL_QUIT, keys, &feed_post_process_keys);
 				process_keys(GLOBAL_QUIT, keys, &feed_supersede_article_keys);
@@ -1400,11 +1387,6 @@ process_mapping(
 
 				return TRUE;
 			}
-			if (strcmp(keyname, "SelectEditFilter") == 0) {
-				process_keys(SELECT_EDIT_FILTER, keys, &select_keys);
-
-				return TRUE;
-			}
 			if (strcmp(keyname, "SelectEnterNextUnreadGrp") == 0) {
 				process_keys(SELECT_ENTER_NEXT_UNREAD_GROUP, keys, &select_keys);
 
@@ -1515,11 +1497,6 @@ process_mapping(
 
 				return TRUE;
 			}
-			if (strcmp(keyname, "ThreadAutoSel") == 0) {
-				process_keys(THREAD_AUTOSELECT, keys, &thread_keys);
-
-				return TRUE;
-			}
 			if (strcmp(keyname, "ThreadBugReport") == 0) {
 				process_keys(GLOBAL_BUGREPORT, keys, &thread_keys);
 
@@ -1535,16 +1512,6 @@ process_mapping(
 
 				return TRUE;
 			}
-			if (strcmp(keyname, "ThreadEditFilter") == 0) {
-				process_keys(THREAD_EDIT_FILTER, keys, &thread_keys);
-
-				return TRUE;
-			}
-			if (strcmp(keyname, "ThreadKill") == 0) {
-				process_keys(THREAD_KILL, keys, &thread_keys);
-
-				return TRUE;
-			}
 			if (strcmp(keyname, "ThreadMail") == 0) {
 				process_keys(THREAD_MAIL, keys, &thread_keys);
 
@@ -1696,14 +1663,19 @@ upgrade_keymap_file(
 	const char *keyname, *keydef;
 	char new[NAME_LEN + 1], buf[LEN];
 	char *config_select[2] = { NULL, NULL };
+	char *edit_filter[2] = { NULL, NULL };
 	char *down[2] = { NULL, NULL };
 	char *groupreadbasenote[2] = { NULL, NULL };
+	char *menu_filter_kill[3] = { NULL, NULL, NULL };
+	char *menu_filter_select[3] = { NULL, NULL, NULL };
 	char *pagedown[2] = { NULL, NULL };
 	char *pagenextthd[2] = { NULL, NULL };
 	char *pageup[3] = { NULL, NULL, NULL };
 	char *postponed[2] = { NULL, NULL };
 	char *postpost[3] = { NULL, NULL, NULL };
 	char *postsend[2] = { NULL, NULL };
+	char *quick_filter_kill[2] = { NULL, NULL };
+	char *quick_filter_select[2] = { NULL, NULL };
 	char *selectentergroup[2] = { NULL, NULL };
 	char *selectmarkgrpunread[2] = { NULL, NULL };
 	char *selectreadgrp[2] = { NULL, NULL };
@@ -1921,10 +1893,20 @@ upgrade_keymap_file(
 				break;
 
 			case 'G':
-				if (strcmp(keyname, "GroupReadBasenote") == 0)
+				if (strcmp(keyname, "GroupAutoSel") == 0)
+					menu_filter_select[0] = my_strdup(keydef);
+				else if (strcmp(keyname, "GroupQuickAutoSel") == 0)
+					quick_filter_select[0] = my_strdup(keydef);
+				else if (strcmp(keyname, "GroupQuickKill") == 0)
+					quick_filter_kill[0] = my_strdup(keydef);
+				else if (strcmp(keyname, "GroupKill") == 0)
+					menu_filter_kill[0] = my_strdup(keydef);
+				else if (strcmp(keyname, "GroupReadBasenote") == 0)
 					groupreadbasenote[0] = my_strdup(keydef);
 				else if (strcmp(keyname, "GroupReadBasenote2") == 0)
 					groupreadbasenote[1] = my_strdup(keydef);
+				else if (strcmp(keyname, "GroupEditFilter") == 0)
+					edit_filter[0] = my_strdup(keydef);
 				else
 					fprintf(newfp, "%s", backup);
 				break;
@@ -1953,10 +1935,20 @@ upgrade_keymap_file(
 				break;
 
 			case 'P':
-				if (strcmp(keyname, "PageDown") == 0)
+				if (strcmp(keyname, "PageAutoSel") == 0)
+					menu_filter_select[1] = my_strdup(keydef);
+				else if (strcmp(keyname, "PageQuickAutoSel") == 0)
+					quick_filter_select[1] = my_strdup(keydef);
+				else if (strcmp(keyname, "PageQuickKill") == 0)
+					quick_filter_kill[1] = my_strdup(keydef);
+				else if (strcmp(keyname, "PageAutoKill") == 0)
+					menu_filter_kill[1] = my_strdup(keydef);
+				else if (strcmp(keyname, "PageDown") == 0)
 					pagedown[0] = my_strdup(keydef);
 				else if (strcmp(keyname, "PageDown2") == 0)
 					pagedown[1] = my_strdup(keydef);
+				else if (strcmp(keyname, "PageEditFilter") == 0)
+					edit_filter[1] = my_strdup(keydef); 
 				else if (strcmp(keyname, "PageNextThd") == 0)
 					pagenextthd[0] = my_strdup(keydef);
 				else if (strcmp(keyname, "PageNextThd2") == 0)
@@ -1991,7 +1983,9 @@ upgrade_keymap_file(
 				break;
 
 			case 'S':
-				if (strcmp(keyname, "SelectEnterNextUnreadGrp") == 0)
+				if (strcmp(keyname, "SelectEditFilter") == 0)
+					;
+				else if (strcmp(keyname, "SelectEnterNextUnreadGrp") == 0)
 					selectentergroup[0] = my_strdup(keydef);
 				else if (strcmp(keyname, "SelectEnterNextUnreadGrp2") == 0)
 					selectentergroup[1] = my_strdup(keydef);
@@ -2008,18 +2002,24 @@ upgrade_keymap_file(
 				break;
 
 			case 'T':
-				if  (strcmp(keyname, "ThreadReadArt") == 0)
+				if (strcmp(keyname, "ThreadEditFilter") == 0)
+					;
+				else if (strcmp(keyname, "ThreadAutoSel") == 0)
+					menu_filter_select[2] = my_strdup(keydef);
+				else if (strcmp(keyname, "ThreadKill") == 0)
+					menu_filter_kill[2] = my_strdup(keydef);
+				else if (strcmp(keyname, "ThreadReadArt") == 0)
 					threadreadart[0] = my_strdup(keydef);
-				else if  (strcmp(keyname, "ThreadReadArt2") == 0)
+				else if (strcmp(keyname, "ThreadReadArt2") == 0)
 					threadreadart[1] = my_strdup(keydef);
 				else
 					fprintf(newfp, "%s", backup);
 				break;
 
 			case 'U':
-				if  (strcmp(keyname, "Up") == 0)
+				if (strcmp(keyname, "Up") == 0)
 					up[0] = my_strdup(keydef);
-				else if  (strcmp(keyname, "Up2") == 0)
+				else if (strcmp(keyname, "Up2") == 0)
 					up[1] = my_strdup(keydef);
 				else
 					fprintf(newfp, "%s", backup);
@@ -2029,6 +2029,76 @@ upgrade_keymap_file(
 		}
 		free(backup);
 	}
+	fprintf(newfp, "\n#####\n");
+	/* joined/renamed keys from different sections */
+	if (edit_filter[0] || edit_filter[1]) {
+		fprintf(newfp, "EditFilter\t");
+		if (edit_filter[0])
+			fprintf(newfp, "\t%s", edit_filter[0]);
+		if (edit_filter[1] && edit_filter[0] && strcmp(edit_filter[0], edit_filter[1]))
+			fprintf(newfp, "\t%s", edit_filter[1]);
+		fprintf(newfp, "\n");
+		FreeAndNull(edit_filter[0]);
+		FreeAndNull(edit_filter[1]);
+	}
+	if (menu_filter_kill[0] || menu_filter_kill[1] || menu_filter_kill[2]) {
+		fprintf(newfp, "MenuFilterKill\t");
+		if (menu_filter_kill[0] && menu_filter_kill[1] && !strcmp(menu_filter_kill[0], menu_filter_kill[1]))
+			FreeAndNull(menu_filter_kill[1]);
+		if (menu_filter_kill[0] && menu_filter_kill[2] && !strcmp(menu_filter_kill[0], menu_filter_kill[2]))
+			FreeAndNull(menu_filter_kill[2]);
+		if (menu_filter_kill[1] && menu_filter_kill[2] && !strcmp(menu_filter_kill[1], menu_filter_kill[2]))
+			FreeAndNull(menu_filter_kill[2]);
+		if (menu_filter_kill[0])
+			fprintf(newfp, "\t%s", menu_filter_kill[0]);
+		if (menu_filter_kill[1])
+			fprintf(newfp, "\t%s", menu_filter_kill[1]);
+		if (menu_filter_kill[2])
+			fprintf(newfp, "\t%s", menu_filter_kill[2]);
+		fprintf(newfp, "\n");
+		FreeAndNull(menu_filter_kill[0]);
+		FreeAndNull(menu_filter_kill[1]);
+		FreeAndNull(menu_filter_kill[2]);
+	}
+	if (menu_filter_select[0] || menu_filter_select[1] || menu_filter_select[2]) {
+		fprintf(newfp, "MenuFilterSelect\t");
+		if (menu_filter_select[0] && menu_filter_select[1] && !strcmp(menu_filter_select[0], menu_filter_select[1]))
+			FreeAndNull(menu_filter_select[1]);
+		if (menu_filter_select[0] && menu_filter_select[2] && !strcmp(menu_filter_select[0], menu_filter_select[2]))
+			FreeAndNull(menu_filter_select[2]);
+		if (menu_filter_select[1] && menu_filter_select[2] && !strcmp(menu_filter_select[1], menu_filter_select[2]))
+			FreeAndNull(menu_filter_select[2]);
+		if (menu_filter_select[0])
+			fprintf(newfp, "\t%s", menu_filter_select[0]);
+		if (menu_filter_select[1])
+			fprintf(newfp, "\t%s", menu_filter_select[1]);
+		if (menu_filter_select[2])
+			fprintf(newfp, "\t%s", menu_filter_select[2]);
+		fprintf(newfp, "\n");
+		FreeAndNull(menu_filter_select[0]);
+		FreeAndNull(menu_filter_select[1]);
+		FreeAndNull(menu_filter_select[2]);
+	}
+	if (quick_filter_kill[0] || quick_filter_kill[1]) {
+		fprintf(newfp, "QuickFilterKill\t");
+		if (quick_filter_kill[0])
+			fprintf(newfp, "\t%s", quick_filter_kill[0]);
+		if (quick_filter_kill[1] && quick_filter_kill[0] && strcmp(quick_filter_kill[0], quick_filter_kill[1]))
+			fprintf(newfp, "\t%s", quick_filter_kill[1]);
+		fprintf(newfp, "\n");
+		FreeAndNull(quick_filter_kill[0]);
+		FreeAndNull(quick_filter_kill[1]);
+	}
+	if (quick_filter_select[0] || quick_filter_select[1]) {
+		fprintf(newfp, "QuickFilterSelect\t");
+		if (quick_filter_select[0])
+			fprintf(newfp, "\t%s", quick_filter_select[0]);
+		if (quick_filter_select[1] && quick_filter_select[0] && strcmp(quick_filter_select[0], quick_filter_select[1]))
+			fprintf(newfp, "\t%s", quick_filter_select[1]);
+		fprintf(newfp, "\n");
+		FreeAndNull(quick_filter_select[0]);
+		FreeAndNull(quick_filter_select[1]);
+	}
 	fclose(oldfp);
 	fclose(newfp);
 	rename(new, old);
@@ -2062,7 +2132,7 @@ setup_default_keys(
 	add_default_key(&select_keys, 'y', SELECT_YANK_ACTIVE);
 	add_default_key(&select_keys, 'z', SELECT_MARK_GROUP_UNREAD);
 	add_default_key(&select_keys, 'C', SELECT_CATCHUP_NEXT_UNREAD);
-	add_default_key(&select_keys, 'E', SELECT_EDIT_FILTER);
+	add_default_key(&select_keys, 'E', GLOBAL_EDIT_FILTER);
 	add_default_key(&select_keys, 'N', SELECT_NEXT_UNREAD_GROUP);
 	add_default_key(&select_keys, 'S', SELECT_SUBSCRIBE_PATTERN);
 	add_default_key(&select_keys, 'U', SELECT_UNSUBSCRIBE_PATTERN);
@@ -2075,9 +2145,9 @@ setup_default_keys(
 
 	/* group level */
 	add_global_keys(&group_keys);
-	add_default_key(&group_keys, ctrl('A'), GROUP_AUTOSELECT);
+	add_default_key(&group_keys, ctrl('A'), GLOBAL_MENU_FILTER_SELECT);
 	add_default_key(&group_keys, ctrl('J'), GROUP_READ_BASENOTE);
-	add_default_key(&group_keys, ctrl('K'), GROUP_KILL);
+	add_default_key(&group_keys, ctrl('K'), GLOBAL_MENU_FILTER_KILL);
 	add_default_key(&group_keys, ctrl('M'), GROUP_READ_BASENOTE);
 	add_default_key(&group_keys, 'a', GLOBAL_SEARCH_AUTHOR_FORWARD);
 	add_default_key(&group_keys, 'c', GROUP_CATCHUP);
@@ -2099,7 +2169,7 @@ setup_default_keys(
 	add_default_key(&group_keys, 'A', GLOBAL_SEARCH_AUTHOR_BACKWARD);
 	add_default_key(&group_keys, 'B', GLOBAL_SEARCH_BODY);
 	add_default_key(&group_keys, 'C', GROUP_CATCHUP_NEXT_UNREAD);
-	add_default_key(&group_keys, 'E', GROUP_EDIT_FILTER);
+	add_default_key(&group_keys, 'E', GLOBAL_EDIT_FILTER);
 	add_default_key(&group_keys, 'G', GROUP_TOGGLE_GET_ARTICLES_LIMIT);
 	add_default_key(&group_keys, 'K', GROUP_MARK_THREAD_READ);
 	add_default_key(&group_keys, 'L', GLOBAL_LOOKUP_MESSAGEID);
@@ -2114,8 +2184,8 @@ setup_default_keys(
 	add_default_key(&group_keys, ' ', GLOBAL_PAGE_DOWN);
 	add_default_key(&group_keys, '-', GLOBAL_LAST_VIEWED);
 	add_default_key(&group_keys, '|', GLOBAL_PIPE);
-	add_default_key(&group_keys, '[', GROUP_QUICK_AUTOSELECT);
-	add_default_key(&group_keys, ']', GROUP_QUICK_KILL);
+	add_default_key(&group_keys, '[', GLOBAL_QUICK_FILTER_SELECT);
+	add_default_key(&group_keys, ']', GLOBAL_QUICK_FILTER_KILL);
 	add_default_key(&group_keys, '*', GROUP_SELECT_THREAD);
 	add_default_key(&group_keys, '.', GROUP_TOGGLE_SELECT_THREAD);
 	add_default_key(&group_keys, '@', GROUP_REVERSE_SELECTIONS);
@@ -2126,8 +2196,8 @@ setup_default_keys(
 
 	/* thread keys */
 	add_global_keys(&thread_keys);
-	add_default_key(&thread_keys, ctrl('A'), THREAD_AUTOSELECT);
-	add_default_key(&thread_keys, ctrl('K'), THREAD_KILL);
+	add_default_key(&thread_keys, ctrl('A'), GLOBAL_MENU_FILTER_SELECT);
+	add_default_key(&thread_keys, ctrl('K'), GLOBAL_MENU_FILTER_KILL);
 	add_default_key(&thread_keys, ctrl('J'), THREAD_READ_ARTICLE);
 	add_default_key(&thread_keys, ctrl('M'), THREAD_READ_ARTICLE);
 	add_default_key(&thread_keys, 'a', GLOBAL_SEARCH_AUTHOR_FORWARD);
@@ -2143,7 +2213,7 @@ setup_default_keys(
 	add_default_key(&thread_keys, 'A', GLOBAL_SEARCH_AUTHOR_BACKWARD);
 	add_default_key(&thread_keys, 'B', GLOBAL_SEARCH_BODY);
 	add_default_key(&thread_keys, 'C', THREAD_CATCHUP_NEXT_UNREAD);
-	add_default_key(&thread_keys, 'E', THREAD_EDIT_FILTER);
+	add_default_key(&thread_keys, 'E', GLOBAL_EDIT_FILTER);
 	add_default_key(&thread_keys, 'K', THREAD_MARK_ARTICLE_READ);
 	add_default_key(&thread_keys, 'L', GLOBAL_LOOKUP_MESSAGEID);
 	add_default_key(&thread_keys, 'S', THREAD_AUTOSAVE);
@@ -2160,14 +2230,14 @@ setup_default_keys(
 
 	/* page level */
 	add_global_keys(&page_keys);
-	add_default_key(&page_keys, ctrl('A'), PAGE_AUTOSELECT);
+	add_default_key(&page_keys, ctrl('A'), GLOBAL_MENU_FILTER_SELECT);
 	add_default_key(&page_keys, ctrl('E'), PAGE_REPLY_QUOTE_HEADERS);
 #ifdef HAVE_PGP_GPG
 	add_default_key(&page_keys, ctrl('G'), PAGE_PGP_CHECK_ARTICLE);
 #endif /* HAVE_PGP_GPG */
 	add_default_key(&page_keys, ctrl('H'), PAGE_TOGGLE_HEADERS);
 	add_default_key(&page_keys, ctrl('J'), PAGE_NEXT_THREAD);
-	add_default_key(&page_keys, ctrl('K'), PAGE_KILL);
+	add_default_key(&page_keys, ctrl('K'), GLOBAL_MENU_FILTER_KILL);
 	add_default_key(&page_keys, ctrl('M'), PAGE_NEXT_THREAD);
 	add_default_key(&page_keys, ctrl('T'), PAGE_TOGGLE_TABS);
 	add_default_key(&page_keys, ctrl('W'), PAGE_FOLLOWUP_QUOTE_HEADERS);
@@ -2193,7 +2263,7 @@ setup_default_keys(
 	add_default_key(&page_keys, 'B', GLOBAL_SEARCH_BODY);
 	add_default_key(&page_keys, 'C', PAGE_CATCHUP_NEXT_UNREAD);
 	add_default_key(&page_keys, 'D', PAGE_CANCEL);
-	add_default_key(&page_keys, 'E', PAGE_EDIT_FILTER);
+	add_default_key(&page_keys, 'E', GLOBAL_EDIT_FILTER);
 	add_default_key(&page_keys, 'F', PAGE_FOLLOWUP);
 	add_default_key(&page_keys, 'G', GLOBAL_LAST_PAGE);
 	add_default_key(&page_keys, 'K', PAGE_MARK_THREAD_READ);
@@ -2215,8 +2285,8 @@ setup_default_keys(
 	add_default_key(&page_keys, '"', PAGE_TOGGLE_TEX2ISO);
 	add_default_key(&page_keys, '(', PAGE_TOGGLE_UUE);
 	add_default_key(&page_keys, ')', PAGE_REVEAL);
-	add_default_key(&page_keys, '[', PAGE_QUICK_AUTOSELECT);
-	add_default_key(&page_keys, ']', PAGE_QUICK_KILL);
+	add_default_key(&page_keys, '[', GLOBAL_QUICK_FILTER_SELECT);
+	add_default_key(&page_keys, ']', GLOBAL_QUICK_FILTER_KILL);
 	add_default_key(&page_keys, '%', PAGE_TOGGLE_ROT13);
 	add_default_key(&page_keys, ':', PAGE_SKIP_INCLUDED_TEXT);
 	add_default_key(&page_keys, '_', PAGE_TOGGLE_HIGHLIGHTING);
diff -Nurp tin-1.7.8/src/page.c tin-1.7.8.curr/src/page.c
--- tin-1.7.8/src/page.c	2005-03-14 11:54:13.000000000 +0100
+++ tin-1.7.8.curr/src/page.c	2005-03-14 14:37:00.000000000 +0100
@@ -684,25 +684,25 @@ page_goto_next_unread:
 				/* TODO: info_message()? */
 				break;
 
-			case PAGE_QUICK_AUTOSELECT:	/* quickly auto-select article */
-			case PAGE_QUICK_KILL:		/* quickly kill article */
-				if ((filtered_articles = quick_filter((func == PAGE_QUICK_KILL) ? FILTER_KILL : FILTER_SELECT, group, &arts[this_resp])))
+			case GLOBAL_QUICK_FILTER_SELECT:	/* quickly auto-select article */
+			case GLOBAL_QUICK_FILTER_KILL:		/* quickly kill article */
+				if ((filtered_articles = quick_filter((func == GLOBAL_QUICK_FILTER_KILL) ? FILTER_KILL : FILTER_SELECT, group, &arts[this_resp])))
 					goto return_to_index;
 
 				draw_page(group->name, 0);
 				break;
 
-			case PAGE_AUTOSELECT:		/* auto-select article menu */
-			case PAGE_KILL:			/* kill article menu */
+			case GLOBAL_MENU_FILTER_SELECT:		/* auto-select article menu */
+			case GLOBAL_MENU_FILTER_KILL:			/* kill article menu */
 				XFACE_CLEAR();
-				if (filter_menu((func == PAGE_KILL) ? FILTER_KILL : FILTER_SELECT, group, &arts[this_resp])) {
+				if (filter_menu((func == GLOBAL_MENU_FILTER_KILL) ? FILTER_KILL : FILTER_SELECT, group, &arts[this_resp])) {
 					if ((filtered_articles = filter_articles(group)))
 						goto return_to_index;
 				}
 				draw_page(group->name, 0);
 				break;
 
-			case PAGE_EDIT_FILTER:
+			case GLOBAL_EDIT_FILTER:
 				XFACE_CLEAR();
 				if (!invoke_editor(filter_file, FILTER_FILE_OFFSET))
 					break;
diff -Nurp tin-1.7.8/src/select.c tin-1.7.8.curr/src/select.c
--- tin-1.7.8/src/select.c	2005-03-14 11:54:11.000000000 +0100
+++ tin-1.7.8.curr/src/select.c	2005-03-14 14:09:42.000000000 +0100
@@ -252,7 +252,7 @@ selection_page(
 					info_message(_(txt_no_groups));
 				break;
 
-			case SELECT_EDIT_FILTER:
+			case GLOBAL_EDIT_FILTER:
 				if (!invoke_editor(filter_file, FILTER_FILE_OFFSET))
 					break;
 				(void) read_filter_file(filter_file);
diff -Nurp tin-1.7.8/src/thread.c tin-1.7.8.curr/src/thread.c
--- tin-1.7.8/src/thread.c	2005-03-14 11:54:08.000000000 +0100
+++ tin-1.7.8.curr/src/thread.c	2005-03-14 14:37:40.000000000 +0100
@@ -536,14 +536,14 @@ thread_page(
 					feed_articles(FEED_AUTOSAVE, THREAD_LEVEL, group, (int) base[grpmenu.curr]);
 				break;
 
-			case THREAD_AUTOSELECT:
-			case THREAD_KILL:
+			case GLOBAL_MENU_FILTER_SELECT:
+			case GLOBAL_MENU_FILTER_KILL:
             /*
 				 * FIXME: a filter which kills all remaining messages in a thread
 				 *        is 'troublesome'
 				 */
 				n = find_response(thread_basenote, thdmenu.curr);
-				filter_menu((func == THREAD_KILL) ? FILTER_KILL : FILTER_SELECT, group, &arts[n]);
+				filter_menu((func == GLOBAL_MENU_FILTER_KILL) ? FILTER_KILL : FILTER_SELECT, group, &arts[n]);
 				if (filter_articles(group)) {
 					make_threads(group, FALSE);
 					if ((n = next_unread(n)) == -1) {
@@ -555,7 +555,7 @@ thread_page(
 				show_thread_page();
 				break;
 
-			case THREAD_EDIT_FILTER:
+			case GLOBAL_EDIT_FILTER:
 				if (!invoke_editor(filter_file, FILTER_FILE_OFFSET))
 					break;
 				unfilter_articles();
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.