[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#65742: 30.0.50; default-toplevel-value and forwarded symbols
From: |
Eli Zaretskii |
Subject: |
bug#65742: 30.0.50; default-toplevel-value and forwarded symbols |
Date: |
Mon, 04 Sep 2023 22:18:21 +0300 |
> From: Gerd Möllmann <gerd.moellmann@gmail.com>
> Date: Mon, 04 Sep 2023 21:02:59 +0200
>
> Function default-toplevel-value does not take let-bindings for forwarded
> symbols into account.
>
> (progn
> (defvar my-var nil)
> (setq my-var t)
> (let ((my-var :let))
> (default-toplevel-value 'my-var)))
> => t
>
> (progn
> (setq lexical-binding t)
> (let ((lexical-binding :let))
> (default-toplevel-value 'lexical-binding)))
> => nil
>
> >From d6cd84bcd1bb86d32d49e660d4041f655bf295f1 Mon Sep 17 00:00:00 2001
> From: Gerd Moellmann <gerd.moellmann@gmail.com>
> Date: Mon, 4 Sep 2023 20:48:28 +0200
> Subject: [PATCH] default-toplevel-value nor working for forwarded syms
>
> * src/eval.c (default_toplevel_binding): Handle SPECPDL_LET_LOCAL.
> ---
> src/eval.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/src/eval.c b/src/eval.c
> index 9268b65aa85..59055a75782 100644
> --- a/src/eval.c
> +++ b/src/eval.c
> @@ -664,6 +664,7 @@ default_toplevel_binding (Lisp_Object symbol)
> {
> switch ((--pdl)->kind)
> {
> + case SPECPDL_LET_LOCAL:
> case SPECPDL_LET_DEFAULT:
> case SPECPDL_LET:
> if (EQ (specpdl_symbol (pdl), symbol))
> --
> 2.42.0
Adding Stefan.