diff options
-rw-r--r-- | match.c | 2 | ||||
-rw-r--r-- | tests/006/freeform-5.expected | 4 | ||||
-rw-r--r-- | tests/006/freeform-5.txr | 8 |
3 files changed, 13 insertions, 1 deletions
@@ -2774,7 +2774,7 @@ static val v_freeform(match_files_ctx *c) } if (integerp(success)) { - c->data = lazy_str_get_trailing_list(mlc.dataline, success); + c->data = lazy_str_get_trailing_list(mlc.dataline, minus(success, mlc.base)); c->data_lineno = plus(c->data_lineno, one); } else if (success == t && lim) { c->data = lazy_str_get_trailing_list(mlc.dataline, length_str(mlc.dataline)); diff --git a/tests/006/freeform-5.expected b/tests/006/freeform-5.expected new file mode 100644 index 00000000..99433ca3 --- /dev/null +++ b/tests/006/freeform-5.expected @@ -0,0 +1,4 @@ +bar="BAR" +zzy="ZZY" +next="NEXT" +nextnext="NEXTNEXT" diff --git a/tests/006/freeform-5.txr b/tests/006/freeform-5.txr new file mode 100644 index 00000000..9e0aea40 --- /dev/null +++ b/tests/006/freeform-5.txr @@ -0,0 +1,8 @@ +@(next :list (append (repeat (list (mkstring 99 #\A)) 100) + '("FOOBARXYZZY" "NEXT" "NEXTNEXT"))) +@(freeform) +@(skip)FOO@{bar}XY +@zzy + +@next +@nextnext |