From c1202a71a068c13a17b69348a6d7736b8855be0c Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Wed, 23 Nov 2011 10:46:32 -0800 Subject: Semantics change. If a variable is followed by a mixture of text and regular expressions, that whole mixture is considered to follow the variable and used for matching. The earlier semantics change whereby a single unescaped space denotes the regular expression / +/ broke the simple case @a word. It caused the @a to be followed not by the text " word" but by just the regular expression element. With this change @a word means that a is followed by the regex / +/ and "word". * match.c (text_s): New symbol variable. (h_text): New function. (syms_init): Initialize new symbol variable. (dir_tables_init): Hook h_text into horizontal directives table. * match.h (text_s): Declared. * parser.y (text, texts): New nonterminals. (elem): TEXT, SPACE and regex are now handled under texts grammar production. All texts are run together and produce an item which looks like (text items ...). * txr.1, RELNOTES: Updated. * txr.c (remove_hash_bang_line): Updated to find #! buried in (text ...) syntax. --- RELNOTES | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'RELNOTES') diff --git a/RELNOTES b/RELNOTES index c214d239..9f9c16a1 100644 --- a/RELNOTES +++ b/RELNOTES @@ -1,14 +1,21 @@ - (future release) - TXR 043 - 201?-??-?? + (future release) + TXR 043 + 201?-??-?? Bugs - Buggy @(eol) directive fixed. - (current release) - TXR 042 - 2011-11-20 + - Semantics change for text and regular expressions in "negative match": + - a variable is considered to be followed by a run of text which + consists of any mixture of regexes and literal text + - thus @foo bar behaves properly once again; it is not treated + as foo followed by the regex / +/, ignoring the text bar. + + + (current release) + TXR 042 + 2011-11-20 @@ -79,8 +86,8 @@ - TXR 041 - 2011-10-30 + TXR 041 + 2011-10-30 Features -- cgit v1.2.3