diff options
author | Robin Templeton <robin@terpri.org> | 2013-08-23 03:01:36 -0400 |
---|---|---|
committer | Christine Lemmer-Webber <cwebber@dustycloud.org> | 2021-10-19 18:10:02 -0400 |
commit | 12a9311f17f6eb30074a6cd7db26283396fc53d4 (patch) | |
tree | 5a705765b886953f684b8317cebc7b0d868e047c | |
parent | 433fc448ddb018767906f8808203c9668c68cd83 (diff) | |
download | guile-12a9311f17f6eb30074a6cd7db26283396fc53d4.tar.gz |
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 adbeb2005..8216b6376 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 @@ -671,6 +672,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 5e5f625e4..be229d0f3 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 |