[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
- [Guile-commits] branch wip-elisp-rebased created (now 4b9b827), Christopher Allan Webber, 2021/10/19
- [Guile-commits] 01/36: Remove CFLAGS from snarfcppopts., Christopher Allan Webber, 2021/10/19
- [Guile-commits] 02/36: intern arbitrary constants, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 05/36: guile-private-ref,
Christopher Allan Webber <=
- [Guile-commits] 06/36: allow arbitrary constants in cps, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 07/36: guile-snarf fix, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 03/36: check symbols constants uninterned, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 04/36: multiple obarrays, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 09/36: read nil/t as #nil/#t, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 10/36: symbol default value procedures, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 11/36: defvar affects default value, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 12/36: constant-interning fix, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 14/36: restore special operator handling, Christopher Allan Webber, 2021/10/19
- [Guile-commits] 08/36: elisp updates, Christopher Allan Webber, 2021/10/19