emacs-diffs
[Top][All Lists]
Advanced

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

emacs-28 a769cbfcfb: Fix lexical-binding fallout in vhdl-mode.el


From: Eli Zaretskii
Subject: emacs-28 a769cbfcfb: Fix lexical-binding fallout in vhdl-mode.el
Date: Fri, 13 May 2022 08:01:17 -0400 (EDT)

branch: emacs-28
commit a769cbfcfb6e9603bcd15e90f387207f8c061bf1
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    Fix lexical-binding fallout in vhdl-mode.el
    
    * lisp/progmodes/vhdl-mode.el (arch-alist, pack-alist)
    (file-alist, unit-alist, rule-alist): Defvar them, since vhdl-aput
    expects them to be dynamically bound.  (Bug#55389)
    (vhdl-speedbar-insert-hierarchy): Rename the PACK-ALIST argument
    to PACKAGE-ALIST, to avoid shadowing the global variable.
---
 lisp/progmodes/vhdl-mode.el | 23 ++++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)

diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el
index e562a463e1..4e5f5df814 100644
--- a/lisp/progmodes/vhdl-mode.el
+++ b/lisp/progmodes/vhdl-mode.el
@@ -153,7 +153,11 @@
 (defvar lazy-lock-defer-on-scrolling)
 (defvar lazy-lock-defer-on-the-fly)
 (defvar speedbar-attached-frame)
-
+(defvar arch-alist)
+(defvar pack-alist)
+(defvar file-alist)
+(defvar unit-alist)
+(defvar rule-alist)
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;; Variables
@@ -14948,10 +14952,10 @@ otherwise use cached data."
   (vhdl-speedbar-expand-units directory)
   (vhdl-aput 'vhdl-directory-alist directory (list (list directory))))
 
-(defun vhdl-speedbar-insert-hierarchy ( ent-alist-arg conf-alist-arg pack-alist
-                                       ent-inst-list depth)
-  "Insert hierarchy of ENT-ALIST, CONF-ALIST, and PACK-ALIST."
-  (if (not (or ent-alist conf-alist pack-alist))
+(defun vhdl-speedbar-insert-hierarchy ( ent-alist-arg conf-alist-arg
+                                        package-alist ent-inst-list depth)
+  "Insert hierarchy of ENT-ALIST, CONF-ALIST, and PACKAGE-ALIST."
+  (if (not (or ent-alist conf-alist package-alist))
       (vhdl-speedbar-make-title-line "No VHDL design units!" depth)
     (let ((ent-alist ent-alist-arg)
           (conf-alist conf-alist-arg)
@@ -14981,15 +14985,15 @@ otherwise use cached data."
         'vhdl-speedbar-configuration-face depth)
        (setq conf-alist (cdr conf-alist)))
       ;; insert packages
-      (when pack-alist (vhdl-speedbar-make-title-line "Packages:" depth))
-      (while pack-alist
-       (setq pack-entry (car pack-alist))
+      (when package-alist (vhdl-speedbar-make-title-line "Packages:" depth))
+      (while package-alist
+       (setq pack-entry (car package-alist))
        (vhdl-speedbar-make-pack-line
         (nth 0 pack-entry) (nth 1 pack-entry)
         (cons (nth 2 pack-entry) (nth 3 pack-entry))
         (cons (nth 7 pack-entry) (nth 8 pack-entry))
         depth)
-       (setq pack-alist (cdr pack-alist))))))
+       (setq package-alist (cdr package-alist))))))
 
 (declare-function speedbar-line-directory "speedbar" (&optional depth))
 
@@ -17208,6 +17212,7 @@ specified by a target."
       (unless (or (assoc directory vhdl-file-alist)
                  (vhdl-load-cache directory))
        (vhdl-scan-directory-contents directory))))
+  (defvar rule-alist) ; we need it to be dynamically bound
   (let* ((directory (abbreviate-file-name (vhdl-default-directory)))
         (project (vhdl-project-p))
         (ent-alist (vhdl-aget vhdl-entity-alist (or project directory)))



reply via email to

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