summaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2014-08-12 20:37:52 -0700
committerKaz Kylheku <kaz@kylheku.com>2014-08-12 20:37:52 -0700
commit9aee8dd619826e3fa73f665e72522a342742af0b (patch)
treedd1b9ee77ea67ae3d2a95954651cde272faf969e /ChangeLog
parent17c43f985b8c707e997fe65a20ce31430f51bb36 (diff)
downloadtxr-9aee8dd619826e3fa73f665e72522a342742af0b.tar.gz
txr-9aee8dd619826e3fa73f665e72522a342742af0b.tar.bz2
txr-9aee8dd619826e3fa73f665e72522a342742af0b.zip
When a variable is delimited by some form other than
the contents of a variable, fixed string or regex, we now use the entire tail of the specline to find the match. So for instance @var@(trailer)foo works as intuition might expect. * match.c (search_form): Static function removed. (search_match): New static function based on search_form. Does not handle regexes, and does not update c->bindings. (h_var): Renamed local variable pat to next. Added a few missing rlcp's. Combined the cases when pat is a cons to one block so consp isn't repeatedly tested. Function now handles a var followed by (sys:text ...) elements specially; the first element of the text block is pulled out and matched. Implemented "var delimiting spec" general case which matches the entire tail of the spec at successive character positions until a match is found, and the skipped text goes into the variable.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog21
1 files changed, 21 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index d9a06d9a..f042933a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2014-08-12 Kaz Kylheku <kaz@kylheku.com>
+
+ When a variable is delimited by some form other than
+ the contents of a variable, fixed string or regex, we now
+ use the entire tail of the specline to find the match.
+ So for instance @var@(trailer)foo works as intuition
+ might expect.
+
+ * match.c (search_form): Static function removed.
+ (search_match): New static function based on search_form.
+ Does not handle regexes, and does not update c->bindings.
+ (h_var): Renamed local variable pat to next. Added a few
+ missing rlcp's. Combined the cases when pat is a cons to
+ one block so consp isn't repeatedly tested. Function now
+ handles a var followed by (sys:text ...) elements specially;
+ the first element of the text block is pulled out and
+ matched. Implemented "var delimiting spec" general case
+ which matches the entire tail of the spec at successive
+ character positions until a match is found, and the skipped
+ text goes into the variable.
+
2014-08-11 Kaz Kylheku <kaz@kylheku.com>
First cut at restructuring how variable matching works in the pattern