guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 05/36: guile-private-ref


From: Christopher Allan Webber
Subject: [Guile-commits] 05/36: guile-private-ref
Date: Tue, 19 Oct 2021 18:11:21 -0400 (EDT)

cwebber pushed a commit to branch wip-elisp-rebased
in repository guile.

commit 12a9311f17f6eb30074a6cd7db26283396fc53d4
Author: Robin Templeton <robin@terpri.org>
AuthorDate: Fri Aug 23 03:01:36 2013 -0400

    guile-private-ref
    
    * module/language/elisp/compile-tree-il.scm (compile-guile-private-ref):
      New special operator.
---
 module/language/elisp/compile-tree-il.scm       | 6 ++++++
 module/language/elisp/runtime/function-slot.scm | 2 ++
 2 files changed, 8 insertions(+)

diff --git a/module/language/elisp/compile-tree-il.scm 
b/module/language/elisp/compile-tree-il.scm
index adbeb20..8216b63 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 5e5f625..be229d0 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]