[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 05/37: guile-private-ref
From: |
Robin Templeton |
Subject: |
[Guile-commits] 05/37: guile-private-ref |
Date: |
Sun, 26 Jan 2025 18:17:43 -0500 (EST) |
bpt 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 adbeb2005..8216b6376 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 5e5f625e4..be229d0f3 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 updated (31baf3ef4 -> ece0f4e78), Robin Templeton, 2025/01/26
- [Guile-commits] 03/37: check symbols constants uninterned, Robin Templeton, 2025/01/26
- [Guile-commits] 04/37: multiple obarrays, Robin Templeton, 2025/01/26
- [Guile-commits] 05/37: guile-private-ref,
Robin Templeton <=
- [Guile-commits] 08/37: elisp updates, Robin Templeton, 2025/01/26
- [Guile-commits] 06/37: allow arbitrary constants in cps, Robin Templeton, 2025/01/26
- [Guile-commits] 07/37: guile-snarf fix, Robin Templeton, 2025/01/26
- [Guile-commits] 09/37: read nil/t as #nil/#t, Robin Templeton, 2025/01/26
- [Guile-commits] 10/37: symbol default value procedures, Robin Templeton, 2025/01/26
- [Guile-commits] 13/37: define-module for elisp special modules, Robin Templeton, 2025/01/26
- [Guile-commits] 15/37: fix symbol-function, Robin Templeton, 2025/01/26
- [Guile-commits] 16/37: compile-elisp fn, Robin Templeton, 2025/01/26
- [Guile-commits] 19/37: compiler macros, Robin Templeton, 2025/01/26
- [Guile-commits] 24/37: degenerate let forms, Robin Templeton, 2025/01/26