diff options
-rw-r--r-- | lib.c | 4 | ||||
-rw-r--r-- | vm.h | 2 |
2 files changed, 6 insertions, 0 deletions
@@ -6253,6 +6253,10 @@ val generic_funcall(val fun, struct args *args_in) default: callerror(fun, lit("too many arguments")); } + } else if (fun->co.cls == vm_desc_s) { + if (args->fill || args->list) + callerror(fun, lit("too many arguments")); + return vm_execute_toplevel(fun); } else if (fun->co.cls == carray_s) { goto carray; } else if (obj_struct_p(fun)) { @@ -25,6 +25,8 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +extern val vm_desc_s, vm_closure_s; + val vm_make_desc(val nlevels, val nregs, val bytecode, val datavec, val funvec); val vm_execute_toplevel(val desc); |