[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#38872: 27.0.50; Keywords can be let-bound
From: |
Eli Zaretskii |
Subject: |
bug#38872: 27.0.50; Keywords can be let-bound |
Date: |
Sun, 20 Sep 2020 13:55:36 +0300 |
> From: Lars Ingebrigtsen <larsi@gnus.org>
> Date: Sun, 20 Sep 2020 12:36:12 +0200
> Cc: Stefan Kangas <stefan@marxist.se>, Thibault Polge <thibault@thb.lt>,
> Andreas Schwab <schwab@linux-m68k.org>, 38872@debbugs.gnu.org
>
> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>
> > I get the impression that the best/simplest course of action is to set
> > `declared_special` to `true` for keywords.
>
> So this would be just:
>
> diff --git a/src/lread.c b/src/lread.c
> index 8064bf4d0e..f465b451a9 100644
> --- a/src/lread.c
> +++ b/src/lread.c
> @@ -4104,6 +4104,7 @@ intern_sym (Lisp_Object sym, Lisp_Object obarray,
> Lisp_Object index)
> {
> make_symbol_constant (sym);
> XSYMBOL (sym)->u.s.redirect = SYMBOL_PLAINVAL;
> + XSYMBOL (sym)->u.s.declared_special = true;
> SET_SYMBOL_VAL (XSYMBOL (sym), sym);
> }
>
> Which seems to work? "make check" still works after doing this, and the
> test case now fails like it should do. Some more context below.
I see you've installed this change, but the log message doesn''t
mention it, nor its reason. can we have some explanation in the
comments in the code, please?