From c39ecf1c053f551a4b384d2ad2994fe0e58d67b0 Mon Sep 17 00:00:00 2001 From: Pip Cet Date: Thu, 4 Mar 2021 21:06:13 +0000 Subject: [PATCH] Don't ignore lexically-bound variables in a defvar (bug#46912) * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Walk the value form of a defvar. --- lisp/emacs-lisp/byte-opt.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el index b51ba801552d6..ba2165a5d59ce 100644 --- a/lisp/emacs-lisp/byte-opt.el +++ b/lisp/emacs-lisp/byte-opt.el @@ -607,7 +607,9 @@ byte-optimize-form-code-walker (setq args (cddr args))) (cons fn (nreverse var-expr-list)))) - (`(defvar ,(and (pred symbolp) name) . ,_) + (`(defvar ,(and (pred symbolp) name) . ,rest) + (when rest + (byte-optimize-form (car rest) nil)) (push name byte-optimize--dynamic-vars) form) -- 2.30.1