summaryrefslogtreecommitdiffstats
path: root/match.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2011-09-27 18:39:22 -0700
committerKaz Kylheku <kaz@kylheku.com>2011-09-27 18:39:22 -0700
commit0a6161f1d4c617582cab236042eea6a628e81bd3 (patch)
treef5a30dc8439b639c537108c98ac9edd151d26016 /match.c
parentdc20e04cf1e2645158d01f1fc06d744402a1ee99 (diff)
downloadtxr-0a6161f1d4c617582cab236042eea6a628e81bd3.tar.gz
txr-0a6161f1d4c617582cab236042eea6a628e81bd3.tar.bz2
txr-0a6161f1d4c617582cab236042eea6a628e81bd3.zip
* match.c (match_files): Another bugfix to skip.
If a hard skip tries to go beyond EOF, then the query must fail. However, a skip to exactly EOF is fine. I.e. data can hit nil at the same time as the right number of skip iterations is performed.
Diffstat (limited to 'match.c')
-rw-r--r--match.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/match.c b/match.c
index bb44ff52..ab0cd9ae 100644
--- a/match.c
+++ b/match.c
@@ -987,6 +987,13 @@ repeat_spec_same_data:
}
if (min) {
+ if (reps_min != cmin) {
+ debuglf(spec_linenum, lit("skipped ~a/~a lines to ~a:~a"),
+ num(data_lineno - old_lineno), num(cmin),
+ first(files), num(data_lineno), nao);
+ uw_block_return(nil, nil);
+ }
+
debuglf(spec_linenum, lit("skipped ~a lines to ~a:~a"),
num(data_lineno - old_lineno), first(files),
num(data_lineno), nao);