From d3dabad7e921351a378d7fb2904805b6c80f9f25 Mon Sep 17 00:00:00 2001 From: BT Templeton Date: Fri, 23 Aug 2013 03:01:36 -0400 Subject: [PATCH] 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 baa6b2a3c..55980835e 100644 --- a/module/language/elisp/compile-tree-il.scm +++ b/module/language/elisp/compile-tree-il.scm @@ -41,6 +41,7 @@ compile-labels compile-let* compile-guile-ref + compile-guile-private-ref compile-guile-primitive compile-function compile-defmacro @@ -667,6 +668,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