summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--match.c6
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 91978a74..868df28e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/match.c b/match.c
index 01d96bf5..81d7df95 100644
--- a/match.c
+++ b/match.c
@@ -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 {