guile-private-ref
authorBT Templeton <bt@hcoop.net>
Fri, 23 Aug 2013 07:01:36 +0000 (03:01 -0400)
committerRobin Templeton <robin@terpri.org>
Tue, 21 Apr 2015 23:36:29 +0000 (19:36 -0400)
* module/language/elisp/compile-tree-il.scm (compile-guile-private-ref):
  New special operator.

module/language/elisp/compile-tree-il.scm
module/language/elisp/runtime/function-slot.scm

index baa6b2a..5598083 100644 (file)
@@ -41,6 +41,7 @@
             compile-labels
             compile-let*
             compile-guile-ref
+            compile-guile-private-ref
             compile-guile-primitive
             compile-function
             compile-defmacro
     ((,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.
 
index 3b10205..34170a5 100644 (file)
@@ -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