GNU bug report logs - #54730
28.1; vhdl-update-sensitivity-list not working in Windows

Previous Next

Package: emacs;

Reported by: Cyril Arnould <cyril.arnould <at> outlook.com>

Date: Tue, 5 Apr 2022 16:27:02 UTC

Severity: normal

Found in version 28.1

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #17 received at 54730 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Cyril Arnould <cyril.arnould <at> outlook.com>
Cc: 54730 <at> debbugs.gnu.org
Subject: Re: bug#54730: 28.1; vhdl-update-sensitivity-list not working in
 Windows
Date: Tue, 05 Apr 2022 20:26:20 +0300
> From: Cyril Arnould <cyril.arnould <at> outlook.com>
> CC: "54730 <at> debbugs.gnu.org" <54730 <at> debbugs.gnu.org>
> Date: Tue, 5 Apr 2022 17:08:28 +0000
> 
> I’ve added an example file you can visit in the attachment. To reproduce, simply
> put the cursor inside the process (M-g-g 30 RET) and execute
> vhdl-update-sensitivity-list-process (C-c C-u C-s). I’m getting the following backtrace:
> 
> Debugger entered--Lisp error: (void-variable proc-end)
>   (vhdl-re-search-forward "[<:]=" proc-end t)
>   eval((vhdl-re-search-forward "[<:]=" proc-end t))
>   vhdl-update-sensitivity-list()
>   vhdl-update-sensitivity-list-process()
>   funcall-interactively(vhdl-update-sensitivity-list-process)
>   command-execute(vhdl-update-sensitivity-list-process)

Thanks, I think I see the problem now.  Does the below fix the
problem?  If not, can you tell me how to show the sensitivity list,
and what should be the correct result of invoking
vhdl-update-sensitivity-list-process in this case?

diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el
index 64ebc14..e562a46 100644
--- a/lisp/progmodes/vhdl-mode.el
+++ b/lisp/progmodes/vhdl-mode.el
@@ -8396,30 +8396,30 @@ vhdl-update-sensitivity-list
 	    ((visible-list (vhdl-get-visible-signals))
 	     ;; define syntactic regions where signals are read
 	     (scan-regions-list
-	      '(;; right-hand side of signal/variable assignment
+	      `(;; right-hand side of signal/variable assignment
 		;; (special case: "<=" is relational operator in a condition)
-		((vhdl-re-search-forward "[<:]=" proc-end t)
-		 (vhdl-re-search-forward ";\\|\\<\\(then\\|loop\\|report\\|severity\\|is\\)\\>" proc-end t))
+		((vhdl-re-search-forward "[<:]=" ,proc-end t)
+		 (vhdl-re-search-forward ";\\|\\<\\(then\\|loop\\|report\\|severity\\|is\\)\\>" ,proc-end t))
 		;; if condition
-		((vhdl-re-search-forward "^\\s-*if\\>" proc-end t)
-		 (vhdl-re-search-forward "\\<then\\>" proc-end t))
+		((vhdl-re-search-forward "^\\s-*if\\>" ,proc-end t)
+		 (vhdl-re-search-forward "\\<then\\>" ,proc-end t))
 		;; elsif condition
-		((vhdl-re-search-forward "\\<elsif\\>" proc-end t)
-		 (vhdl-re-search-forward "\\<then\\>" proc-end t))
+		((vhdl-re-search-forward "\\<elsif\\>" ,proc-end t)
+		 (vhdl-re-search-forward "\\<then\\>" ,proc-end t))
 		;; while loop condition
-		((vhdl-re-search-forward "^\\s-*while\\>" proc-end t)
-		 (vhdl-re-search-forward "\\<loop\\>" proc-end t))
+		((vhdl-re-search-forward "^\\s-*while\\>" ,proc-end t)
+		 (vhdl-re-search-forward "\\<loop\\>" ,proc-end t))
 		;; exit/next condition
-		((vhdl-re-search-forward "\\<\\(exit\\|next\\)\\s-+\\w+\\s-+when\\>" proc-end t)
-		 (vhdl-re-search-forward ";" proc-end t))
+		((vhdl-re-search-forward "\\<\\(exit\\|next\\)\\s-+\\w+\\s-+when\\>" ,proc-end t)
+		 (vhdl-re-search-forward ";" ,proc-end t))
 		;; assert condition
-		((vhdl-re-search-forward "\\<assert\\>" proc-end t)
-		 (vhdl-re-search-forward "\\(\\<report\\>\\|\\<severity\\>\\|;\\)" proc-end t))
+		((vhdl-re-search-forward "\\<assert\\>" ,proc-end t)
+		 (vhdl-re-search-forward "\\(\\<report\\>\\|\\<severity\\>\\|;\\)" ,proc-end t))
 		;; case expression
-		((vhdl-re-search-forward "^\\s-*case\\>" proc-end t)
-		 (vhdl-re-search-forward "\\<is\\>" proc-end t))
+		((vhdl-re-search-forward "^\\s-*case\\>" ,proc-end t)
+		 (vhdl-re-search-forward "\\<is\\>" ,proc-end t))
 		;; parameter list of procedure call, array index
-		((and (re-search-forward "^\\s-*\\(\\w\\|\\.\\)+[ \t\n\r\f]*(" proc-end t)
+		((and (re-search-forward "^\\s-*\\(\\w\\|\\.\\)+[ \t\n\r\f]*(" ,proc-end t)
 		      (1- (point)))
 		 (progn (backward-char) (forward-sexp)
 			(while (looking-at "(") (forward-sexp)) (point)))))




This bug report was last modified 3 years and 45 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.