diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | match.c | 6 |
2 files changed, 10 insertions, 2 deletions
@@ -1,5 +1,11 @@ 2011-10-08 Kaz Kylheku <kaz@kylheku.com> + * match.c (match_line): Skip directive bugfix. If skip is the + last item on the line, it must match the whole line by returning + success. + +2011-10-08 Kaz Kylheku <kaz@kylheku.com> + * match.c (mintimes_k, maxtimes_k): New keyword variables. (match_line): Implemented :mintimes and :maxtimes, changing the semantics of :times. @@ -495,8 +495,10 @@ static val match_line(val bindings, val specline, val dataline, val greedy = eq(max, greedy_k); val last_good_result = nil, last_good_pos = nil; - if (!rest(specline)) - break; + if (!rest(specline)) { + debuglf(lit("skip to end of line ~a:~a"), file, data_lineno); + return cons(bindings, t); + } { cnum reps_max = 0, reps_min = 0; |