diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2011-10-01 12:46:12 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2011-10-01 12:46:12 -0700 |
commit | 0db4948c41acbf4424762c82bb5022d457d2537e (patch) | |
tree | 451435b5258d0986a789869d98e0dcbf8811cac4 | |
parent | 43d57181bce58c8f34d1b6a7e0235aa9d729a717 (diff) | |
parent | a1349b59841b14b2a458b46ba36ed085becbdbd9 (diff) | |
download | txr-0db4948c41acbf4424762c82bb5022d457d2537e.tar.gz txr-0db4948c41acbf4424762c82bb5022d457d2537e.tar.bz2 txr-0db4948c41acbf4424762c82bb5022d457d2537e.zip |
Merge commit '4afe959'
Conflicts:
ChangeLog
Lost commit.
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | match.c | 2 | ||||
-rw-r--r-- | parser.y | 2 |
3 files changed, 11 insertions, 2 deletions
@@ -1,5 +1,14 @@ 2011-10-01 Kaz Kylheku <kaz@kylheku.com> + Regression bug fix: longest match variables broken by + 2011-09-28 commit which introduced the double var match. + + * match.c (match_line): Handle case where modifier is t. + + * parser.y (var_op): Produce modifir as (t) rather than t. + +2011-10-01 Kaz Kylheku <kaz@kylheku.com> + * txr.1: Documented choose and horizontal mode for paralle constructs. @@ -375,7 +375,7 @@ static val match_line(val bindings, val specline, val dataline, specline = cons(pat, rest(specline)); continue; } - } else if (modifier) { + } else if (modifier && modifier != t) { sem_error(spec_lineno, lit("invalid modifier ~s on variable ~s"), modifier, sym, nao); } else if (pat == nil) { /* no modifier, no elem -> to end of line */ @@ -473,7 +473,7 @@ var : IDENT { $$ = list(var_s, intern(string_own($1), nil), yybadtoken(yychar, lit("variable spec")); } ; -var_op : '*' { $$ = t; } +var_op : '*' { $$ = list(t, nao); } ; list : '(' exprs ')' { $$ = $2; } |