diff --git a/src/core/u-parse.c b/src/core/u-parse.c index 6d0bb7bfb5..ce59593eb6 100644 --- a/src/core/u-parse.c +++ b/src/core/u-parse.c @@ -780,8 +780,8 @@ void Print_Parse_Index(REBCNT type, REBVAL *rules, REBSER *series, REBCNT index) return index; case SYM_REJECT: - parse->result = -1; - return index; + parse->result = 0; + return NOT_FOUND; case SYM_FAIL: index = NOT_FOUND; diff --git a/src/tests/units/parse-test.r3 b/src/tests/units/parse-test.r3 index c8182e8b86..1e153eac0b 100644 --- a/src/tests/units/parse-test.r3 +++ b/src/tests/units/parse-test.r3 @@ -122,6 +122,18 @@ Rebol [ ===end-group=== +===start-group=== "REJECT" +--test-- "reject" +;@@ https://github.com/Oldes/Rebol-issues/issues/2394 + --assert not parse "aa" [some [#"a"] reject] + --assert parse "aabb" [opt [#"a" reject] to end] + --assert not parse "aabb" [some [#"a" reject] to end] + --assert not parse "aabb" [some #"a" reject to end] + --assert not parse "aabb" [[#"a" reject | "aabb"]] + --assert parse "aabb" [[#"a" reject] | "aabb"] +===end-group=== + + ===start-group=== "CASE / NO-CASE" ;@@ https://github.com/Oldes/Rebol-issues/issues/1898 --test-- "case/no-case 1"