diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | match.c | 6 |
2 files changed, 9 insertions, 2 deletions
@@ -1,5 +1,10 @@ 2011-09-28 Kaz Kylheku <kaz@kylheku.com> + * match.c (match_line): Bugfix in double var. Do not + prepend the next_pat to the specline if it is nil. + +2011-09-28 Kaz Kylheku <kaz@kylheku.com> + * match.c (match_line): Logic restructured to allow for regex variables which also have nested variables. Previously this code was assuming that the cases were @@ -433,8 +433,10 @@ static val match_line(val bindings, val specline, val dataline, pos = fpos; LOG_MATCH("double var regex (second var)", plus(fpos, flen)); pos = plus(fpos, flen); - specline = cons(next_pat, rest(specline)); - continue; + if (next_pat) { + specline = cons(next_pat, rest(specline)); + continue; + } } else if (!pair) { sem_error(spec_lineno, lit("consecutive unbound variables"), nao); } else { |