summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--module/language/elisp/compile-tree-il.scm4
1 files changed, 3 insertions, 1 deletions
diff --git a/module/language/elisp/compile-tree-il.scm b/module/language/elisp/compile-tree-il.scm
index 0e4829836..773f0555b 100644
--- a/module/language/elisp/compile-tree-il.scm
+++ b/module/language/elisp/compile-tree-il.scm
@@ -823,7 +823,9 @@
(defspecial function (loc args)
(pmatch args
(((lambda ,args . ,body))
- (compile-lambda loc args body))))
+ (compile-lambda loc args body))
+ ((,sym) (guard (symbol? sym))
+ (reference-with-check loc sym function-slot))))
(defspecial defmacro (loc args)
(pmatch args