From cfbdc7aee792d501484f2954086d813acc532828 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Tue, 29 Sep 2020 13:25:43 -0700 Subject: Fixed off-by-one error and bug in filename-printing logic --- grammars/builtins.bpeg | 2 +- vm.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/grammars/builtins.bpeg b/grammars/builtins.bpeg index 2fd092f..aa19bab 100644 --- a/grammars/builtins.bpeg +++ b/grammars/builtins.bpeg @@ -23,7 +23,7 @@ find-all: ( define-highlights add-filename *(!..pattern {..\n=>}) - +(>..pattern add-line-number +(..hl-pattern) ..(\n/$) / {..(\n/$)=>}) + +(>..pattern add-line-number +(..hl-pattern) ..(\n/$$) / {..\n=>}) [{!<\n => "\n"}] ) only-matches: ( diff --git a/vm.c b/vm.c index ffcfdb0..8b7ad7b 100644 --- a/vm.c +++ b/vm.c @@ -100,7 +100,7 @@ static match_t *_match(grammar_t *g, file_t *f, const char *str, vm_op_t *op, un { switch (op->op) { case VM_ANYCHAR: { - if (str >= f->end - 1 || (!op->multiline && *str == '\n')) + if (str >= f->end || (!op->multiline && *str == '\n')) return NULL; match_t *m = calloc(sizeof(match_t), 1); m->op = op; -- cgit v1.2.3