[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: |
Fri, 25 Mar 2016 20:02:53 +0000 |
cwebber pushed a commit to branch wip-elisp
in repository guile.
commit d3dabad7e921351a378d7fb2904805b6c80f9f25
Author: BT Templeton <address@hidden>
Date: 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(+), 0 deletions(-)
diff --git a/module/language/elisp/compile-tree-il.scm
b/module/language/elisp/compile-tree-il.scm
index baa6b2a..5598083 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 3b10205..34170a5 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
- [Guile-commits] branch wip-elisp created (now 15ca784), Christopher Allan Webber, 2016/03/25
- [Guile-commits] 01/36: Remove CFLAGS from snarfcppopts., Christopher Allan Webber, 2016/03/25
- [Guile-commits] 02/36: intern arbitrary constants, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 03/36: check symbols constants uninterned, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 06/36: allow arbitrary constants in cps, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 05/36: guile-private-ref,
Christopher Allan Webber <=
- [Guile-commits] 04/36: multiple obarrays, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 07/36: prefer compilers earlier in list, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 08/36: guile-snarf fix, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 09/36: elisp updates, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 10/36: read nil/t as #nil/#t, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 12/36: defvar affects default value, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 11/36: symbol default value procedures, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 14/36: define-module for elisp special modules, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 16/36: fix symbol-function, Christopher Allan Webber, 2016/03/25
- [Guile-commits] 13/36: constant-interning fix, Christopher Allan Webber, 2016/03/25