From 448e21f5be51915fe22778c937cc26694e16a1b1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ho=C3=A0=20Vi=C3=AAt=20Dinh?= Date: Wed, 17 Sep 2003 08:59:33 +0000 Subject: [PATCH] matcher grammar: in condition, "execute" is changed to "test" (solve a bug) --- ChangeLog.claws | 9 +++++++++ TODO.claws | 2 -- configure.ac | 2 +- src/matcher.c | 22 +++++++++++----------- src/matcher.h | 2 +- src/matcher_parser_parse.y | 11 ++++++----- src/prefs_matcher.c | 24 ++++++++++++------------ 7 files changed, 40 insertions(+), 32 deletions(-) diff --git a/ChangeLog.claws b/ChangeLog.claws index 67d1ff8c2..5e974a852 100644 --- a/ChangeLog.claws +++ b/ChangeLog.claws @@ -1,3 +1,12 @@ +2003-09-17 [hoa] 0.9.5claws18 + + * changed the keyword used for command execution in condition + keyword is changed from "execute" to "test" + so that it is not the same as the one used for action. + This will fix a bug when using filtering dialog. + All semantic in the code is also changed to reflect + the keyword change. + 2003-09-17 [paul] * sync with 0.9.6 release diff --git a/TODO.claws b/TODO.claws index 8537cb0df..37b62c3ef 100644 --- a/TODO.claws +++ b/TODO.claws @@ -17,11 +17,9 @@ win32 0.8.0claws+ [hoa] o work on sylpheed :) - o several actions on filtering condition o separate code of compose dialog and building of message compose should return some kind of MIME structure so that a message can be built. - o use libEtPan! in sylpheed [christoph] diff --git a/configure.ac b/configure.ac index 5f1b36e15..fb3ed539a 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=9 MICRO_VERSION=5 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=17 +EXTRA_VERSION=18 if test $EXTRA_VERSION -eq 0; then VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}claws else diff --git a/src/matcher.c b/src/matcher.c index 9a1585ac3..59e21d24b 100644 --- a/src/matcher.c +++ b/src/matcher.c @@ -100,8 +100,8 @@ static const MatchParser matchparser_tab[] = { {MATCHCRITERIA_NOT_MESSAGE, "~message"}, {MATCHCRITERIA_BODY_PART, "body_part"}, {MATCHCRITERIA_NOT_BODY_PART, "~body_part"}, - {MATCHCRITERIA_EXECUTE, "execute"}, - {MATCHCRITERIA_NOT_EXECUTE, "~execute"}, + {MATCHCRITERIA_TEST, "test"}, + {MATCHCRITERIA_NOT_TEST, "~test"}, /* match type */ {MATCHTYPE_MATCHCASE, "matchcase"}, @@ -446,7 +446,7 @@ static gboolean matcherprop_string_match(MatcherProp *prop, const gchar *str) * *\return gboolean TRUE if command was executed succesfully */ -static gboolean matcherprop_match_execute(const MatcherProp *prop, +static gboolean matcherprop_match_test(const MatcherProp *prop, MsgInfo *info) { gchar *file; @@ -577,10 +577,10 @@ gboolean matcherprop_match(MatcherProp *prop, return matcherprop_string_match(prop, info->references); case MATCHCRITERIA_NOT_REFERENCES: return !matcherprop_string_match(prop, info->references); - case MATCHCRITERIA_EXECUTE: - return matcherprop_match_execute(prop, info); - case MATCHCRITERIA_NOT_EXECUTE: - return !matcherprop_match_execute(prop, info); + case MATCHCRITERIA_TEST: + return matcherprop_match_test(prop, info); + case MATCHCRITERIA_NOT_TEST: + return !matcherprop_match_test(prop, info); default: return 0; } @@ -1028,8 +1028,8 @@ gboolean matcherlist_match(MatcherList *matchers, MsgInfo *info) case MATCHCRITERIA_SIZE_GREATER: case MATCHCRITERIA_SIZE_SMALLER: case MATCHCRITERIA_SIZE_EQUAL: - case MATCHCRITERIA_EXECUTE: - case MATCHCRITERIA_NOT_EXECUTE: + case MATCHCRITERIA_TEST: + case MATCHCRITERIA_NOT_TEST: if (matcherprop_match(matcher, info)) { if (!matchers->bool_and) { return TRUE; @@ -1110,8 +1110,8 @@ gchar *matcherprop_to_string(MatcherProp *matcher) case MATCHCRITERIA_IGNORE_THREAD: case MATCHCRITERIA_NOT_IGNORE_THREAD: return g_strdup(criteria_str); - case MATCHCRITERIA_EXECUTE: - case MATCHCRITERIA_NOT_EXECUTE: + case MATCHCRITERIA_TEST: + case MATCHCRITERIA_NOT_TEST: expr = matcher_escape_str(matcher->expr); matcher_str = g_strdup_printf("%s \"%s\"", criteria_str, expr); g_free((gpointer) expr); diff --git a/src/matcher.h b/src/matcher.h index 414df2e47..9c1978472 100644 --- a/src/matcher.h +++ b/src/matcher.h @@ -93,7 +93,7 @@ enum { MC_(HEADERS_PART), MC_(NOT_HEADERS_PART), MC_(MESSAGE), MC_(NOT_MESSAGE), MC_(BODY_PART), MC_(NOT_BODY_PART), - MC_(EXECUTE), MC_(NOT_EXECUTE), + MC_(TEST), MC_(NOT_TEST), MC_(SCORE_EQUAL), MC_(SIZE_GREATER), MC_(SIZE_SMALLER), diff --git a/src/matcher_parser_parse.y b/src/matcher_parser_parse.y index bbe8a6d8c..72dbaa2fa 100644 --- a/src/matcher_parser_parse.y +++ b/src/matcher_parser_parse.y @@ -245,9 +245,10 @@ int matcher_parserwrap(void) %token MATCHER_SCORE_LOWER MATCHER_HEADER MATCHER_NOT_HEADER %token MATCHER_HEADERS_PART MATCHER_NOT_HEADERS_PART MATCHER_MESSAGE %token MATCHER_NOT_MESSAGE MATCHER_BODY_PART MATCHER_NOT_BODY_PART -%token MATCHER_EXECUTE MATCHER_NOT_EXECUTE MATCHER_MATCHCASE MATCHER_MATCH +%token MATCHER_TEST MATCHER_NOT_TEST MATCHER_MATCHCASE MATCHER_MATCH %token MATCHER_REGEXPCASE MATCHER_REGEXP MATCHER_SCORE MATCHER_MOVE %token MATCHER_COPY MATCHER_DELETE MATCHER_MARK MATCHER_UNMARK MATCHER_LOCK MATCHER_UNLOCK +%token MATCHER_EXECUTE %token MATCHER_MARK_AS_READ MATCHER_MARK_AS_UNREAD MATCHER_FORWARD %token MATCHER_FORWARD_AS_ATTACHMENT MATCHER_EOL MATCHER_STRING %token MATCHER_OR MATCHER_AND @@ -870,21 +871,21 @@ MATCHER_ALL expr = $3; prop = matcherprop_unquote_new(criteria, NULL, match_type, expr, 0); } -| MATCHER_EXECUTE MATCHER_STRING +| MATCHER_TEST MATCHER_STRING { gint criteria = 0; gchar *expr = NULL; - criteria = MATCHCRITERIA_EXECUTE; + criteria = MATCHCRITERIA_TEST; expr = $2; prop = matcherprop_unquote_new(criteria, NULL, 0, expr, 0); } -| MATCHER_NOT_EXECUTE MATCHER_STRING +| MATCHER_NOT_TEST MATCHER_STRING { gint criteria = 0; gchar *expr = NULL; - criteria = MATCHCRITERIA_NOT_EXECUTE; + criteria = MATCHCRITERIA_NOT_TEST; expr = $2; prop = matcherprop_unquote_new(criteria, NULL, 0, expr, 0); } diff --git a/src/prefs_matcher.c b/src/prefs_matcher.c index 088b70a83..eb8a5fc93 100644 --- a/src/prefs_matcher.c +++ b/src/prefs_matcher.c @@ -128,7 +128,7 @@ enum { CRITERIA_SCORE_LOWER = 25, CRITERIA_SCORE_EQUAL = 26, - CRITERIA_EXECUTE = 27, + CRITERIA_TEST = 27, CRITERIA_SIZE_GREATER = 28, CRITERIA_SIZE_SMALLER = 29, @@ -881,9 +881,9 @@ static gint prefs_matcher_get_criteria_from_matching(gint matching_id) return CRITERIA_SCORE_LOWER; case MATCHCRITERIA_SCORE_EQUAL: return CRITERIA_SCORE_EQUAL; - case MATCHCRITERIA_NOT_EXECUTE: - case MATCHCRITERIA_EXECUTE: - return CRITERIA_EXECUTE; + case MATCHCRITERIA_NOT_TEST: + case MATCHCRITERIA_TEST: + return CRITERIA_TEST; case MATCHCRITERIA_SIZE_GREATER: return CRITERIA_SIZE_GREATER; case MATCHCRITERIA_SIZE_SMALLER: @@ -960,8 +960,8 @@ static gint prefs_matcher_get_matching_from_criteria(gint criteria_id) return MATCHCRITERIA_BODY_PART; case CRITERIA_MESSAGE: return MATCHCRITERIA_MESSAGE; - case CRITERIA_EXECUTE: - return MATCHCRITERIA_EXECUTE; + case CRITERIA_TEST: + return MATCHCRITERIA_TEST; case CRITERIA_SIZE_GREATER: return MATCHCRITERIA_SIZE_GREATER; case CRITERIA_SIZE_SMALLER: @@ -1024,8 +1024,8 @@ static gint prefs_matcher_not_criteria(gint matcher_criteria) return MATCHCRITERIA_NOT_HEADERS_PART; case MATCHCRITERIA_MESSAGE: return MATCHCRITERIA_NOT_MESSAGE; - case MATCHCRITERIA_EXECUTE: - return MATCHCRITERIA_NOT_EXECUTE; + case MATCHCRITERIA_TEST: + return MATCHCRITERIA_NOT_TEST; case MATCHCRITERIA_BODY_PART: return MATCHCRITERIA_NOT_BODY_PART; default: @@ -1072,7 +1072,7 @@ static MatcherProp *prefs_matcher_dialog_to_matcher(void) case CRITERIA_REPLIED: case CRITERIA_FORWARDED: case CRITERIA_LOCKED: - case CRITERIA_EXECUTE: + case CRITERIA_TEST: case CRITERIA_COLORLABEL: case CRITERIA_IGNORE_THREAD: if (value_pred_flag == PREDICATE_FLAG_DISABLED) @@ -1137,7 +1137,7 @@ static MatcherProp *prefs_matcher_dialog_to_matcher(void) case CRITERIA_HEADERS_PART: case CRITERIA_BODY_PART: case CRITERIA_MESSAGE: - case CRITERIA_EXECUTE: + case CRITERIA_TEST: expr = gtk_entry_get_text(GTK_ENTRY(matcher.value_entry)); break; @@ -1374,7 +1374,7 @@ static void prefs_matcher_select(GtkCList *clist, gint row, gint column, case MATCHCRITERIA_HEADERS_PART: case MATCHCRITERIA_BODY_PART: case MATCHCRITERIA_MESSAGE: - case MATCHCRITERIA_EXECUTE: + case MATCHCRITERIA_TEST: gtk_entry_set_text(GTK_ENTRY(matcher.value_entry), prop->expr); break; @@ -1558,7 +1558,7 @@ static void prefs_matcher_criteria_select(GtkList *list, gtk_widget_set_sensitive(matcher.exec_btn, FALSE); break; - case CRITERIA_EXECUTE: + case CRITERIA_TEST: gtk_widget_set_sensitive(matcher.header_combo, FALSE); gtk_widget_set_sensitive(matcher.header_label, FALSE); gtk_widget_set_sensitive(matcher.value_label, TRUE); -- 2.25.1