[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master dc2168e: Make (let ((:key 'foo)) :key) signal an error in lexical
From: |
Lars Ingebrigtsen |
Subject: |
master dc2168e: Make (let ((:key 'foo)) :key) signal an error in lexical elisp, too |
Date: |
Sun, 20 Sep 2020 15:31:03 -0400 (EDT) |
branch: master
commit dc2168ebf25b15a4bc960e17f65ce5117cc77467
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
Make (let ((:key 'foo)) :key) signal an error in lexical elisp, too
* src/lread.c (intern_sym): Mark keywords as special (bug#38872).
---
src/lread.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/lread.c b/src/lread.c
index 8064bf4..4b788e9 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -4104,6 +4104,9 @@ intern_sym (Lisp_Object sym, Lisp_Object obarray,
Lisp_Object index)
{
make_symbol_constant (sym);
XSYMBOL (sym)->u.s.redirect = SYMBOL_PLAINVAL;
+ /* Mark keywords as special. This makes (let ((:key 'foo)) ...)
+ in lexically bound elisp signal an error, as documented. */
+ XSYMBOL (sym)->u.s.declared_special = true;
SET_SYMBOL_VAL (XSYMBOL (sym), sym);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master dc2168e: Make (let ((:key 'foo)) :key) signal an error in lexical elisp, too,
Lars Ingebrigtsen <=