diff --git a/src/core/c-function.c b/src/core/c-function.c index 8dd586734f..cab84a44c1 100644 --- a/src/core/c-function.c +++ b/src/core/c-function.c @@ -197,6 +197,9 @@ !IS_BLOCK(def) || (len = VAL_LEN(def)) < 2 || !IS_BLOCK(spec = VAL_BLK(def)) + || type == REB_ACTION //@@ https://github.com/rebol/rebol-issues/issues/1051 + || type == REB_NATIVE + || type == REB_OP // may be implemented later! ) return FALSE; body = VAL_BLK_SKIP(def, 1); diff --git a/src/tests/units/func-test.r3 b/src/tests/units/func-test.r3 index 3a44ef1655..a46b5d35fd 100644 --- a/src/tests/units/func-test.r3 +++ b/src/tests/units/func-test.r3 @@ -22,6 +22,13 @@ Rebol [ fce: func[a [integer!]][probe a] --assert [probe a] = body-of :fce +--test-- "invalid MAKE" + ;@@ https://github.com/rebol/rebol-issues/issues/1052 + --assert error? try [make :read [[][]]] + --assert error? try [make action! [[][]]] + --assert error? try [make native! [[][]]] + --assert error? try [make op! [[][]]] + ===end-group=== ~~~end-file~~~