diff options
| author | Reto Zimmermann | 2014-12-08 22:34:12 -0800 |
|---|---|---|
| committer | Glenn Morris | 2014-12-08 22:34:12 -0800 |
| commit | fb0fcda82081774aee9a8b25540947c029b23ffc (patch) | |
| tree | 51b19ef0079e6fa4f36f02a0449d1cdc9d8cc38e | |
| parent | 11cf3e90c62e197c600a32f9c226294255abd7a5 (diff) | |
| download | emacs-fb0fcda82081774aee9a8b25540947c029b23ffc.tar.gz emacs-fb0fcda82081774aee9a8b25540947c029b23ffc.zip | |
Sync with upstream vhdl mode v3.36.1
* lisp/progmodes/vhdl-mode.el (vhdl-version, vhdl-time-stamp): Update.
(vhdl-compiler-alist): Anchor all error regexps.
(vhdl-compile-use-local-error-regexp): Change default to nil.
(vhdl-asort, vhdl-anot-head-p): Remove.
(vhdl-aput, vhdl-adelete, vhdl-aget): Simplify.
Remove optional argument of vhdl-aget and update all callers.
(vhdl-import-project): Also set `vhdl-compiler'.
| -rw-r--r-- | lisp/ChangeLog | 11 | ||||
| -rw-r--r-- | lisp/progmodes/vhdl-mode.el | 346 |
2 files changed, 168 insertions, 189 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9c044c3a3b6..4fa27b6abc7 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,14 @@ | |||
| 1 | 2014-12-09 Reto Zimmermann <reto@gnu.org> | ||
| 2 | |||
| 3 | Sync with upstream vhdl mode v3.36.1. | ||
| 4 | * progmodes/vhdl-mode.el (vhdl-version, vhdl-time-stamp): Update. | ||
| 5 | (vhdl-compiler-alist): Anchor all error regexps. | ||
| 6 | (vhdl-compile-use-local-error-regexp): Change default to nil. | ||
| 7 | (vhdl-asort, vhdl-anot-head-p): Remove. | ||
| 8 | (vhdl-aput, vhdl-adelete, vhdl-aget): Simplify. | ||
| 9 | Remove optional argument of vhdl-aget and update all callers. | ||
| 10 | (vhdl-import-project): Also set `vhdl-compiler'. | ||
| 11 | |||
| 1 | 2014-12-09 Lars Magne Ingebrigtsen <larsi@gnus.org> | 12 | 2014-12-09 Lars Magne Ingebrigtsen <larsi@gnus.org> |
| 2 | 13 | ||
| 3 | * files.el (find-files): New function. | 14 | * files.el (find-files): New function. |
diff --git a/lisp/progmodes/vhdl-mode.el b/lisp/progmodes/vhdl-mode.el index 9f54b246eff..4d6b3b23978 100644 --- a/lisp/progmodes/vhdl-mode.el +++ b/lisp/progmodes/vhdl-mode.el | |||
| @@ -13,10 +13,10 @@ | |||
| 13 | ;; filed in the Emacs bug reporting system against this file, a copy | 13 | ;; filed in the Emacs bug reporting system against this file, a copy |
| 14 | ;; of the bug report be sent to the maintainer's email address. | 14 | ;; of the bug report be sent to the maintainer's email address. |
| 15 | 15 | ||
| 16 | (defconst vhdl-version "3.35.2" | 16 | (defconst vhdl-version "3.36.1" |
| 17 | "VHDL Mode version number.") | 17 | "VHDL Mode version number.") |
| 18 | 18 | ||
| 19 | (defconst vhdl-time-stamp "2014-03-28" | 19 | (defconst vhdl-time-stamp "2014-11-27" |
| 20 | "VHDL Mode time stamp for last update.") | 20 | "VHDL Mode time stamp for last update.") |
| 21 | 21 | ||
| 22 | ;; This file is part of GNU Emacs. | 22 | ;; This file is part of GNU Emacs. |
| @@ -215,20 +215,20 @@ Overrides local variable `indent-tabs-mode'." | |||
| 215 | ;; [Error] Assignment error: variable is illegal target of signal assignment | 215 | ;; [Error] Assignment error: variable is illegal target of signal assignment |
| 216 | ("ADVance MS" "vacom" "-work \\1" "make" "-f \\1" | 216 | ("ADVance MS" "vacom" "-work \\1" "make" "-f \\1" |
| 217 | nil "valib \\1; vamap \\2 \\1" "./" "work/" "Makefile" "adms" | 217 | nil "valib \\1; vamap \\2 \\1" "./" "work/" "Makefile" "adms" |
| 218 | ("^\\s-+\\([0-9]+\\):\\s-+" nil 1 nil) ("Compiling file \\(.+\\)" 1) | 218 | ("^\\s-+\\([0-9]+\\):\\s-+" nil 1 nil) ("^Compiling file \\(.+\\)" 1) |
| 219 | ("ENTI/\\1.vif" "ARCH/\\1-\\2.vif" "CONF/\\1.vif" | 219 | ("ENTI/\\1.vif" "ARCH/\\1-\\2.vif" "CONF/\\1.vif" |
| 220 | "PACK/\\1.vif" "BODY/\\1.vif" upcase)) | 220 | "PACK/\\1.vif" "BODY/\\1.vif" upcase)) |
| 221 | ;; Aldec | 221 | ;; Aldec |
| 222 | ;; COMP96 ERROR COMP96_0018: "Identifier expected." "test.vhd" 66 3 | 222 | ;; COMP96 ERROR COMP96_0018: "Identifier expected." "test.vhd" 66 3 |
| 223 | ("Aldec" "vcom" "-work \\1" "make" "-f \\1" | 223 | ("Aldec" "vcom" "-work \\1" "make" "-f \\1" |
| 224 | nil "vlib \\1; vmap \\2 \\1" "./" "work/" "Makefile" "aldec" | 224 | nil "vlib \\1; vmap \\2 \\1" "./" "work/" "Makefile" "aldec" |
| 225 | (".* ERROR [^:]+: \".*\" \"\\([^ \\t\\n]+\\)\" \\([0-9]+\\) \\([0-9]+\\)" 1 2 3) ("" 0) | 225 | ("^.* ERROR [^:]+: \".*\" \"\\([^ \t\n]+\\)\" \\([0-9]+\\) \\([0-9]+\\)" 1 2 3) ("" 0) |
| 226 | nil) | 226 | nil) |
| 227 | ;; Cadence Leapfrog: cv -file test.vhd | 227 | ;; Cadence Leapfrog: cv -file test.vhd |
| 228 | ;; duluth: *E,430 (test.vhd,13): identifier (POSITIV) is not declared | 228 | ;; duluth: *E,430 (test.vhd,13): identifier (POSITIV) is not declared |
| 229 | ("Cadence Leapfrog" "cv" "-work \\1 -file" "make" "-f \\1" | 229 | ("Cadence Leapfrog" "cv" "-work \\1 -file" "make" "-f \\1" |
| 230 | nil "mkdir \\1" "./" "work/" "Makefile" "leapfrog" | 230 | nil "mkdir \\1" "./" "work/" "Makefile" "leapfrog" |
| 231 | ("duluth: \\*E,[0-9]+ (\\([^ \\t\\n]+\\),\\([0-9]+\\)):" 1 2 nil) ("" 0) | 231 | ("^duluth: \\*E,[0-9]+ (\\([^ \t\n]+\\),\\([0-9]+\\)):" 1 2 nil) ("" 0) |
| 232 | ("\\1/entity" "\\2/\\1" "\\1/configuration" | 232 | ("\\1/entity" "\\2/\\1" "\\1/configuration" |
| 233 | "\\1/package" "\\1/body" downcase)) | 233 | "\\1/package" "\\1/body" downcase)) |
| 234 | ;; Cadence Affirma NC vhdl: ncvhdl test.vhd | 234 | ;; Cadence Affirma NC vhdl: ncvhdl test.vhd |
| @@ -236,27 +236,29 @@ Overrides local variable `indent-tabs-mode'." | |||
| 236 | ;; (PLL_400X_TOP) is not declared [10.3]. | 236 | ;; (PLL_400X_TOP) is not declared [10.3]. |
| 237 | ("Cadence NC" "ncvhdl" "-work \\1" "make" "-f \\1" | 237 | ("Cadence NC" "ncvhdl" "-work \\1" "make" "-f \\1" |
| 238 | nil "mkdir \\1" "./" "work/" "Makefile" "ncvhdl" | 238 | nil "mkdir \\1" "./" "work/" "Makefile" "ncvhdl" |
| 239 | ("ncvhdl_p: \\*E,\\w+ (\\([^ \\t\\n]+\\),\\([0-9]+\\)|\\([0-9]+\\)):" 1 2 3) ("" 0) | 239 | ("^ncvhdl_p: \\*E,\\w+ (\\([^ \t\n]+\\),\\([0-9]+\\)|\\([0-9]+\\)):" 1 2 3) ("" 0) |
| 240 | ("\\1/entity/pc.db" "\\2/\\1/pc.db" "\\1/configuration/pc.db" | 240 | ("\\1/entity/pc.db" "\\2/\\1/pc.db" "\\1/configuration/pc.db" |
| 241 | "\\1/package/pc.db" "\\1/body/pc.db" downcase)) | 241 | "\\1/package/pc.db" "\\1/body/pc.db" downcase)) |
| 242 | ;; ghdl vhdl: ghdl test.vhd | 242 | ;; ghdl vhdl |
| 243 | ;; ghdl -a bad_counter.vhdl | ||
| 244 | ;; bad_counter.vhdl:13:14: operator "=" is overloaded | ||
| 243 | ("GHDL" "ghdl" "-i --workdir=\\1 --ieee=synopsys -fexplicit " "make" "-f \\1" | 245 | ("GHDL" "ghdl" "-i --workdir=\\1 --ieee=synopsys -fexplicit " "make" "-f \\1" |
| 244 | nil "mkdir \\1" "./" "work/" "Makefile" "ghdl" | 246 | nil "mkdir \\1" "./" "work/" "Makefile" "ghdl" |
| 245 | ("ghdl_p: \\*E,\\w+ (\\([^ \\t\\n]+\\),\\([0-9]+\\)|\\([0-9]+\\)):" 1 2 3) ("" 0) | 247 | ("^ghdl_p: \\*E,\\w+ (\\([^ \t\n]+\\),\\([0-9]+\\)|\\([0-9]+\\)):" 1 2 3) ("" 0) |
| 246 | ("\\1/entity" "\\2/\\1" "\\1/configuration" | 248 | ("\\1/entity" "\\2/\\1" "\\1/configuration" |
| 247 | "\\1/package" "\\1/body" downcase)) | 249 | "\\1/package" "\\1/body" downcase)) |
| 248 | ;; IBM Compiler | 250 | ;; IBM Compiler |
| 249 | ;; 00 COACHDL* | [CCHDL-1]: File: adder.vhd, line.column: 120.6 | 251 | ;; 00 COACHDL* | [CCHDL-1]: File: adder.vhd, line.column: 120.6 |
| 250 | ("IBM Compiler" "g2tvc" "-src" "precomp" "\\1" | 252 | ("IBM Compiler" "g2tvc" "-src" "precomp" "\\1" |
| 251 | nil "mkdir \\1" "./" "work/" "Makefile" "ibm" | 253 | nil "mkdir \\1" "./" "work/" "Makefile" "ibm" |
| 252 | ("[0-9]+ COACHDL.*: File: \\([^ \\t\\n]+\\), line.column: \\([0-9]+\\).\\([0-9]+\\)" 1 2 3) (" " 0) | 254 | ("^[0-9]+ COACHDL.*: File: \\([^ \t\n]+\\), *line.column: \\([0-9]+\\).\\([0-9]+\\)" 1 2 3) (" " 0) |
| 253 | nil) | 255 | nil) |
| 254 | ;; Ikos Voyager: analyze test.vhd | 256 | ;; Ikos Voyager: analyze test.vhd |
| 255 | ;; analyze test.vhd | 257 | ;; analyze test.vhd |
| 256 | ;; E L4/C5: this library unit is inaccessible | 258 | ;; E L4/C5: this library unit is inaccessible |
| 257 | ("Ikos" "analyze" "-l \\1" "make" "-f \\1" | 259 | ("Ikos" "analyze" "-l \\1" "make" "-f \\1" |
| 258 | nil "mkdir \\1" "./" "work/" "Makefile" "ikos" | 260 | nil "mkdir \\1" "./" "work/" "Makefile" "ikos" |
| 259 | ("E L\\([0-9]+\\)/C\\([0-9]+\\):" nil 1 2) | 261 | ("^E L\\([0-9]+\\)/C\\([0-9]+\\):" nil 1 2) |
| 260 | ("^analyze +\\(.+ +\\)*\\(.+\\)$" 2) | 262 | ("^analyze +\\(.+ +\\)*\\(.+\\)$" 2) |
| 261 | nil) | 263 | nil) |
| 262 | ;; ModelSim, Model Technology: vcom test.vhd | 264 | ;; ModelSim, Model Technology: vcom test.vhd |
| @@ -266,14 +268,14 @@ Overrides local variable `indent-tabs-mode'." | |||
| 266 | ;; ** Error: adder.vhd(190): Unknown identifier: ctl_numb | 268 | ;; ** Error: adder.vhd(190): Unknown identifier: ctl_numb |
| 267 | ("ModelSim" "vcom" "-93 -work \\1" "make" "-f \\1" | 269 | ("ModelSim" "vcom" "-93 -work \\1" "make" "-f \\1" |
| 268 | nil "vlib \\1; vmap \\2 \\1" "./" "work/" "Makefile" "modelsim" | 270 | nil "vlib \\1; vmap \\2 \\1" "./" "work/" "Makefile" "modelsim" |
| 269 | ("\\(ERROR\\|WARNING\\|\\*\\* Error\\|\\*\\* Warning\\)[^:]*:\\( *\[[0-9]+\]\\)? \\([^ \\t\\n]+\\)(\\([0-9]+\\)):" 3 4 nil) ("" 0) | 271 | ("^\\(ERROR\\|WARNING\\|\\*\\* Error\\|\\*\\* Warning\\)[^:]*:\\( *\[[0-9]+\]\\)? \\([^ \t\n]+\\)(\\([0-9]+\\)):" 3 4 nil) ("" 0) |
| 270 | ("\\1/_primary.dat" "\\2/\\1.dat" "\\1/_primary.dat" | 272 | ("\\1/_primary.dat" "\\2/\\1.dat" "\\1/_primary.dat" |
| 271 | "\\1/_primary.dat" "\\1/body.dat" downcase)) | 273 | "\\1/_primary.dat" "\\1/body.dat" downcase)) |
| 272 | ;; ProVHDL, Synopsys LEDA: provhdl -w work -f test.vhd | 274 | ;; ProVHDL, Synopsys LEDA: provhdl -w work -f test.vhd |
| 273 | ;; test.vhd:34: error message | 275 | ;; test.vhd:34: error message |
| 274 | ("LEDA ProVHDL" "provhdl" "-w \\1 -f" "make" "-f \\1" | 276 | ("LEDA ProVHDL" "provhdl" "-w \\1 -f" "make" "-f \\1" |
| 275 | nil "mkdir \\1" "./" "work/" "Makefile" "provhdl" | 277 | nil "mkdir \\1" "./" "work/" "Makefile" "provhdl" |
| 276 | ("\\([^ \\t\\n]+\\):\\([0-9]+\\): " 1 2 nil) ("" 0) | 278 | ("^\\([^ \t\n:]+\\):\\([0-9]+\\): " 1 2 nil) ("" 0) |
| 277 | ("ENTI/\\1.vif" "ARCH/\\1-\\2.vif" "CONF/\\1.vif" | 279 | ("ENTI/\\1.vif" "ARCH/\\1-\\2.vif" "CONF/\\1.vif" |
| 278 | "PACK/\\1.vif" "BODY/BODY-\\1.vif" upcase)) | 280 | "PACK/\\1.vif" "BODY/BODY-\\1.vif" upcase)) |
| 279 | ;; Quartus compiler | 281 | ;; Quartus compiler |
| @@ -284,21 +286,21 @@ Overrides local variable `indent-tabs-mode'." | |||
| 284 | ;; Warning: VHDL Process Statement warning at dvi2sdi_tst.vhd(172): ... | 286 | ;; Warning: VHDL Process Statement warning at dvi2sdi_tst.vhd(172): ... |
| 285 | ("Quartus" "make" "-work \\1" "make" "-f \\1" | 287 | ("Quartus" "make" "-work \\1" "make" "-f \\1" |
| 286 | nil "mkdir \\1" "./" "work/" "Makefile" "quartus" | 288 | nil "mkdir \\1" "./" "work/" "Makefile" "quartus" |
| 287 | ("\\(Error\\|Warning\\): .* \\([^ \\t\\n]+\\)(\\([0-9]+\\))" 2 3 nil) ("" 0) | 289 | ("^\\(Error\\|Warning\\): .* \\([^ \t\n]+\\)(\\([0-9]+\\))" 2 3 nil) ("" 0) |
| 288 | nil) | 290 | nil) |
| 289 | ;; QuickHDL, Mentor Graphics: qvhcom test.vhd | 291 | ;; QuickHDL, Mentor Graphics: qvhcom test.vhd |
| 290 | ;; ERROR: test.vhd(24): near "dnd": expecting: END | 292 | ;; ERROR: test.vhd(24): near "dnd": expecting: END |
| 291 | ;; WARNING[4]: test.vhd(30): A space is required between ... | 293 | ;; WARNING[4]: test.vhd(30): A space is required between ... |
| 292 | ("QuickHDL" "qvhcom" "-work \\1" "make" "-f \\1" | 294 | ("QuickHDL" "qvhcom" "-work \\1" "make" "-f \\1" |
| 293 | nil "mkdir \\1" "./" "work/" "Makefile" "quickhdl" | 295 | nil "mkdir \\1" "./" "work/" "Makefile" "quickhdl" |
| 294 | ("\\(ERROR\\|WARNING\\)[^:]*: \\([^ \\t\\n]+\\)(\\([0-9]+\\)):" 2 3 nil) ("" 0) | 296 | ("^\\(ERROR\\|WARNING\\)[^:]*: \\([^ \t\n]+\\)(\\([0-9]+\\)):" 2 3 nil) ("" 0) |
| 295 | ("\\1/_primary.dat" "\\2/\\1.dat" "\\1/_primary.dat" | 297 | ("\\1/_primary.dat" "\\2/\\1.dat" "\\1/_primary.dat" |
| 296 | "\\1/_primary.dat" "\\1/body.dat" downcase)) | 298 | "\\1/_primary.dat" "\\1/body.dat" downcase)) |
| 297 | ;; Savant: scram -publish-cc test.vhd | 299 | ;; Savant: scram -publish-cc test.vhd |
| 298 | ;; test.vhd:87: _set_passed_through_out_port(IIR_Boolean) not defined for | 300 | ;; test.vhd:87: _set_passed_through_out_port(IIR_Boolean) not defined for |
| 299 | ("Savant" "scram" "-publish-cc -design-library-name \\1" "make" "-f \\1" | 301 | ("Savant" "scram" "-publish-cc -design-library-name \\1" "make" "-f \\1" |
| 300 | nil "mkdir \\1" "./" "work._savant_lib/" "Makefile" "savant" | 302 | nil "mkdir \\1" "./" "work._savant_lib/" "Makefile" "savant" |
| 301 | ("\\([^ \\t\\n]+\\):\\([0-9]+\\): " 1 2 nil) ("" 0) | 303 | ("^\\([^ \t\n:]+\\):\\([0-9]+\\): " 1 2 nil) ("" 0) |
| 302 | ("\\1_entity.vhdl" "\\2_secondary_units._savant_lib/\\2_\\1.vhdl" | 304 | ("\\1_entity.vhdl" "\\2_secondary_units._savant_lib/\\2_\\1.vhdl" |
| 303 | "\\1_config.vhdl" "\\1_package.vhdl" | 305 | "\\1_config.vhdl" "\\1_package.vhdl" |
| 304 | "\\1_secondary_units._savant_lib/\\1_package_body.vhdl" downcase)) | 306 | "\\1_secondary_units._savant_lib/\\1_package_body.vhdl" downcase)) |
| @@ -306,39 +308,39 @@ Overrides local variable `indent-tabs-mode'." | |||
| 306 | ;; Error: CSVHDL0002: test.vhd: (line 97): Invalid prefix | 308 | ;; Error: CSVHDL0002: test.vhd: (line 97): Invalid prefix |
| 307 | ("Simili" "vhdlp" "-work \\1" "make" "-f \\1" | 309 | ("Simili" "vhdlp" "-work \\1" "make" "-f \\1" |
| 308 | nil "mkdir \\1" "./" "work/" "Makefile" "simili" | 310 | nil "mkdir \\1" "./" "work/" "Makefile" "simili" |
| 309 | ("\\(Error\\|Warning\\): \\w+: \\([^ \\t\\n]+\\): (line \\([0-9]+\\)): " 2 3 nil) ("" 0) | 311 | ("^\\(Error\\|Warning\\): \\w+: \\([^ \t\n]+\\): (line \\([0-9]+\\)): " 2 3 nil) ("" 0) |
| 310 | ("\\1/prim.var" "\\2/_\\1.var" "\\1/prim.var" | 312 | ("\\1/prim.var" "\\2/_\\1.var" "\\1/prim.var" |
| 311 | "\\1/prim.var" "\\1/_body.var" downcase)) | 313 | "\\1/prim.var" "\\1/_body.var" downcase)) |
| 312 | ;; Speedwave (Innoveda): analyze -libfile vsslib.ini -src test.vhd | 314 | ;; Speedwave (Innoveda): analyze -libfile vsslib.ini -src test.vhd |
| 313 | ;; ERROR[11]::File test.vhd Line 100: Use of undeclared identifier | 315 | ;; ERROR[11]::File test.vhd Line 100: Use of undeclared identifier |
| 314 | ("Speedwave" "analyze" "-libfile vsslib.ini -src" "make" "-f \\1" | 316 | ("Speedwave" "analyze" "-libfile vsslib.ini -src" "make" "-f \\1" |
| 315 | nil "mkdir \\1" "./" "work/" "Makefile" "speedwave" | 317 | nil "mkdir \\1" "./" "work/" "Makefile" "speedwave" |
| 316 | ("^ *ERROR\[[0-9]+\]::File \\([^ \\t\\n]+\\) Line \\([0-9]+\\):" 1 2 nil) ("" 0) | 318 | ("^ *ERROR\[[0-9]+\]::File \\([^ \t\n]+\\) Line \\([0-9]+\\):" 1 2 nil) ("" 0) |
| 317 | nil) | 319 | nil) |
| 318 | ;; Synopsys, VHDL Analyzer (sim): vhdlan -nc test.vhd | 320 | ;; Synopsys, VHDL Analyzer (sim): vhdlan -nc test.vhd |
| 319 | ;; **Error: vhdlan,703 test.vhd(22): OTHERS is not legal in this context. | 321 | ;; **Error: vhdlan,703 test.vhd(22): OTHERS is not legal in this context. |
| 320 | ("Synopsys" "vhdlan" "-nc -work \\1" "make" "-f \\1" | 322 | ("Synopsys" "vhdlan" "-nc -work \\1" "make" "-f \\1" |
| 321 | nil "mkdir \\1" "./" "work/" "Makefile" "synopsys" | 323 | nil "mkdir \\1" "./" "work/" "Makefile" "synopsys" |
| 322 | ("\\*\\*Error: vhdlan,[0-9]+ \\([^ \\t\\n]+\\)(\\([0-9]+\\)):" 1 2 nil) ("" 0) | 324 | ("^\\*\\*Error: vhdlan,[0-9]+ \\([^ \t\n]+\\)(\\([0-9]+\\)):" 1 2 nil) ("" 0) |
| 323 | ("\\1.sim" "\\2__\\1.sim" "\\1.sim" "\\1.sim" "\\1__.sim" upcase)) | 325 | ("\\1.sim" "\\2__\\1.sim" "\\1.sim" "\\1.sim" "\\1__.sim" upcase)) |
| 324 | ;; Synopsys, VHDL Analyzer (syn): vhdlan -nc -spc test.vhd | 326 | ;; Synopsys, VHDL Analyzer (syn): vhdlan -nc -spc test.vhd |
| 325 | ;; **Error: vhdlan,703 test.vhd(22): OTHERS is not legal in this context. | 327 | ;; **Error: vhdlan,703 test.vhd(22): OTHERS is not legal in this context. |
| 326 | ("Synopsys Design Compiler" "vhdlan" "-nc -spc -work \\1" "make" "-f \\1" | 328 | ("Synopsys Design Compiler" "vhdlan" "-nc -spc -work \\1" "make" "-f \\1" |
| 327 | nil "mkdir \\1" "./" "work/" "Makefile" "synopsys_dc" | 329 | nil "mkdir \\1" "./" "work/" "Makefile" "synopsys_dc" |
| 328 | ("\\*\\*Error: vhdlan,[0-9]+ \\([^ \\t\\n]+\\)(\\([0-9]+\\)):" 1 2 nil) ("" 0) | 330 | ("^\\*\\*Error: vhdlan,[0-9]+ \\([^ \t\n]+\\)(\\([0-9]+\\)):" 1 2 nil) ("" 0) |
| 329 | ("\\1.syn" "\\2__\\1.syn" "\\1.syn" "\\1.syn" "\\1__.syn" upcase)) | 331 | ("\\1.syn" "\\2__\\1.syn" "\\1.syn" "\\1.syn" "\\1__.syn" upcase)) |
| 330 | ;; Synplify: | 332 | ;; Synplify: |
| 331 | ;; @W:"test.vhd":57:8:57:9|Optimizing register bit count_x(5) to a constant 0 | 333 | ;; @W:"test.vhd":57:8:57:9|Optimizing register bit count_x(5) to a constant 0 |
| 332 | ("Synplify" "n/a" "n/a" "make" "-f \\1" | 334 | ("Synplify" "n/a" "n/a" "make" "-f \\1" |
| 333 | nil "mkdir \\1" "./" "work/" "Makefile" "synplify" | 335 | nil "mkdir \\1" "./" "work/" "Makefile" "synplify" |
| 334 | ("@[EWN]:\"\\([^ \\t\\n]+\\)\":\\([0-9]+\\):\\([0-9]+\\):" 1 2 3) ("" 0) | 336 | ("^@[EWN]:\"\\([^ \t\n]+\\)\":\\([0-9]+\\):\\([0-9]+\\):" 1 2 3) ("" 0) |
| 335 | nil) | 337 | nil) |
| 336 | ;; Vantage: analyze -libfile vsslib.ini -src test.vhd | 338 | ;; Vantage: analyze -libfile vsslib.ini -src test.vhd |
| 337 | ;; Compiling "test.vhd" line 1... | 339 | ;; Compiling "test.vhd" line 1... |
| 338 | ;; **Error: LINE 49 *** No aggregate value is valid in this context. | 340 | ;; **Error: LINE 49 *** No aggregate value is valid in this context. |
| 339 | ("Vantage" "analyze" "-libfile vsslib.ini -src" "make" "-f \\1" | 341 | ("Vantage" "analyze" "-libfile vsslib.ini -src" "make" "-f \\1" |
| 340 | nil "mkdir \\1" "./" "work/" "Makefile" "vantage" | 342 | nil "mkdir \\1" "./" "work/" "Makefile" "vantage" |
| 341 | ("\\*\\*Error: LINE \\([0-9]+\\) \\*\\*\\*" nil 1 nil) | 343 | ("^\\*\\*Error: LINE \\([0-9]+\\) \\*\\*\\*" nil 1 nil) |
| 342 | ("^ *Compiling \"\\(.+\\)\" " 1) | 344 | ("^ *Compiling \"\\(.+\\)\" " 1) |
| 343 | nil) | 345 | nil) |
| 344 | ;; VeriBest: vc vhdl test.vhd | 346 | ;; VeriBest: vc vhdl test.vhd |
| @@ -355,14 +357,14 @@ Overrides local variable `indent-tabs-mode'." | |||
| 355 | ;; **Error: LINE 49 *** No aggregate value is valid in this context. | 357 | ;; **Error: LINE 49 *** No aggregate value is valid in this context. |
| 356 | ("Viewlogic" "analyze" "-libfile vsslib.ini -src" "make" "-f \\1" | 358 | ("Viewlogic" "analyze" "-libfile vsslib.ini -src" "make" "-f \\1" |
| 357 | nil "mkdir \\1" "./" "work/" "Makefile" "viewlogic" | 359 | nil "mkdir \\1" "./" "work/" "Makefile" "viewlogic" |
| 358 | ("\\*\\*Error: LINE \\([0-9]+\\) \\*\\*\\*" nil 1 nil) | 360 | ("^\\*\\*Error: LINE \\([0-9]+\\) \\*\\*\\*" nil 1 nil) |
| 359 | ("^ *Compiling \"\\(.+\\)\" " 1) | 361 | ("^ *Compiling \"\\(.+\\)\" " 1) |
| 360 | nil) | 362 | nil) |
| 361 | ;; Xilinx XST: | 363 | ;; Xilinx XST: |
| 362 | ;; ERROR:HDLParsers:164 - "test.vhd" Line 3. parse error | 364 | ;; ERROR:HDLParsers:164 - "test.vhd" Line 3. parse error |
| 363 | ("Xilinx XST" "xflow" "" "make" "-f \\1" | 365 | ("Xilinx XST" "xflow" "" "make" "-f \\1" |
| 364 | nil "mkdir \\1" "./" "work/" "Makefile" "xilinx" | 366 | nil "mkdir \\1" "./" "work/" "Makefile" "xilinx" |
| 365 | ("^ERROR:HDLParsers:[0-9]+ - \"\\([^ \\t\\n]+\\)\" Line \\([0-9]+\\)\." 1 2 nil) ("" 0) | 367 | ("^ERROR:HDLParsers:[0-9]+ - \"\\([^ \t\n]+\\)\" Line \\([0-9]+\\)\." 1 2 nil) ("" 0) |
| 366 | nil) | 368 | nil) |
| 367 | ) | 369 | ) |
| 368 | "List of available VHDL compilers and their properties. | 370 | "List of available VHDL compilers and their properties. |
| @@ -487,7 +489,7 @@ Select a compiler name from the ones defined in option `vhdl-compiler-alist'." | |||
| 487 | (append '(choice) (nreverse list))) | 489 | (append '(choice) (nreverse list))) |
| 488 | :group 'vhdl-compile) | 490 | :group 'vhdl-compile) |
| 489 | 491 | ||
| 490 | (defcustom vhdl-compile-use-local-error-regexp t | 492 | (defcustom vhdl-compile-use-local-error-regexp nil |
| 491 | "Non-nil means use buffer-local `compilation-error-regexp-alist'. | 493 | "Non-nil means use buffer-local `compilation-error-regexp-alist'. |
| 492 | In this case, only error message regexps for VHDL compilers are active if | 494 | In this case, only error message regexps for VHDL compilers are active if |
| 493 | compilation is started from a VHDL buffer. Otherwise, the error message | 495 | compilation is started from a VHDL buffer. Otherwise, the error message |
| @@ -496,6 +498,7 @@ active all the time. Note that by doing that, the predefined global regexps | |||
| 496 | might result in erroneous parsing of error messages for some VHDL compilers. | 498 | might result in erroneous parsing of error messages for some VHDL compilers. |
| 497 | 499 | ||
| 498 | NOTE: Activate the new setting by restarting Emacs." | 500 | NOTE: Activate the new setting by restarting Emacs." |
| 501 | :version "25.1" ; t -> nil | ||
| 499 | :type 'boolean | 502 | :type 'boolean |
| 500 | :group 'vhdl-compile) | 503 | :group 'vhdl-compile) |
| 501 | 504 | ||
| @@ -2137,73 +2140,36 @@ your style, only those that are different from the default.") | |||
| 2137 | (require 'ps-print) | 2140 | (require 'ps-print) |
| 2138 | (require 'speedbar))) ; for speedbar-with-writable | 2141 | (require 'speedbar))) ; for speedbar-with-writable |
| 2139 | 2142 | ||
| 2140 | ;; functions from obsolete assoc.el package (obsoleted in GNU Emacs 24.3) | ||
| 2141 | (defun vhdl-asort (alist-symbol key) | ||
| 2142 | "Move a specified key-value pair to the head of an alist. | ||
| 2143 | The alist is referenced by ALIST-SYMBOL. Key-value pair to move to | ||
| 2144 | head is one matching KEY. Returns the sorted list and doesn't affect | ||
| 2145 | the order of any other key-value pair. Side effect sets alist to new | ||
| 2146 | sorted list." | ||
| 2147 | (set alist-symbol | ||
| 2148 | (sort (copy-alist (symbol-value alist-symbol)) | ||
| 2149 | (lambda (a _b) (equal (car a) key))))) | ||
| 2150 | |||
| 2151 | (defun vhdl-anot-head-p (alist key) | ||
| 2152 | "Find out if a specified key-value pair is not at the head of an alist. | ||
| 2153 | The alist to check is specified by ALIST and the key-value pair is the | ||
| 2154 | one matching the supplied KEY. Returns nil if ALIST is nil, or if | ||
| 2155 | key-value pair is at the head of the alist. Returns t if key-value | ||
| 2156 | pair is not at the head of alist. ALIST is not altered." | ||
| 2157 | (not (equal (car (car alist)) key))) | ||
| 2158 | |||
| 2159 | (defun vhdl-aput (alist-symbol key &optional value) | 2143 | (defun vhdl-aput (alist-symbol key &optional value) |
| 2160 | "Insert a key-value pair into an alist. | 2144 | "Insert a key-value pair into an alist. |
| 2161 | The alist is referenced by ALIST-SYMBOL. The key-value pair is made | 2145 | The alist is referenced by ALIST-SYMBOL. The key-value pair is made |
| 2162 | from KEY and optionally, VALUE. Returns the altered alist. | 2146 | from KEY and VALUE. If the key-value pair referenced by KEY can be |
| 2163 | 2147 | found in the alist, the value of KEY will be set to VALUE. If the | |
| 2164 | If the key-value pair referenced by KEY can be found in the alist, and | 2148 | key-value pair cannot be found in the alist, it will be inserted into |
| 2165 | VALUE is supplied non-nil, then the value of KEY will be set to VALUE. | 2149 | the head of the alist." |
| 2166 | If VALUE is not supplied, or is nil, the key-value pair will not be | 2150 | (let* ((alist (symbol-value alist-symbol)) |
| 2167 | modified, but will be moved to the head of the alist. If the key-value | 2151 | (elem (assoc key alist))) |
| 2168 | pair cannot be found in the alist, it will be inserted into the head | 2152 | (if elem |
| 2169 | of the alist (with value nil if VALUE is nil or not supplied)." | 2153 | (setcdr elem value) |
| 2170 | (let ((elem (list (cons key value))) | 2154 | (set alist-symbol (cons (cons key value) alist))))) |
| 2171 | alist) | ||
| 2172 | (vhdl-asort alist-symbol key) | ||
| 2173 | (setq alist (symbol-value alist-symbol)) | ||
| 2174 | (cond ((null alist) (set alist-symbol elem)) | ||
| 2175 | ((vhdl-anot-head-p alist key) (set alist-symbol (nconc elem alist))) | ||
| 2176 | (value (setcar alist (car elem)) alist) | ||
| 2177 | (t alist)))) | ||
| 2178 | 2155 | ||
| 2179 | (defun vhdl-adelete (alist-symbol key) | 2156 | (defun vhdl-adelete (alist-symbol key) |
| 2180 | "Delete a key-value pair from the alist. | 2157 | "Delete a key-value pair from the alist. |
| 2181 | Alist is referenced by ALIST-SYMBOL and the key-value pair to remove | 2158 | Alist is referenced by ALIST-SYMBOL and the key-value pair to remove |
| 2182 | is pair matching KEY. Returns the altered alist." | 2159 | is pair matching KEY." |
| 2183 | (vhdl-asort alist-symbol key) | 2160 | (let ((alist (symbol-value alist-symbol)) alist-cdr) |
| 2184 | (let ((alist (symbol-value alist-symbol))) | 2161 | (while (equal key (caar alist)) |
| 2185 | (cond ((null alist) nil) | 2162 | (setq alist (cdr alist)) |
| 2186 | ((vhdl-anot-head-p alist key) alist) | 2163 | (set alist-symbol alist)) |
| 2187 | (t (set alist-symbol (cdr alist)))))) | 2164 | (while (setq alist-cdr (cdr alist)) |
| 2188 | 2165 | (if (equal key (caar alist-cdr)) | |
| 2189 | (defun vhdl-aget (alist key &optional keynil-p) | 2166 | (setcdr alist (cdr alist-cdr)) |
| 2190 | "Return the value in ALIST that is associated with KEY. | 2167 | (setq alist alist-cdr))))) |
| 2191 | Optional KEYNIL-P describes what to do if the value associated with | 2168 | |
| 2192 | KEY is nil. If KEYNIL-P is not supplied or is nil, and the value is | 2169 | (defun vhdl-aget (alist key) |
| 2193 | nil, then KEY is returned. If KEYNIL-P is non-nil, then nil would be | 2170 | "Return the value in ALIST that is associated with KEY. If KEY is |
| 2194 | returned. | 2171 | not found, then nil is returned." |
| 2195 | 2172 | (cdr (assoc key alist))) | |
| 2196 | If no key-value pair matching KEY could be found in ALIST, or ALIST is | ||
| 2197 | nil then nil is returned. ALIST is not altered." | ||
| 2198 | (let ((copy (copy-alist alist))) | ||
| 2199 | (cond ((null alist) nil) | ||
| 2200 | ((progn (vhdl-asort 'copy key) | ||
| 2201 | (vhdl-anot-head-p copy key)) nil) | ||
| 2202 | ((cdr (car copy))) | ||
| 2203 | (keynil-p nil) | ||
| 2204 | ((car (car copy))) | ||
| 2205 | (t nil)))) | ||
| 2206 | |||
| 2207 | 2173 | ||
| 2208 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 2174 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 2209 | ;;; Compatibility | 2175 | ;;; Compatibility |
| @@ -12981,16 +12947,18 @@ File statistics: \"%s\"\n\ | |||
| 12981 | (condition-case () | 12947 | (condition-case () |
| 12982 | (let ((current-project vhdl-project)) | 12948 | (let ((current-project vhdl-project)) |
| 12983 | (load-file file-name) | 12949 | (load-file file-name) |
| 12984 | (when (/= (length (vhdl-aget vhdl-project-alist vhdl-project t)) 10) | 12950 | (when (/= (length (vhdl-aget vhdl-project-alist vhdl-project)) 10) |
| 12985 | (vhdl-adelete 'vhdl-project-alist vhdl-project) | 12951 | (vhdl-adelete 'vhdl-project-alist vhdl-project) |
| 12986 | (error "")) | 12952 | (error "")) |
| 12987 | (when not-make-current | 12953 | (if not-make-current |
| 12988 | (setq vhdl-project current-project)) | 12954 | (setq vhdl-project current-project) |
| 12955 | (setq vhdl-compiler | ||
| 12956 | (caar (nth 4 (vhdl-aget vhdl-project-alist vhdl-project))))) | ||
| 12989 | (vhdl-update-mode-menu) | 12957 | (vhdl-update-mode-menu) |
| 12990 | (vhdl-speedbar-refresh) | 12958 | (vhdl-speedbar-refresh) |
| 12991 | (unless not-make-current | 12959 | (unless not-make-current |
| 12992 | (message "Current VHDL project: \"%s\"%s" | 12960 | (message "Current VHDL project: \"%s\"; compiler: \"%s\"%s" |
| 12993 | vhdl-project (if auto " (auto-loaded)" "")))) | 12961 | vhdl-project vhdl-compiler (if auto " (auto-loaded)" "")))) |
| 12994 | (error (vhdl-warning | 12962 | (error (vhdl-warning |
| 12995 | (format "ERROR: Invalid project setup file: \"%s\"" file-name)))))) | 12963 | (format "ERROR: Invalid project setup file: \"%s\"" file-name)))))) |
| 12996 | 12964 | ||
| @@ -12998,7 +12966,7 @@ File statistics: \"%s\"\n\ | |||
| 12998 | "Duplicate setup of current project." | 12966 | "Duplicate setup of current project." |
| 12999 | (interactive) | 12967 | (interactive) |
| 13000 | (let ((new-name (read-from-minibuffer "New project name: ")) | 12968 | (let ((new-name (read-from-minibuffer "New project name: ")) |
| 13001 | (project-entry (vhdl-aget vhdl-project-alist vhdl-project t))) | 12969 | (project-entry (vhdl-aget vhdl-project-alist vhdl-project))) |
| 13002 | (setq vhdl-project-alist | 12970 | (setq vhdl-project-alist |
| 13003 | (append vhdl-project-alist | 12971 | (append vhdl-project-alist |
| 13004 | (list (cons new-name project-entry)))) | 12972 | (list (cons new-name project-entry)))) |
| @@ -13746,11 +13714,11 @@ hierarchy otherwise.") | |||
| 13746 | ent-alist conf-alist pack-alist ent-inst-list file-alist | 13714 | ent-alist conf-alist pack-alist ent-inst-list file-alist |
| 13747 | tmp-list tmp-entry no-files files-exist big-files) | 13715 | tmp-list tmp-entry no-files files-exist big-files) |
| 13748 | (when (or project update) | 13716 | (when (or project update) |
| 13749 | (setq ent-alist (vhdl-aget vhdl-entity-alist key t) | 13717 | (setq ent-alist (vhdl-aget vhdl-entity-alist key) |
| 13750 | conf-alist (vhdl-aget vhdl-config-alist key t) | 13718 | conf-alist (vhdl-aget vhdl-config-alist key) |
| 13751 | pack-alist (vhdl-aget vhdl-package-alist key t) | 13719 | pack-alist (vhdl-aget vhdl-package-alist key) |
| 13752 | ent-inst-list (car (vhdl-aget vhdl-ent-inst-alist key t)) | 13720 | ent-inst-list (car (vhdl-aget vhdl-ent-inst-alist key)) |
| 13753 | file-alist (vhdl-aget vhdl-file-alist key t))) | 13721 | file-alist (vhdl-aget vhdl-file-alist key))) |
| 13754 | (when (and (not is-directory) (null file-list)) | 13722 | (when (and (not is-directory) (null file-list)) |
| 13755 | (message "No such file: \"%s\"" name)) | 13723 | (message "No such file: \"%s\"" name)) |
| 13756 | (setq files-exist file-list) | 13724 | (setq files-exist file-list) |
| @@ -13792,7 +13760,7 @@ hierarchy otherwise.") | |||
| 13792 | (while (re-search-forward "^[ \t]*entity[ \t\n\r\f]+\\(\\w+\\)[ \t\n\r\f]+is\\>" nil t) | 13760 | (while (re-search-forward "^[ \t]*entity[ \t\n\r\f]+\\(\\w+\\)[ \t\n\r\f]+is\\>" nil t) |
| 13793 | (let* ((ent-name (match-string-no-properties 1)) | 13761 | (let* ((ent-name (match-string-no-properties 1)) |
| 13794 | (ent-key (downcase ent-name)) | 13762 | (ent-key (downcase ent-name)) |
| 13795 | (ent-entry (vhdl-aget ent-alist ent-key t)) | 13763 | (ent-entry (vhdl-aget ent-alist ent-key)) |
| 13796 | (lib-alist (vhdl-scan-context-clause))) | 13764 | (lib-alist (vhdl-scan-context-clause))) |
| 13797 | (if (nth 1 ent-entry) | 13765 | (if (nth 1 ent-entry) |
| 13798 | (vhdl-warning-when-idle | 13766 | (vhdl-warning-when-idle |
| @@ -13811,9 +13779,9 @@ hierarchy otherwise.") | |||
| 13811 | (arch-key (downcase arch-name)) | 13779 | (arch-key (downcase arch-name)) |
| 13812 | (ent-name (match-string-no-properties 2)) | 13780 | (ent-name (match-string-no-properties 2)) |
| 13813 | (ent-key (downcase ent-name)) | 13781 | (ent-key (downcase ent-name)) |
| 13814 | (ent-entry (vhdl-aget ent-alist ent-key t)) | 13782 | (ent-entry (vhdl-aget ent-alist ent-key)) |
| 13815 | (arch-alist (nth 3 ent-entry)) | 13783 | (arch-alist (nth 3 ent-entry)) |
| 13816 | (arch-entry (vhdl-aget arch-alist arch-key t)) | 13784 | (arch-entry (vhdl-aget arch-alist arch-key)) |
| 13817 | (lib-arch-alist (vhdl-scan-context-clause))) | 13785 | (lib-arch-alist (vhdl-scan-context-clause))) |
| 13818 | (if arch-entry | 13786 | (if arch-entry |
| 13819 | (vhdl-warning-when-idle | 13787 | (vhdl-warning-when-idle |
| @@ -13835,7 +13803,7 @@ hierarchy otherwise.") | |||
| 13835 | (while (re-search-forward "^[ \t]*configuration[ \t\n\r\f]+\\(\\w+\\)[ \t\n\r\f]+of[ \t\n\r\f]+\\(\\w+\\)[ \t\n\r\f]+is\\>" nil t) | 13803 | (while (re-search-forward "^[ \t]*configuration[ \t\n\r\f]+\\(\\w+\\)[ \t\n\r\f]+of[ \t\n\r\f]+\\(\\w+\\)[ \t\n\r\f]+is\\>" nil t) |
| 13836 | (let* ((conf-name (match-string-no-properties 1)) | 13804 | (let* ((conf-name (match-string-no-properties 1)) |
| 13837 | (conf-key (downcase conf-name)) | 13805 | (conf-key (downcase conf-name)) |
| 13838 | (conf-entry (vhdl-aget conf-alist conf-key t)) | 13806 | (conf-entry (vhdl-aget conf-alist conf-key)) |
| 13839 | (ent-name (match-string-no-properties 2)) | 13807 | (ent-name (match-string-no-properties 2)) |
| 13840 | (ent-key (downcase ent-name)) | 13808 | (ent-key (downcase ent-name)) |
| 13841 | (lib-alist (vhdl-scan-context-clause)) | 13809 | (lib-alist (vhdl-scan-context-clause)) |
| @@ -13885,7 +13853,7 @@ hierarchy otherwise.") | |||
| 13885 | (let* ((pack-name (match-string-no-properties 2)) | 13853 | (let* ((pack-name (match-string-no-properties 2)) |
| 13886 | (pack-key (downcase pack-name)) | 13854 | (pack-key (downcase pack-name)) |
| 13887 | (is-body (match-string-no-properties 1)) | 13855 | (is-body (match-string-no-properties 1)) |
| 13888 | (pack-entry (vhdl-aget pack-alist pack-key t)) | 13856 | (pack-entry (vhdl-aget pack-alist pack-key)) |
| 13889 | (pack-line (vhdl-current-line)) | 13857 | (pack-line (vhdl-current-line)) |
| 13890 | (end-of-unit (vhdl-get-end-of-unit)) | 13858 | (end-of-unit (vhdl-get-end-of-unit)) |
| 13891 | comp-name func-name comp-alist func-alist lib-alist) | 13859 | comp-name func-name comp-alist func-alist lib-alist) |
| @@ -13940,9 +13908,9 @@ hierarchy otherwise.") | |||
| 13940 | (ent-key (downcase ent-name)) | 13908 | (ent-key (downcase ent-name)) |
| 13941 | (arch-name (match-string-no-properties 1)) | 13909 | (arch-name (match-string-no-properties 1)) |
| 13942 | (arch-key (downcase arch-name)) | 13910 | (arch-key (downcase arch-name)) |
| 13943 | (ent-entry (vhdl-aget ent-alist ent-key t)) | 13911 | (ent-entry (vhdl-aget ent-alist ent-key)) |
| 13944 | (arch-alist (nth 3 ent-entry)) | 13912 | (arch-alist (nth 3 ent-entry)) |
| 13945 | (arch-entry (vhdl-aget arch-alist arch-key t)) | 13913 | (arch-entry (vhdl-aget arch-alist arch-key)) |
| 13946 | (beg-of-unit (point)) | 13914 | (beg-of-unit (point)) |
| 13947 | (end-of-unit (vhdl-get-end-of-unit)) | 13915 | (end-of-unit (vhdl-get-end-of-unit)) |
| 13948 | (inst-no 0) | 13916 | (inst-no 0) |
| @@ -14077,8 +14045,8 @@ hierarchy otherwise.") | |||
| 14077 | ;; check whether configuration has a corresponding entity/architecture | 14045 | ;; check whether configuration has a corresponding entity/architecture |
| 14078 | (setq tmp-list conf-alist) | 14046 | (setq tmp-list conf-alist) |
| 14079 | (while tmp-list | 14047 | (while tmp-list |
| 14080 | (if (setq tmp-entry (vhdl-aget ent-alist (nth 4 (car tmp-list)) t)) | 14048 | (if (setq tmp-entry (vhdl-aget ent-alist (nth 4 (car tmp-list)))) |
| 14081 | (unless (vhdl-aget (nth 3 tmp-entry) (nth 5 (car tmp-list)) t) | 14049 | (unless (vhdl-aget (nth 3 tmp-entry) (nth 5 (car tmp-list))) |
| 14082 | (setq tmp-entry (car tmp-list)) | 14050 | (setq tmp-entry (car tmp-list)) |
| 14083 | (vhdl-warning-when-idle | 14051 | (vhdl-warning-when-idle |
| 14084 | "Configuration of non-existing architecture: \"%s\" of \"%s(%s)\"\n in \"%s\" (line %d)" | 14052 | "Configuration of non-existing architecture: \"%s\" of \"%s(%s)\"\n in \"%s\" (line %d)" |
| @@ -14205,15 +14173,15 @@ of PROJECT." | |||
| 14205 | (let* ((vhdl-project (nth 0 (car directory-alist))) | 14173 | (let* ((vhdl-project (nth 0 (car directory-alist))) |
| 14206 | (project (vhdl-project-p)) | 14174 | (project (vhdl-project-p)) |
| 14207 | (ent-alist (vhdl-aget vhdl-entity-alist | 14175 | (ent-alist (vhdl-aget vhdl-entity-alist |
| 14208 | (or project dir-name) t)) | 14176 | (or project dir-name))) |
| 14209 | (conf-alist (vhdl-aget vhdl-config-alist | 14177 | (conf-alist (vhdl-aget vhdl-config-alist |
| 14210 | (or project dir-name) t)) | 14178 | (or project dir-name))) |
| 14211 | (pack-alist (vhdl-aget vhdl-package-alist | 14179 | (pack-alist (vhdl-aget vhdl-package-alist |
| 14212 | (or project dir-name) t)) | 14180 | (or project dir-name))) |
| 14213 | (ent-inst-list (car (vhdl-aget vhdl-ent-inst-alist | 14181 | (ent-inst-list (car (vhdl-aget vhdl-ent-inst-alist |
| 14214 | (or project dir-name) t))) | 14182 | (or project dir-name)))) |
| 14215 | (file-alist (vhdl-aget vhdl-file-alist (or project dir-name) t)) | 14183 | (file-alist (vhdl-aget vhdl-file-alist (or project dir-name))) |
| 14216 | (file-entry (vhdl-aget file-alist file-name t)) | 14184 | (file-entry (vhdl-aget file-alist file-name)) |
| 14217 | (ent-list (nth 0 file-entry)) | 14185 | (ent-list (nth 0 file-entry)) |
| 14218 | (arch-list (nth 1 file-entry)) | 14186 | (arch-list (nth 1 file-entry)) |
| 14219 | (arch-ent-list (nth 2 file-entry)) | 14187 | (arch-ent-list (nth 2 file-entry)) |
| @@ -14227,7 +14195,7 @@ of PROJECT." | |||
| 14227 | ;; entities | 14195 | ;; entities |
| 14228 | (while ent-list | 14196 | (while ent-list |
| 14229 | (setq key (car ent-list) | 14197 | (setq key (car ent-list) |
| 14230 | entry (vhdl-aget ent-alist key t)) | 14198 | entry (vhdl-aget ent-alist key)) |
| 14231 | (when (equal file-name (nth 1 entry)) | 14199 | (when (equal file-name (nth 1 entry)) |
| 14232 | (if (nth 3 entry) | 14200 | (if (nth 3 entry) |
| 14233 | (vhdl-aput 'ent-alist key | 14201 | (vhdl-aput 'ent-alist key |
| @@ -14238,9 +14206,9 @@ of PROJECT." | |||
| 14238 | (while arch-list | 14206 | (while arch-list |
| 14239 | (setq key (car arch-list) | 14207 | (setq key (car arch-list) |
| 14240 | ent-key (car arch-ent-list) | 14208 | ent-key (car arch-ent-list) |
| 14241 | entry (vhdl-aget ent-alist ent-key t) | 14209 | entry (vhdl-aget ent-alist ent-key) |
| 14242 | arch-alist (nth 3 entry)) | 14210 | arch-alist (nth 3 entry)) |
| 14243 | (when (equal file-name (nth 1 (vhdl-aget arch-alist key t))) | 14211 | (when (equal file-name (nth 1 (vhdl-aget arch-alist key))) |
| 14244 | (vhdl-adelete 'arch-alist key) | 14212 | (vhdl-adelete 'arch-alist key) |
| 14245 | (if (or (nth 1 entry) arch-alist) | 14213 | (if (or (nth 1 entry) arch-alist) |
| 14246 | (vhdl-aput 'ent-alist ent-key | 14214 | (vhdl-aput 'ent-alist ent-key |
| @@ -14252,13 +14220,13 @@ of PROJECT." | |||
| 14252 | ;; configurations | 14220 | ;; configurations |
| 14253 | (while conf-list | 14221 | (while conf-list |
| 14254 | (setq key (car conf-list)) | 14222 | (setq key (car conf-list)) |
| 14255 | (when (equal file-name (nth 1 (vhdl-aget conf-alist key t))) | 14223 | (when (equal file-name (nth 1 (vhdl-aget conf-alist key))) |
| 14256 | (vhdl-adelete 'conf-alist key)) | 14224 | (vhdl-adelete 'conf-alist key)) |
| 14257 | (setq conf-list (cdr conf-list))) | 14225 | (setq conf-list (cdr conf-list))) |
| 14258 | ;; package declarations | 14226 | ;; package declarations |
| 14259 | (while pack-list | 14227 | (while pack-list |
| 14260 | (setq key (car pack-list) | 14228 | (setq key (car pack-list) |
| 14261 | entry (vhdl-aget pack-alist key t)) | 14229 | entry (vhdl-aget pack-alist key)) |
| 14262 | (when (equal file-name (nth 1 entry)) | 14230 | (when (equal file-name (nth 1 entry)) |
| 14263 | (if (nth 6 entry) | 14231 | (if (nth 6 entry) |
| 14264 | (vhdl-aput 'pack-alist key | 14232 | (vhdl-aput 'pack-alist key |
| @@ -14270,7 +14238,7 @@ of PROJECT." | |||
| 14270 | ;; package bodies | 14238 | ;; package bodies |
| 14271 | (while pack-body-list | 14239 | (while pack-body-list |
| 14272 | (setq key (car pack-body-list) | 14240 | (setq key (car pack-body-list) |
| 14273 | entry (vhdl-aget pack-alist key t)) | 14241 | entry (vhdl-aget pack-alist key)) |
| 14274 | (when (equal file-name (nth 6 entry)) | 14242 | (when (equal file-name (nth 6 entry)) |
| 14275 | (if (nth 1 entry) | 14243 | (if (nth 1 entry) |
| 14276 | (vhdl-aput 'pack-alist key | 14244 | (vhdl-aput 'pack-alist key |
| @@ -14321,8 +14289,8 @@ of PROJECT." | |||
| 14321 | &optional include-top ent-hier) | 14289 | &optional include-top ent-hier) |
| 14322 | "Get instantiation hierarchy beginning in architecture ARCH-KEY of | 14290 | "Get instantiation hierarchy beginning in architecture ARCH-KEY of |
| 14323 | entity ENT-KEY." | 14291 | entity ENT-KEY." |
| 14324 | (let* ((ent-entry (vhdl-aget ent-alist ent-key t)) | 14292 | (let* ((ent-entry (vhdl-aget ent-alist ent-key)) |
| 14325 | (arch-entry (if arch-key (vhdl-aget (nth 3 ent-entry) arch-key t) | 14293 | (arch-entry (if arch-key (vhdl-aget (nth 3 ent-entry) arch-key) |
| 14326 | (cdar (last (nth 3 ent-entry))))) | 14294 | (cdar (last (nth 3 ent-entry))))) |
| 14327 | (inst-alist (nth 3 arch-entry)) | 14295 | (inst-alist (nth 3 arch-entry)) |
| 14328 | inst-entry inst-ent-entry inst-arch-entry inst-conf-entry comp-entry | 14296 | inst-entry inst-ent-entry inst-arch-entry inst-conf-entry comp-entry |
| @@ -14348,17 +14316,17 @@ entity ENT-KEY." | |||
| 14348 | (downcase (or inst-comp-name "")))))) | 14316 | (downcase (or inst-comp-name "")))))) |
| 14349 | (setq tmp-list (cdr tmp-list))) | 14317 | (setq tmp-list (cdr tmp-list))) |
| 14350 | (setq inst-conf-key (or (nth 4 (car tmp-list)) inst-conf-key)) | 14318 | (setq inst-conf-key (or (nth 4 (car tmp-list)) inst-conf-key)) |
| 14351 | (setq inst-conf-entry (vhdl-aget conf-alist inst-conf-key t)) | 14319 | (setq inst-conf-entry (vhdl-aget conf-alist inst-conf-key)) |
| 14352 | (when (and inst-conf-key (not inst-conf-entry)) | 14320 | (when (and inst-conf-key (not inst-conf-entry)) |
| 14353 | (vhdl-warning-when-idle "Configuration not found: \"%s\"" inst-conf-key)) | 14321 | (vhdl-warning-when-idle "Configuration not found: \"%s\"" inst-conf-key)) |
| 14354 | ;; determine entity | 14322 | ;; determine entity |
| 14355 | (setq inst-ent-key | 14323 | (setq inst-ent-key |
| 14356 | (or (nth 2 (car tmp-list)) ; from configuration | 14324 | (or (nth 2 (car tmp-list)) ; from configuration |
| 14357 | (nth 3 inst-conf-entry) ; from subconfiguration | 14325 | (nth 3 inst-conf-entry) ; from subconfiguration |
| 14358 | (nth 3 (vhdl-aget conf-alist (nth 7 inst-entry) t)) | 14326 | (nth 3 (vhdl-aget conf-alist (nth 7 inst-entry))) |
| 14359 | ; from configuration spec. | 14327 | ; from configuration spec. |
| 14360 | (nth 5 inst-entry))) ; from direct instantiation | 14328 | (nth 5 inst-entry))) ; from direct instantiation |
| 14361 | (setq inst-ent-entry (vhdl-aget ent-alist inst-ent-key t)) | 14329 | (setq inst-ent-entry (vhdl-aget ent-alist inst-ent-key)) |
| 14362 | ;; determine architecture | 14330 | ;; determine architecture |
| 14363 | (setq inst-arch-key | 14331 | (setq inst-arch-key |
| 14364 | (or (nth 3 (car tmp-list)) ; from configuration | 14332 | (or (nth 3 (car tmp-list)) ; from configuration |
| @@ -14368,7 +14336,7 @@ entity ENT-KEY." | |||
| 14368 | ; from configuration spec. | 14336 | ; from configuration spec. |
| 14369 | (nth 4 inst-ent-entry) ; MRA | 14337 | (nth 4 inst-ent-entry) ; MRA |
| 14370 | (caar (nth 3 inst-ent-entry)))) ; first alphabetically | 14338 | (caar (nth 3 inst-ent-entry)))) ; first alphabetically |
| 14371 | (setq inst-arch-entry (vhdl-aget (nth 3 inst-ent-entry) inst-arch-key t)) | 14339 | (setq inst-arch-entry (vhdl-aget (nth 3 inst-ent-entry) inst-arch-key)) |
| 14372 | ;; set library | 14340 | ;; set library |
| 14373 | (setq inst-lib-key | 14341 | (setq inst-lib-key |
| 14374 | (or (nth 5 (car tmp-list)) ; from configuration | 14342 | (or (nth 5 (car tmp-list)) ; from configuration |
| @@ -14408,7 +14376,7 @@ entity ENT-KEY." | |||
| 14408 | (defun vhdl-get-instantiations (ent-key indent) | 14376 | (defun vhdl-get-instantiations (ent-key indent) |
| 14409 | "Get all instantiations of entity ENT-KEY." | 14377 | "Get all instantiations of entity ENT-KEY." |
| 14410 | (let ((ent-alist (vhdl-aget vhdl-entity-alist | 14378 | (let ((ent-alist (vhdl-aget vhdl-entity-alist |
| 14411 | (vhdl-speedbar-line-key indent) t)) | 14379 | (vhdl-speedbar-line-key indent))) |
| 14412 | arch-alist inst-alist ent-inst-list | 14380 | arch-alist inst-alist ent-inst-list |
| 14413 | ent-entry arch-entry inst-entry) | 14381 | ent-entry arch-entry inst-entry) |
| 14414 | (while ent-alist | 14382 | (while ent-alist |
| @@ -14495,28 +14463,28 @@ entity ENT-KEY." | |||
| 14495 | (when (member 'hierarchy vhdl-speedbar-save-cache) | 14463 | (when (member 'hierarchy vhdl-speedbar-save-cache) |
| 14496 | (insert "\n;; entity and architecture cache\n" | 14464 | (insert "\n;; entity and architecture cache\n" |
| 14497 | "(vhdl-aput 'vhdl-entity-alist " key " '") | 14465 | "(vhdl-aput 'vhdl-entity-alist " key " '") |
| 14498 | (print (vhdl-aget vhdl-entity-alist cache-key t) (current-buffer)) | 14466 | (print (vhdl-aget vhdl-entity-alist cache-key) (current-buffer)) |
| 14499 | (insert ")\n\n;; configuration cache\n" | 14467 | (insert ")\n\n;; configuration cache\n" |
| 14500 | "(vhdl-aput 'vhdl-config-alist " key " '") | 14468 | "(vhdl-aput 'vhdl-config-alist " key " '") |
| 14501 | (print (vhdl-aget vhdl-config-alist cache-key t) (current-buffer)) | 14469 | (print (vhdl-aget vhdl-config-alist cache-key) (current-buffer)) |
| 14502 | (insert ")\n\n;; package cache\n" | 14470 | (insert ")\n\n;; package cache\n" |
| 14503 | "(vhdl-aput 'vhdl-package-alist " key " '") | 14471 | "(vhdl-aput 'vhdl-package-alist " key " '") |
| 14504 | (print (vhdl-aget vhdl-package-alist cache-key t) (current-buffer)) | 14472 | (print (vhdl-aget vhdl-package-alist cache-key) (current-buffer)) |
| 14505 | (insert ")\n\n;; instantiated entities cache\n" | 14473 | (insert ")\n\n;; instantiated entities cache\n" |
| 14506 | "(vhdl-aput 'vhdl-ent-inst-alist " key " '") | 14474 | "(vhdl-aput 'vhdl-ent-inst-alist " key " '") |
| 14507 | (print (vhdl-aget vhdl-ent-inst-alist cache-key t) (current-buffer)) | 14475 | (print (vhdl-aget vhdl-ent-inst-alist cache-key) (current-buffer)) |
| 14508 | (insert ")\n\n;; design units per file cache\n" | 14476 | (insert ")\n\n;; design units per file cache\n" |
| 14509 | "(vhdl-aput 'vhdl-file-alist " key " '") | 14477 | "(vhdl-aput 'vhdl-file-alist " key " '") |
| 14510 | (print (vhdl-aget vhdl-file-alist cache-key t) (current-buffer)) | 14478 | (print (vhdl-aget vhdl-file-alist cache-key) (current-buffer)) |
| 14511 | (when project | 14479 | (when project |
| 14512 | (insert ")\n\n;; source directories in project cache\n" | 14480 | (insert ")\n\n;; source directories in project cache\n" |
| 14513 | "(vhdl-aput 'vhdl-directory-alist " key " '") | 14481 | "(vhdl-aput 'vhdl-directory-alist " key " '") |
| 14514 | (print (vhdl-aget vhdl-directory-alist cache-key t) (current-buffer))) | 14482 | (print (vhdl-aget vhdl-directory-alist cache-key) (current-buffer))) |
| 14515 | (insert ")\n")) | 14483 | (insert ")\n")) |
| 14516 | (when (member 'display vhdl-speedbar-save-cache) | 14484 | (when (member 'display vhdl-speedbar-save-cache) |
| 14517 | (insert "\n;; shown design units cache\n" | 14485 | (insert "\n;; shown design units cache\n" |
| 14518 | "(vhdl-aput 'vhdl-speedbar-shown-unit-alist " key " '") | 14486 | "(vhdl-aput 'vhdl-speedbar-shown-unit-alist " key " '") |
| 14519 | (print (vhdl-aget vhdl-speedbar-shown-unit-alist cache-key t) | 14487 | (print (vhdl-aget vhdl-speedbar-shown-unit-alist cache-key) |
| 14520 | (current-buffer)) | 14488 | (current-buffer)) |
| 14521 | (insert ")\n")) | 14489 | (insert ")\n")) |
| 14522 | (setq vhdl-updated-project-list | 14490 | (setq vhdl-updated-project-list |
| @@ -14784,10 +14752,10 @@ otherwise use cached data." | |||
| 14784 | (vhdl-scan-project-contents project)) | 14752 | (vhdl-scan-project-contents project)) |
| 14785 | ;; insert design hierarchy | 14753 | ;; insert design hierarchy |
| 14786 | (vhdl-speedbar-insert-hierarchy | 14754 | (vhdl-speedbar-insert-hierarchy |
| 14787 | (vhdl-aget vhdl-entity-alist project t) | 14755 | (vhdl-aget vhdl-entity-alist project) |
| 14788 | (vhdl-aget vhdl-config-alist project t) | 14756 | (vhdl-aget vhdl-config-alist project) |
| 14789 | (vhdl-aget vhdl-package-alist project t) | 14757 | (vhdl-aget vhdl-package-alist project) |
| 14790 | (car (vhdl-aget vhdl-ent-inst-alist project t)) indent) | 14758 | (car (vhdl-aget vhdl-ent-inst-alist project)) indent) |
| 14791 | (insert (int-to-string indent) ":\n") | 14759 | (insert (int-to-string indent) ":\n") |
| 14792 | (put-text-property (- (point) 3) (1- (point)) 'invisible t) | 14760 | (put-text-property (- (point) 3) (1- (point)) 'invisible t) |
| 14793 | (put-text-property (1- (point)) (point) 'invisible nil) | 14761 | (put-text-property (1- (point)) (point) 'invisible nil) |
| @@ -14802,10 +14770,10 @@ otherwise use cached data." | |||
| 14802 | (vhdl-scan-directory-contents directory)) | 14770 | (vhdl-scan-directory-contents directory)) |
| 14803 | ;; insert design hierarchy | 14771 | ;; insert design hierarchy |
| 14804 | (vhdl-speedbar-insert-hierarchy | 14772 | (vhdl-speedbar-insert-hierarchy |
| 14805 | (vhdl-aget vhdl-entity-alist directory t) | 14773 | (vhdl-aget vhdl-entity-alist directory) |
| 14806 | (vhdl-aget vhdl-config-alist directory t) | 14774 | (vhdl-aget vhdl-config-alist directory) |
| 14807 | (vhdl-aget vhdl-package-alist directory t) | 14775 | (vhdl-aget vhdl-package-alist directory) |
| 14808 | (car (vhdl-aget vhdl-ent-inst-alist directory t)) depth) | 14776 | (car (vhdl-aget vhdl-ent-inst-alist directory)) depth) |
| 14809 | ;; expand design units | 14777 | ;; expand design units |
| 14810 | (vhdl-speedbar-expand-units directory) | 14778 | (vhdl-speedbar-expand-units directory) |
| 14811 | (vhdl-aput 'vhdl-directory-alist directory (list (list directory)))) | 14779 | (vhdl-aput 'vhdl-directory-alist directory (list (list directory)))) |
| @@ -14896,7 +14864,7 @@ otherwise use cached data." | |||
| 14896 | (defun vhdl-speedbar-expand-units (key) | 14864 | (defun vhdl-speedbar-expand-units (key) |
| 14897 | "Expand design units in directory/project KEY according to | 14865 | "Expand design units in directory/project KEY according to |
| 14898 | `vhdl-speedbar-shown-unit-alist'." | 14866 | `vhdl-speedbar-shown-unit-alist'." |
| 14899 | (let ((unit-alist (vhdl-aget vhdl-speedbar-shown-unit-alist key t)) | 14867 | (let ((unit-alist (vhdl-aget vhdl-speedbar-shown-unit-alist key)) |
| 14900 | (vhdl-speedbar-update-current-unit nil) | 14868 | (vhdl-speedbar-update-current-unit nil) |
| 14901 | vhdl-updated-project-list) | 14869 | vhdl-updated-project-list) |
| 14902 | (vhdl-adelete 'vhdl-speedbar-shown-unit-alist key) | 14870 | (vhdl-adelete 'vhdl-speedbar-shown-unit-alist key) |
| @@ -14958,9 +14926,9 @@ otherwise use cached data." | |||
| 14958 | "Expand all design units in current directory/project." | 14926 | "Expand all design units in current directory/project." |
| 14959 | (interactive) | 14927 | (interactive) |
| 14960 | (let* ((key (vhdl-speedbar-line-key)) | 14928 | (let* ((key (vhdl-speedbar-line-key)) |
| 14961 | (ent-alist (vhdl-aget vhdl-entity-alist key t)) | 14929 | (ent-alist (vhdl-aget vhdl-entity-alist key)) |
| 14962 | (conf-alist (vhdl-aget vhdl-config-alist key t)) | 14930 | (conf-alist (vhdl-aget vhdl-config-alist key)) |
| 14963 | (pack-alist (vhdl-aget vhdl-package-alist key t)) | 14931 | (pack-alist (vhdl-aget vhdl-package-alist key)) |
| 14964 | arch-alist unit-alist subunit-alist) | 14932 | arch-alist unit-alist subunit-alist) |
| 14965 | (add-to-list 'vhdl-speedbar-shown-project-list key) | 14933 | (add-to-list 'vhdl-speedbar-shown-project-list key) |
| 14966 | (while ent-alist | 14934 | (while ent-alist |
| @@ -15012,8 +14980,8 @@ otherwise use cached data." | |||
| 15012 | (cond | 14980 | (cond |
| 15013 | ((string-match "+" text) ; expand entity | 14981 | ((string-match "+" text) ; expand entity |
| 15014 | (let* ((key (vhdl-speedbar-line-key indent)) | 14982 | (let* ((key (vhdl-speedbar-line-key indent)) |
| 15015 | (ent-alist (vhdl-aget vhdl-entity-alist key t)) | 14983 | (ent-alist (vhdl-aget vhdl-entity-alist key)) |
| 15016 | (ent-entry (vhdl-aget ent-alist token t)) | 14984 | (ent-entry (vhdl-aget ent-alist token)) |
| 15017 | (arch-alist (nth 3 ent-entry)) | 14985 | (arch-alist (nth 3 ent-entry)) |
| 15018 | (inst-alist (vhdl-get-instantiations token indent)) | 14986 | (inst-alist (vhdl-get-instantiations token indent)) |
| 15019 | (subpack-alist (nth 5 ent-entry)) | 14987 | (subpack-alist (nth 5 ent-entry)) |
| @@ -15023,7 +14991,7 @@ otherwise use cached data." | |||
| 15023 | (speedbar-change-expand-button-char ??) | 14991 | (speedbar-change-expand-button-char ??) |
| 15024 | (speedbar-change-expand-button-char ?-) | 14992 | (speedbar-change-expand-button-char ?-) |
| 15025 | ;; add entity to `vhdl-speedbar-shown-unit-alist' | 14993 | ;; add entity to `vhdl-speedbar-shown-unit-alist' |
| 15026 | (let* ((unit-alist (vhdl-aget vhdl-speedbar-shown-unit-alist key t))) | 14994 | (let* ((unit-alist (vhdl-aget vhdl-speedbar-shown-unit-alist key))) |
| 15027 | (vhdl-aput 'unit-alist token nil) | 14995 | (vhdl-aput 'unit-alist token nil) |
| 15028 | (vhdl-aput 'vhdl-speedbar-shown-unit-alist key unit-alist)) | 14996 | (vhdl-aput 'vhdl-speedbar-shown-unit-alist key unit-alist)) |
| 15029 | (speedbar-with-writable | 14997 | (speedbar-with-writable |
| @@ -15064,7 +15032,7 @@ otherwise use cached data." | |||
| 15064 | (speedbar-change-expand-button-char ?+) | 15032 | (speedbar-change-expand-button-char ?+) |
| 15065 | ;; remove entity from `vhdl-speedbar-shown-unit-alist' | 15033 | ;; remove entity from `vhdl-speedbar-shown-unit-alist' |
| 15066 | (let* ((key (vhdl-speedbar-line-key indent)) | 15034 | (let* ((key (vhdl-speedbar-line-key indent)) |
| 15067 | (unit-alist (vhdl-aget vhdl-speedbar-shown-unit-alist key t))) | 15035 | (unit-alist (vhdl-aget vhdl-speedbar-shown-unit-alist key))) |
| 15068 | (vhdl-adelete 'unit-alist token) | 15036 | (vhdl-adelete 'unit-alist token) |
| 15069 | (if unit-alist | 15037 | (if unit-alist |
| 15070 | (vhdl-aput 'vhdl-speedbar-shown-unit-alist key unit-alist) | 15038 | (vhdl-aput 'vhdl-speedbar-shown-unit-alist key unit-alist) |
| @@ -15081,21 +15049,21 @@ otherwise use cached data." | |||
| 15081 | (cond | 15049 | (cond |
| 15082 | ((string-match "+" text) ; expand architecture | 15050 | ((string-match "+" text) ; expand architecture |
| 15083 | (let* ((key (vhdl-speedbar-line-key (1- indent))) | 15051 | (let* ((key (vhdl-speedbar-line-key (1- indent))) |
| 15084 | (ent-alist (vhdl-aget vhdl-entity-alist key t)) | 15052 | (ent-alist (vhdl-aget vhdl-entity-alist key)) |
| 15085 | (conf-alist (vhdl-aget vhdl-config-alist key t)) | 15053 | (conf-alist (vhdl-aget vhdl-config-alist key)) |
| 15086 | (hier-alist (vhdl-get-hierarchy | 15054 | (hier-alist (vhdl-get-hierarchy |
| 15087 | ent-alist conf-alist (car token) (cdr token) nil nil | 15055 | ent-alist conf-alist (car token) (cdr token) nil nil |
| 15088 | 0 (1- indent))) | 15056 | 0 (1- indent))) |
| 15089 | (ent-entry (vhdl-aget ent-alist (car token) t)) | 15057 | (ent-entry (vhdl-aget ent-alist (car token))) |
| 15090 | (arch-entry (vhdl-aget (nth 3 ent-entry) (cdr token) t)) | 15058 | (arch-entry (vhdl-aget (nth 3 ent-entry) (cdr token))) |
| 15091 | (subpack-alist (nth 4 arch-entry)) | 15059 | (subpack-alist (nth 4 arch-entry)) |
| 15092 | entry) | 15060 | entry) |
| 15093 | (if (not (or hier-alist subpack-alist)) | 15061 | (if (not (or hier-alist subpack-alist)) |
| 15094 | (speedbar-change-expand-button-char ??) | 15062 | (speedbar-change-expand-button-char ??) |
| 15095 | (speedbar-change-expand-button-char ?-) | 15063 | (speedbar-change-expand-button-char ?-) |
| 15096 | ;; add architecture to `vhdl-speedbar-shown-unit-alist' | 15064 | ;; add architecture to `vhdl-speedbar-shown-unit-alist' |
| 15097 | (let* ((unit-alist (vhdl-aget vhdl-speedbar-shown-unit-alist key t)) | 15065 | (let* ((unit-alist (vhdl-aget vhdl-speedbar-shown-unit-alist key)) |
| 15098 | (arch-alist (nth 0 (vhdl-aget unit-alist (car token) t)))) | 15066 | (arch-alist (nth 0 (vhdl-aget unit-alist (car token))))) |
| 15099 | (vhdl-aput 'unit-alist (car token) | 15067 | (vhdl-aput 'unit-alist (car token) |
| 15100 | (list (cons (cdr token) arch-alist))) | 15068 | (list (cons (cdr token) arch-alist))) |
| 15101 | (vhdl-aput 'vhdl-speedbar-shown-unit-alist key unit-alist)) | 15069 | (vhdl-aput 'vhdl-speedbar-shown-unit-alist key unit-alist)) |
| @@ -15125,8 +15093,8 @@ otherwise use cached data." | |||
| 15125 | (speedbar-change-expand-button-char ?+) | 15093 | (speedbar-change-expand-button-char ?+) |
| 15126 | ;; remove architecture from `vhdl-speedbar-shown-unit-alist' | 15094 | ;; remove architecture from `vhdl-speedbar-shown-unit-alist' |
| 15127 | (let* ((key (vhdl-speedbar-line-key (1- indent))) | 15095 | (let* ((key (vhdl-speedbar-line-key (1- indent))) |
| 15128 | (unit-alist (vhdl-aget vhdl-speedbar-shown-unit-alist key t)) | 15096 | (unit-alist (vhdl-aget vhdl-speedbar-shown-unit-alist key)) |
| 15129 | (arch-alist (nth 0 (vhdl-aget unit-alist (car token) t)))) | 15097 | (arch-alist (nth 0 (vhdl-aget unit-alist (car token))))) |
| 15130 | (vhdl-aput 'unit-alist (car token) (list (delete (cdr token) arch-alist))) | 15098 | (vhdl-aput 'unit-alist (car token) (list (delete (cdr token) arch-alist))) |
| 15131 | (vhdl-aput 'vhdl-speedbar-shown-unit-alist key unit-alist) | 15099 | (vhdl-aput 'vhdl-speedbar-shown-unit-alist key unit-alist) |
| 15132 | (speedbar-delete-subblock indent) | 15100 | (speedbar-delete-subblock indent) |
| @@ -15141,9 +15109,9 @@ otherwise use cached data." | |||
| 15141 | (cond | 15109 | (cond |
| 15142 | ((string-match "+" text) ; expand configuration | 15110 | ((string-match "+" text) ; expand configuration |
| 15143 | (let* ((key (vhdl-speedbar-line-key indent)) | 15111 | (let* ((key (vhdl-speedbar-line-key indent)) |
| 15144 | (conf-alist (vhdl-aget vhdl-config-alist key t)) | 15112 | (conf-alist (vhdl-aget vhdl-config-alist key)) |
| 15145 | (conf-entry (vhdl-aget conf-alist token)) | 15113 | (conf-entry (vhdl-aget conf-alist token)) |
| 15146 | (ent-alist (vhdl-aget vhdl-entity-alist key t)) | 15114 | (ent-alist (vhdl-aget vhdl-entity-alist key)) |
| 15147 | (hier-alist (vhdl-get-hierarchy | 15115 | (hier-alist (vhdl-get-hierarchy |
| 15148 | ent-alist conf-alist (nth 3 conf-entry) | 15116 | ent-alist conf-alist (nth 3 conf-entry) |
| 15149 | (nth 4 conf-entry) token (nth 5 conf-entry) | 15117 | (nth 4 conf-entry) token (nth 5 conf-entry) |
| @@ -15154,7 +15122,7 @@ otherwise use cached data." | |||
| 15154 | (speedbar-change-expand-button-char ??) | 15122 | (speedbar-change-expand-button-char ??) |
| 15155 | (speedbar-change-expand-button-char ?-) | 15123 | (speedbar-change-expand-button-char ?-) |
| 15156 | ;; add configuration to `vhdl-speedbar-shown-unit-alist' | 15124 | ;; add configuration to `vhdl-speedbar-shown-unit-alist' |
| 15157 | (let* ((unit-alist (vhdl-aget vhdl-speedbar-shown-unit-alist key t))) | 15125 | (let* ((unit-alist (vhdl-aget vhdl-speedbar-shown-unit-alist key))) |
| 15158 | (vhdl-aput 'unit-alist token nil) | 15126 | (vhdl-aput 'unit-alist token nil) |
| 15159 | (vhdl-aput 'vhdl-speedbar-shown-unit-alist key unit-alist)) | 15127 | (vhdl-aput 'vhdl-speedbar-shown-unit-alist key unit-alist)) |
| 15160 | (speedbar-with-writable | 15128 | (speedbar-with-writable |
| @@ -15182,7 +15150,7 @@ otherwise use cached data." | |||
| 15182 | (speedbar-change-expand-button-char ?+) | 15150 | (speedbar-change-expand-button-char ?+) |
| 15183 | ;; remove configuration from `vhdl-speedbar-shown-unit-alist' | 15151 | ;; remove configuration from `vhdl-speedbar-shown-unit-alist' |
| 15184 | (let* ((key (vhdl-speedbar-line-key indent)) | 15152 | (let* ((key (vhdl-speedbar-line-key indent)) |
| 15185 | (unit-alist (vhdl-aget vhdl-speedbar-shown-unit-alist key t))) | 15153 | (unit-alist (vhdl-aget vhdl-speedbar-shown-unit-alist key))) |
| 15186 | (vhdl-adelete 'unit-alist token) | 15154 | (vhdl-adelete 'unit-alist token) |
| 15187 | (if unit-alist | 15155 | (if unit-alist |
| 15188 | (vhdl-aput 'vhdl-speedbar-shown-unit-alist key unit-alist) | 15156 | (vhdl-aput 'vhdl-speedbar-shown-unit-alist key unit-alist) |
| @@ -15199,8 +15167,8 @@ otherwise use cached data." | |||
| 15199 | (cond | 15167 | (cond |
| 15200 | ((string-match "+" text) ; expand package | 15168 | ((string-match "+" text) ; expand package |
| 15201 | (let* ((key (vhdl-speedbar-line-key indent)) | 15169 | (let* ((key (vhdl-speedbar-line-key indent)) |
| 15202 | (pack-alist (vhdl-aget vhdl-package-alist key t)) | 15170 | (pack-alist (vhdl-aget vhdl-package-alist key)) |
| 15203 | (pack-entry (vhdl-aget pack-alist token t)) | 15171 | (pack-entry (vhdl-aget pack-alist token)) |
| 15204 | (comp-alist (nth 3 pack-entry)) | 15172 | (comp-alist (nth 3 pack-entry)) |
| 15205 | (func-alist (nth 4 pack-entry)) | 15173 | (func-alist (nth 4 pack-entry)) |
| 15206 | (func-body-alist (nth 8 pack-entry)) | 15174 | (func-body-alist (nth 8 pack-entry)) |
| @@ -15210,7 +15178,7 @@ otherwise use cached data." | |||
| 15210 | (speedbar-change-expand-button-char ??) | 15178 | (speedbar-change-expand-button-char ??) |
| 15211 | (speedbar-change-expand-button-char ?-) | 15179 | (speedbar-change-expand-button-char ?-) |
| 15212 | ;; add package to `vhdl-speedbar-shown-unit-alist' | 15180 | ;; add package to `vhdl-speedbar-shown-unit-alist' |
| 15213 | (let* ((unit-alist (vhdl-aget vhdl-speedbar-shown-unit-alist key t))) | 15181 | (let* ((unit-alist (vhdl-aget vhdl-speedbar-shown-unit-alist key))) |
| 15214 | (vhdl-aput 'unit-alist token nil) | 15182 | (vhdl-aput 'unit-alist token nil) |
| 15215 | (vhdl-aput 'vhdl-speedbar-shown-unit-alist key unit-alist)) | 15183 | (vhdl-aput 'vhdl-speedbar-shown-unit-alist key unit-alist)) |
| 15216 | (speedbar-with-writable | 15184 | (speedbar-with-writable |
| @@ -15234,7 +15202,7 @@ otherwise use cached data." | |||
| 15234 | (while func-alist | 15202 | (while func-alist |
| 15235 | (setq func-entry (car func-alist) | 15203 | (setq func-entry (car func-alist) |
| 15236 | func-body-entry (vhdl-aget func-body-alist | 15204 | func-body-entry (vhdl-aget func-body-alist |
| 15237 | (car func-entry) t)) | 15205 | (car func-entry))) |
| 15238 | (when (nth 2 func-entry) | 15206 | (when (nth 2 func-entry) |
| 15239 | (vhdl-speedbar-make-subprogram-line | 15207 | (vhdl-speedbar-make-subprogram-line |
| 15240 | (nth 1 func-entry) | 15208 | (nth 1 func-entry) |
| @@ -15252,7 +15220,7 @@ otherwise use cached data." | |||
| 15252 | (speedbar-change-expand-button-char ?+) | 15220 | (speedbar-change-expand-button-char ?+) |
| 15253 | ;; remove package from `vhdl-speedbar-shown-unit-alist' | 15221 | ;; remove package from `vhdl-speedbar-shown-unit-alist' |
| 15254 | (let* ((key (vhdl-speedbar-line-key indent)) | 15222 | (let* ((key (vhdl-speedbar-line-key indent)) |
| 15255 | (unit-alist (vhdl-aget vhdl-speedbar-shown-unit-alist key t))) | 15223 | (unit-alist (vhdl-aget vhdl-speedbar-shown-unit-alist key))) |
| 15256 | (vhdl-adelete 'unit-alist token) | 15224 | (vhdl-adelete 'unit-alist token) |
| 15257 | (if unit-alist | 15225 | (if unit-alist |
| 15258 | (vhdl-aput 'vhdl-speedbar-shown-unit-alist key unit-alist) | 15226 | (vhdl-aput 'vhdl-speedbar-shown-unit-alist key unit-alist) |
| @@ -15267,14 +15235,14 @@ otherwise use cached data." | |||
| 15267 | (defun vhdl-speedbar-insert-subpackages (subpack-alist indent dir-indent) | 15235 | (defun vhdl-speedbar-insert-subpackages (subpack-alist indent dir-indent) |
| 15268 | "Insert required packages." | 15236 | "Insert required packages." |
| 15269 | (let* ((pack-alist (vhdl-aget vhdl-package-alist | 15237 | (let* ((pack-alist (vhdl-aget vhdl-package-alist |
| 15270 | (vhdl-speedbar-line-key dir-indent) t)) | 15238 | (vhdl-speedbar-line-key dir-indent))) |
| 15271 | pack-key lib-name pack-entry) | 15239 | pack-key lib-name pack-entry) |
| 15272 | (when subpack-alist | 15240 | (when subpack-alist |
| 15273 | (vhdl-speedbar-make-title-line "Packages Used:" indent)) | 15241 | (vhdl-speedbar-make-title-line "Packages Used:" indent)) |
| 15274 | (while subpack-alist | 15242 | (while subpack-alist |
| 15275 | (setq pack-key (cdar subpack-alist) | 15243 | (setq pack-key (cdar subpack-alist) |
| 15276 | lib-name (caar subpack-alist)) | 15244 | lib-name (caar subpack-alist)) |
| 15277 | (setq pack-entry (vhdl-aget pack-alist pack-key t)) | 15245 | (setq pack-entry (vhdl-aget pack-alist pack-key)) |
| 15278 | (vhdl-speedbar-make-subpack-line | 15246 | (vhdl-speedbar-make-subpack-line |
| 15279 | (or (nth 0 pack-entry) pack-key) lib-name | 15247 | (or (nth 0 pack-entry) pack-key) lib-name |
| 15280 | (cons (nth 1 pack-entry) (nth 2 pack-entry)) | 15248 | (cons (nth 1 pack-entry) (nth 2 pack-entry)) |
| @@ -15334,11 +15302,11 @@ NO-POSITION non-nil means do not re-position cursor." | |||
| 15334 | (while project-list | 15302 | (while project-list |
| 15335 | (setq file-alist (append file-alist | 15303 | (setq file-alist (append file-alist |
| 15336 | (vhdl-aget vhdl-file-alist | 15304 | (vhdl-aget vhdl-file-alist |
| 15337 | (car project-list) t))) | 15305 | (car project-list)))) |
| 15338 | (setq project-list (cdr project-list))) | 15306 | (setq project-list (cdr project-list))) |
| 15339 | (setq file-alist | 15307 | (setq file-alist |
| 15340 | (vhdl-aget vhdl-file-alist | 15308 | (vhdl-aget vhdl-file-alist |
| 15341 | (abbreviate-file-name default-directory) t))) | 15309 | (abbreviate-file-name default-directory)))) |
| 15342 | (select-frame speedbar-frame) | 15310 | (select-frame speedbar-frame) |
| 15343 | (set-buffer speedbar-buffer) | 15311 | (set-buffer speedbar-buffer) |
| 15344 | (speedbar-with-writable | 15312 | (speedbar-with-writable |
| @@ -15346,7 +15314,7 @@ NO-POSITION non-nil means do not re-position cursor." | |||
| 15346 | (save-excursion | 15314 | (save-excursion |
| 15347 | ;; unhighlight last units | 15315 | ;; unhighlight last units |
| 15348 | (let* ((file-entry (vhdl-aget file-alist | 15316 | (let* ((file-entry (vhdl-aget file-alist |
| 15349 | speedbar-last-selected-file t))) | 15317 | speedbar-last-selected-file))) |
| 15350 | (vhdl-speedbar-update-units | 15318 | (vhdl-speedbar-update-units |
| 15351 | "\\[.\\] " (nth 0 file-entry) | 15319 | "\\[.\\] " (nth 0 file-entry) |
| 15352 | speedbar-last-selected-file 'vhdl-speedbar-entity-face) | 15320 | speedbar-last-selected-file 'vhdl-speedbar-entity-face) |
| @@ -15366,7 +15334,7 @@ NO-POSITION non-nil means do not re-position cursor." | |||
| 15366 | "> " (nth 6 file-entry) | 15334 | "> " (nth 6 file-entry) |
| 15367 | speedbar-last-selected-file 'vhdl-speedbar-instantiation-face)) | 15335 | speedbar-last-selected-file 'vhdl-speedbar-instantiation-face)) |
| 15368 | ;; highlight current units | 15336 | ;; highlight current units |
| 15369 | (let* ((file-entry (vhdl-aget file-alist file-name t))) | 15337 | (let* ((file-entry (vhdl-aget file-alist file-name))) |
| 15370 | (setq | 15338 | (setq |
| 15371 | pos (vhdl-speedbar-update-units | 15339 | pos (vhdl-speedbar-update-units |
| 15372 | "\\[.\\] " (nth 0 file-entry) | 15340 | "\\[.\\] " (nth 0 file-entry) |
| @@ -15862,8 +15830,8 @@ is already shown in a buffer." | |||
| 15862 | (ent-alist (vhdl-aget | 15830 | (ent-alist (vhdl-aget |
| 15863 | vhdl-entity-alist | 15831 | vhdl-entity-alist |
| 15864 | (or (vhdl-project-p) | 15832 | (or (vhdl-project-p) |
| 15865 | (abbreviate-file-name default-directory)) t)) | 15833 | (abbreviate-file-name default-directory)))) |
| 15866 | (ent-entry (vhdl-aget ent-alist ent-key t))) | 15834 | (ent-entry (vhdl-aget ent-alist ent-key))) |
| 15867 | (setcar (cddr (cddr ent-entry)) arch-key) ; (nth 4 ent-entry) | 15835 | (setcar (cddr (cddr ent-entry)) arch-key) ; (nth 4 ent-entry) |
| 15868 | (speedbar-refresh)))) | 15836 | (speedbar-refresh)))) |
| 15869 | 15837 | ||
| @@ -16272,7 +16240,7 @@ component instantiation." | |||
| 16272 | (setq constant-entry | 16240 | (setq constant-entry |
| 16273 | (cons constant-name | 16241 | (cons constant-name |
| 16274 | (if (match-string 1) | 16242 | (if (match-string 1) |
| 16275 | (or (vhdl-aget generic-alist (match-string 2) t) | 16243 | (or (vhdl-aget generic-alist (match-string 2)) |
| 16276 | (error "ERROR: Formal generic \"%s\" mismatch for instance \"%s\"" (match-string 2) inst-name)) | 16244 | (error "ERROR: Formal generic \"%s\" mismatch for instance \"%s\"" (match-string 2) inst-name)) |
| 16277 | (cdar generic-alist)))) | 16245 | (cdar generic-alist)))) |
| 16278 | (push constant-entry constant-alist) | 16246 | (push constant-entry constant-alist) |
| @@ -16293,7 +16261,7 @@ component instantiation." | |||
| 16293 | (setq signal-entry | 16261 | (setq signal-entry |
| 16294 | (cons signal-name | 16262 | (cons signal-name |
| 16295 | (if (match-string 1) | 16263 | (if (match-string 1) |
| 16296 | (or (vhdl-aget port-alist (match-string 2) t) | 16264 | (or (vhdl-aget port-alist (match-string 2)) |
| 16297 | (error "ERROR: Formal port \"%s\" mismatch for instance \"%s\"" (match-string 2) inst-name)) | 16265 | (error "ERROR: Formal port \"%s\" mismatch for instance \"%s\"" (match-string 2) inst-name)) |
| 16298 | (cdar port-alist)))) | 16266 | (cdar port-alist)))) |
| 16299 | (push signal-entry signal-alist) | 16267 | (push signal-entry signal-alist) |
| @@ -16536,7 +16504,7 @@ current project/directory." | |||
| 16536 | "." (file-name-extension (buffer-file-name)))) | 16504 | "." (file-name-extension (buffer-file-name)))) |
| 16537 | (ent-alist (vhdl-aget vhdl-entity-alist | 16505 | (ent-alist (vhdl-aget vhdl-entity-alist |
| 16538 | (or project | 16506 | (or project |
| 16539 | (abbreviate-file-name default-directory)) t)) | 16507 | (abbreviate-file-name default-directory)))) |
| 16540 | (lazy-lock-minimum-size 0) | 16508 | (lazy-lock-minimum-size 0) |
| 16541 | clause-pos component-pos) | 16509 | clause-pos component-pos) |
| 16542 | (message "Generating components package \"%s\"..." pack-name) | 16510 | (message "Generating components package \"%s\"..." pack-name) |
| @@ -16639,7 +16607,7 @@ current project/directory." | |||
| 16639 | (when (equal (nth 5 inst-entry) (nth 4 (car tmp-alist))) | 16607 | (when (equal (nth 5 inst-entry) (nth 4 (car tmp-alist))) |
| 16640 | (setq conf-key (nth 0 (car tmp-alist)))) | 16608 | (setq conf-key (nth 0 (car tmp-alist)))) |
| 16641 | (setq tmp-alist (cdr tmp-alist))) | 16609 | (setq tmp-alist (cdr tmp-alist))) |
| 16642 | (setq conf-entry (vhdl-aget conf-alist conf-key t)) | 16610 | (setq conf-entry (vhdl-aget conf-alist conf-key)) |
| 16643 | ;; insert binding indication ... | 16611 | ;; insert binding indication ... |
| 16644 | ;; ... with subconfiguration (if exists) | 16612 | ;; ... with subconfiguration (if exists) |
| 16645 | (if (and vhdl-compose-configuration-use-subconfiguration conf-entry) | 16613 | (if (and vhdl-compose-configuration-use-subconfiguration conf-entry) |
| @@ -16649,7 +16617,7 @@ current project/directory." | |||
| 16649 | (insert (vhdl-work-library) "." (nth 0 conf-entry)) | 16617 | (insert (vhdl-work-library) "." (nth 0 conf-entry)) |
| 16650 | (insert ";\n")) | 16618 | (insert ";\n")) |
| 16651 | ;; ... with entity (if exists) | 16619 | ;; ... with entity (if exists) |
| 16652 | (setq ent-entry (vhdl-aget ent-alist (nth 5 inst-entry) t)) | 16620 | (setq ent-entry (vhdl-aget ent-alist (nth 5 inst-entry))) |
| 16653 | (when ent-entry | 16621 | (when ent-entry |
| 16654 | (indent-to (+ margin vhdl-basic-offset)) | 16622 | (indent-to (+ margin vhdl-basic-offset)) |
| 16655 | (vhdl-insert-keyword "USE ENTITY ") | 16623 | (vhdl-insert-keyword "USE ENTITY ") |
| @@ -16661,7 +16629,7 @@ current project/directory." | |||
| 16661 | ;; b) from mra, or c) from first architecture | 16629 | ;; b) from mra, or c) from first architecture |
| 16662 | (or (nth 0 (vhdl-aget (nth 3 ent-entry) | 16630 | (or (nth 0 (vhdl-aget (nth 3 ent-entry) |
| 16663 | (or (nth 6 inst-entry) | 16631 | (or (nth 6 inst-entry) |
| 16664 | (nth 4 ent-entry)) t)) | 16632 | (nth 4 ent-entry)))) |
| 16665 | (nth 1 (car (nth 3 ent-entry))))) | 16633 | (nth 1 (car (nth 3 ent-entry))))) |
| 16666 | (insert "(" arch-name ")")) | 16634 | (insert "(" arch-name ")")) |
| 16667 | (insert ";\n") | 16635 | (insert ";\n") |
| @@ -16671,7 +16639,7 @@ current project/directory." | |||
| 16671 | (indent-to (+ margin vhdl-basic-offset)) | 16639 | (indent-to (+ margin vhdl-basic-offset)) |
| 16672 | (vhdl-compose-configuration-architecture | 16640 | (vhdl-compose-configuration-architecture |
| 16673 | (nth 0 ent-entry) arch-name ent-alist conf-alist | 16641 | (nth 0 ent-entry) arch-name ent-alist conf-alist |
| 16674 | (nth 3 (vhdl-aget (nth 3 ent-entry) (downcase arch-name) t)))))) | 16642 | (nth 3 (vhdl-aget (nth 3 ent-entry) (downcase arch-name))))))) |
| 16675 | ;; insert component configuration end | 16643 | ;; insert component configuration end |
| 16676 | (indent-to margin) | 16644 | (indent-to margin) |
| 16677 | (vhdl-insert-keyword "END FOR;\n") | 16645 | (vhdl-insert-keyword "END FOR;\n") |
| @@ -16695,10 +16663,10 @@ current project/directory." | |||
| 16695 | (vhdl-require-hierarchy-info) | 16663 | (vhdl-require-hierarchy-info) |
| 16696 | (let ((ent-alist (vhdl-aget vhdl-entity-alist | 16664 | (let ((ent-alist (vhdl-aget vhdl-entity-alist |
| 16697 | (or (vhdl-project-p) | 16665 | (or (vhdl-project-p) |
| 16698 | (abbreviate-file-name default-directory)) t)) | 16666 | (abbreviate-file-name default-directory)))) |
| 16699 | (conf-alist (vhdl-aget vhdl-config-alist | 16667 | (conf-alist (vhdl-aget vhdl-config-alist |
| 16700 | (or (vhdl-project-p) | 16668 | (or (vhdl-project-p) |
| 16701 | (abbreviate-file-name default-directory)) t)) | 16669 | (abbreviate-file-name default-directory)))) |
| 16702 | (from-speedbar ent-name) | 16670 | (from-speedbar ent-name) |
| 16703 | inst-alist conf-name conf-file-name pos) | 16671 | inst-alist conf-name conf-file-name pos) |
| 16704 | (vhdl-prepare-search-2 | 16672 | (vhdl-prepare-search-2 |
| @@ -16714,8 +16682,8 @@ current project/directory." | |||
| 16714 | vhdl-compose-configuration-name | 16682 | vhdl-compose-configuration-name |
| 16715 | (concat ent-name " " arch-name))) | 16683 | (concat ent-name " " arch-name))) |
| 16716 | (setq inst-alist | 16684 | (setq inst-alist |
| 16717 | (nth 3 (vhdl-aget (nth 3 (vhdl-aget ent-alist (downcase ent-name) t)) | 16685 | (nth 3 (vhdl-aget (nth 3 (vhdl-aget ent-alist (downcase ent-name))) |
| 16718 | (downcase arch-name) t)))) | 16686 | (downcase arch-name))))) |
| 16719 | (message "Generating configuration \"%s\"..." conf-name) | 16687 | (message "Generating configuration \"%s\"..." conf-name) |
| 16720 | (if vhdl-compose-configuration-create-file | 16688 | (if vhdl-compose-configuration-create-file |
| 16721 | ;; open configuration file | 16689 | ;; open configuration file |
| @@ -16930,7 +16898,7 @@ do not print any file names." | |||
| 16930 | (interactive) | 16898 | (interactive) |
| 16931 | (vhdl-compile-init) | 16899 | (vhdl-compile-init) |
| 16932 | (let* ((project (vhdl-aget vhdl-project-alist vhdl-project)) | 16900 | (let* ((project (vhdl-aget vhdl-project-alist vhdl-project)) |
| 16933 | (compiler (or (vhdl-aget vhdl-compiler-alist vhdl-compiler nil) | 16901 | (compiler (or (vhdl-aget vhdl-compiler-alist vhdl-compiler) |
| 16934 | (error "ERROR: No such compiler: \"%s\"" vhdl-compiler))) | 16902 | (error "ERROR: No such compiler: \"%s\"" vhdl-compiler))) |
| 16935 | (command (nth 0 compiler)) | 16903 | (command (nth 0 compiler)) |
| 16936 | (default-directory (vhdl-compile-directory)) | 16904 | (default-directory (vhdl-compile-directory)) |
| @@ -17065,9 +17033,9 @@ specified by a target." | |||
| 17065 | (vhdl-scan-directory-contents directory)))) | 17033 | (vhdl-scan-directory-contents directory)))) |
| 17066 | (let* ((directory (abbreviate-file-name (vhdl-default-directory))) | 17034 | (let* ((directory (abbreviate-file-name (vhdl-default-directory))) |
| 17067 | (project (vhdl-project-p)) | 17035 | (project (vhdl-project-p)) |
| 17068 | (ent-alist (vhdl-aget vhdl-entity-alist (or project directory) t)) | 17036 | (ent-alist (vhdl-aget vhdl-entity-alist (or project directory))) |
| 17069 | (conf-alist (vhdl-aget vhdl-config-alist (or project directory) t)) | 17037 | (conf-alist (vhdl-aget vhdl-config-alist (or project directory))) |
| 17070 | (pack-alist (vhdl-aget vhdl-package-alist (or project directory) t)) | 17038 | (pack-alist (vhdl-aget vhdl-package-alist (or project directory))) |
| 17071 | (regexp-list (or (nth 12 (vhdl-aget vhdl-compiler-alist vhdl-compiler)) | 17039 | (regexp-list (or (nth 12 (vhdl-aget vhdl-compiler-alist vhdl-compiler)) |
| 17072 | '("\\1.vhd" "\\2_\\1.vhd" "\\1.vhd" | 17040 | '("\\1.vhd" "\\2_\\1.vhd" "\\1.vhd" |
| 17073 | "\\1.vhd" "\\1_body.vhd" identity))) | 17041 | "\\1.vhd" "\\1_body.vhd" identity))) |
| @@ -17397,9 +17365,9 @@ specified by a target." | |||
| 17397 | (setq subcomp-list | 17365 | (setq subcomp-list |
| 17398 | (sort (vhdl-uniquify (nth 2 (car prim-list))) 'string<)) | 17366 | (sort (vhdl-uniquify (nth 2 (car prim-list))) 'string<)) |
| 17399 | (setq unit-key (caar prim-list) | 17367 | (setq unit-key (caar prim-list) |
| 17400 | unit-name (or (nth 0 (vhdl-aget ent-alist unit-key t)) | 17368 | unit-name (or (nth 0 (vhdl-aget ent-alist unit-key)) |
| 17401 | (nth 0 (vhdl-aget conf-alist unit-key t)) | 17369 | (nth 0 (vhdl-aget conf-alist unit-key)) |
| 17402 | (nth 0 (vhdl-aget pack-alist unit-key t)))) | 17370 | (nth 0 (vhdl-aget pack-alist unit-key)))) |
| 17403 | (insert "\n" unit-key) | 17371 | (insert "\n" unit-key) |
| 17404 | (unless (equal unit-key unit-name) | 17372 | (unless (equal unit-key unit-name) |
| 17405 | (insert " \\\n" unit-name)) | 17373 | (insert " \\\n" unit-name)) |