diff options
-rw-r--r-- | module/language/elisp/compile-tree-il.scm | 6 | ||||
-rw-r--r-- | module/language/elisp/runtime/function-slot.scm | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/module/language/elisp/compile-tree-il.scm b/module/language/elisp/compile-tree-il.scm index 0334e6f33..5d6ebc591 100644 --- a/module/language/elisp/compile-tree-il.scm +++ b/module/language/elisp/compile-tree-il.scm @@ -42,6 +42,7 @@ compile-labels compile-let* compile-guile-ref + compile-guile-private-ref compile-guile-primitive compile-function compile-defmacro @@ -670,6 +671,11 @@ ((,module ,sym) (guard (and (list? module) (symbol? sym))) (make-module-ref loc module sym #t)))) +(defspecial guile-private-ref (loc args) + (pmatch args + ((,module ,sym) (guard (and (list? module) (symbol? sym))) + (make-module-ref loc module sym #f)))) + ;;; guile-primitive allows to create primitive references, which are ;;; still a little faster. diff --git a/module/language/elisp/runtime/function-slot.scm b/module/language/elisp/runtime/function-slot.scm index 3b10205c1..34170a5d0 100644 --- a/module/language/elisp/runtime/function-slot.scm +++ b/module/language/elisp/runtime/function-slot.scm @@ -30,6 +30,7 @@ (compile-labels . labels) (compile-let* . let*) (compile-guile-ref . guile-ref) + (compile-guile-private-ref . guile-private-ref) (compile-guile-primitive . guile-primitive) (compile-function . function) (compile-defun . defun) @@ -52,6 +53,7 @@ labels let* guile-ref + guile-private-ref guile-primitive function defun |