unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Cyril Arnould <cyril.arnould@outlook.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: "54730@debbugs.gnu.org" <54730@debbugs.gnu.org>
Subject: bug#54730: AW: bug#54730: 28.1; vhdl-update-sensitivity-list not working in Windows
Date: Tue, 5 Apr 2022 17:53:20 +0000	[thread overview]
Message-ID: <AM5PR06MB3105A2A44512FB59DB2D61F9E3E49@AM5PR06MB3105.eurprd06.prod.outlook.com> (raw)
In-Reply-To: <83y20jcugz.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 5305 bytes --]

Nice, it’s working! Too bad this didn’t make it into the 28.1 release, I guess I should have
tested more. So for now the solution is to keep the vhdl-mode.el locally until it finds its
way into a maintenance release?

FYI, the sensitivity list of the VHDL process is what’s enclosed in parentheses, so in this
case it’s «(Clk_CI, Rst_RBI)». If you modify the sensitivity list or delete it entirely and
execute vhdl-update-sensitivity-list, it should return back to the way it was. The
BlockCount_DN and Length_DN signals on the other hand are *not* part of the sensitivity
list because the process only needs to be updated at the Clk_CI’event (or any Rst_RBI’event).


Von: Eli Zaretskii<mailto:eliz@gnu.org>
Gesendet: Dienstag, 5. April 2022 19:26
An: Cyril Arnould<mailto:cyril.arnould@outlook.com>
Cc: 54730@debbugs.gnu.org<mailto:54730@debbugs.gnu.org>
Betreff: Re: bug#54730: 28.1; vhdl-update-sensitivity-list not working in Windows

> From: Cyril Arnould <cyril.arnould@outlook.com>
> CC: "54730@debbugs.gnu.org" <54730@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)))))


[-- Attachment #2: Type: text/html, Size: 11642 bytes --]

  reply	other threads:[~2022-04-05 17:53 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-05 16:17 bug#54730: 28.1; vhdl-update-sensitivity-list not working in Windows Cyril Arnould
2022-04-05 16:43 ` Eli Zaretskii
2022-04-05 17:08   ` bug#54730: AW: " Cyril Arnould
2022-04-05 17:12     ` Cyril Arnould
2022-04-05 17:26     ` Eli Zaretskii
2022-04-05 17:53       ` Cyril Arnould [this message]
2022-04-05 18:09         ` bug#54730: AW: " Robert Pluim
2022-04-05 21:21           ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-04-05 22:27             ` bug#54730: AW: " Cyril Arnould
2022-04-05 18:18         ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AM5PR06MB3105A2A44512FB59DB2D61F9E3E49@AM5PR06MB3105.eurprd06.prod.outlook.com \
    --to=cyril.arnould@outlook.com \
    --cc=54730@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).