diff options
author | BT Templeton <bt@hcoop.net> | 2013-08-23 03:01:36 -0400 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2020-04-04 16:19:53 +0200 |
commit | 22e192637252a839ad370ceb88839d0250740f54 (patch) | |
tree | f031b499f984170a278ba19105649efafeffb799 | |
parent | 8d209d56c34ca8ecb0cc9c8487fdd8cbcfa9bae4 (diff) |
guile-private-ref
* module/language/elisp/compile-tree-il.scm (compile-guile-private-ref):
New special operator.
-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 |