diff --git a/module/language/glil/compile-assembly.scm b/module/language/glil/compile-assembly.scm index 47002a8fc..bfc0a364d 100644 --- a/module/language/glil/compile-assembly.scm +++ b/module/language/glil/compile-assembly.scm @@ -333,13 +333,20 @@ arities)) (( vars rest) - (values `((truncate-values ,(length vars) ,(if rest 1 0))) - (open-binding bindings vars addr) - source-alist - label-alist - object-alist - arities)) - + (if (integer? vars) + (values `((truncate-values ,vars ,(if rest 1 0))) + bindings + source-alist + label-alist + object-alist + arities) + (values `((truncate-values ,(length vars) ,(if rest 1 0))) + (open-binding bindings vars addr) + source-alist + label-alist + object-alist + arities))) + (() (values '() (close-binding bindings addr)