aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2021-01-08 00:46:47 -0800
committerBruce Hill <bruce@bruce-hill.com>2021-01-08 00:46:47 -0800
commitfc5ee8fcfced5893c019e2363e4a82e89625ba3c (patch)
tree92ca5554ab49ec3e18edc5dd37846f09936fb163
parent3a5f7af4343b8869e2422e4feebede70cbdff9e2 (diff)
Fixed bug with ..%\n
-rw-r--r--grammars/builtins.bp2
-rw-r--r--vm.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/grammars/builtins.bp b/grammars/builtins.bp
index 99afe2a..fffddf1 100644
--- a/grammars/builtins.bp
+++ b/grammars/builtins.bp
@@ -11,7 +11,7 @@ pattern: !'' # Not defined by default
replacement: !'' # Not defined by default
replace-all: (
(include-binary-files / is-text-file)
- +(..(>pattern replacement)%\n) ..%\n
+ +(..replacement%\n) ..%\n
)
find-all: (
(include-binary-files / is-text-file)
diff --git a/vm.c b/vm.c
index 32cabe4..0bbb013 100644
--- a/vm.c
+++ b/vm.c
@@ -164,6 +164,9 @@ static match_t *_match(grammar_t *g, file_t *f, const char *str, vm_op_t *op, un
m->end = p->end;
return m;
}
+ } else if (str == f->end) {
+ m->end = str;
+ return m;
}
if (op->args.multiple.second) {
match_t *p = _match(g, f, str, op->args.multiple.second, flags, rec);