summaryrefslogtreecommitdiffstats
path: root/stdlib
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2023-07-27 19:03:48 -0700
committerKaz Kylheku <kaz@kylheku.com>2023-07-27 19:03:48 -0700
commit9fd7b65bfbc670dbfb14d7b46061e48d603dd98c (patch)
tree5b24ca7d53b4444622ca3a4ede8d76971c8ba497 /stdlib
parent93661b30a25cce377935e61a6a330fa6c761fdd3 (diff)
downloadtxr-9fd7b65bfbc670dbfb14d7b46061e48d603dd98c.tar.gz
txr-9fd7b65bfbc670dbfb14d7b46061e48d603dd98c.tar.bz2
txr-9fd7b65bfbc670dbfb14d7b46061e48d603dd98c.zip
New functions and fixes in lexical introspection.
* evalc (macro_k): New keyword symbol variable. (lexical_binding_kind, lexical_fun_binding_kind) New functions. (lexical_var_p): Bugfix: if the symbol is a special variable, do not short-circuit to a nil answer. Special variables can be shadowed by symbol macros. The function is now defined in terms of lexical_binding_kind. (lexical_symacro_p, lexical_macro_p): New functions. (lexical_fun_p): Now defined using lexical_fun_binding_kind. (lexical_lisp1_binding): Bugfix: check for special variables; do not report special variables as :var. (eval_init): Initialize macro_k. Register new intrinsics: lexical-binding-kind, lexical-fun-binding-kind, lexical-symacro-p, lexical-macro-p. * txr.1: Documented. * stdlib/doc-syms.tl: Updated.
Diffstat (limited to 'stdlib')
-rw-r--r--stdlib/doc-syms.tl8
1 files changed, 6 insertions, 2 deletions
diff --git a/stdlib/doc-syms.tl b/stdlib/doc-syms.tl
index 497b27a1..79a52f39 100644
--- a/stdlib/doc-syms.tl
+++ b/stdlib/doc-syms.tl
@@ -1150,9 +1150,13 @@
("less" "N-01D6CEA1")
("let" "N-013AF20B")
("let*" "N-013AF20B")
- ("lexical-fun-p" "N-007B1A53")
+ ("lexical-binding-kind" "N-01E65971")
+ ("lexical-fun-binding-kind" "N-01B4FFA6")
+ ("lexical-fun-p" "N-021EC6D2")
("lexical-lisp1-binding" "N-02D124AB")
- ("lexical-var-p" "N-007B1A53")
+ ("lexical-macro-p" "N-021EC6D2")
+ ("lexical-symacro-p" "N-021EC6D2")
+ ("lexical-var-p" "N-021EC6D2")
("lgamma" "D-0086")
("lib-version" "N-032F57D4")
("line" "N-02D5D09D")