diff --git a/src/c/read.d b/src/c/read.d index f813c166a..c1dd07853 100644 --- a/src/c/read.d +++ b/src/c/read.d @@ -1843,6 +1843,10 @@ ecl_invalid_character_p(int c) entry->syntax_type = cat_non_terminating; else entry->syntax_type = cat_terminating; + while (Null(cl_functionp(fnc))) { + fnc = ecl_type_error(@'set-macro-character',"new_function", + fnc, @'function'); + } entry->macro = fnc; @(return Ct) @)