bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#65742: 30.0.50; default-toplevel-value and forwarded symbols


From: Gerd Möllmann
Subject: bug#65742: 30.0.50; default-toplevel-value and forwarded symbols
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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]