(defcustom vhdl-reset-active-high nil
"*Non-nil means reset in sequential processes is active high.
-Nil means active low."
+nil means active low."
:type 'boolean
:group 'vhdl-sequential-process)
(defcustom vhdl-clock-rising-edge t
"*Non-nil means rising edge of clock triggers sequential processes.
-Nil means falling edge."
+nil means falling edge."
:type 'boolean
:group 'vhdl-sequential-process)
(defcustom vhdl-speedbar-hierarchy-indent 1
"*Amount of indentation in hierarchy display of subcomponent."
:type 'integer
- :set (lambda (variable value)
- (vhdl-custom-set variable value 'speedbar-refresh))
:group 'vhdl-menu)
(defcustom vhdl-index-menu nil
(defvar vhdl-progress-interval 1
"*Interval used to update progress status during long operations.
If a number, percentage complete gets updated after each interval of
-that many seconds. To inhibit all messages, set this variable to nil.")
+that many seconds. To inhibit all messages, set this variable to nil.")
(defvar vhdl-inhibit-startup-warnings-p nil
"*If non-nil, inhibits start up compatibility warnings.")
(defmacro vhdl-ext-syntax-table (&rest body)
"Execute BODY with syntax table that includes `_' in word class."
- (` (let (result)
- (modify-syntax-entry ?_ "w" vhdl-mode-syntax-table)
- (setq result (progn (,@ body)))
- (when (not vhdl-underscore-is-part-of-word)
- (modify-syntax-entry ?_ "_" vhdl-mode-syntax-table))
- result)))
+ `(let (result)
+ (modify-syntax-entry ?_ "w" vhdl-mode-syntax-table)
+ (setq result (progn ,@body))
+ (when (not vhdl-underscore-is-part-of-word)
+ (modify-syntax-entry ?_ "_" vhdl-mode-syntax-table))
+ result))
(defvar vhdl-syntactic-context nil
"Buffer local variable containing syntactic analysis list.")
(when (memq 'vhdl vhdl-electric-keywords)
;; VHDL'93 keywords
'(
- ("--" "" vhdl-template-display-comment-hook 0)
- ("abs" "" vhdl-template-default-hook 0)
- ("access" "" vhdl-template-default-hook 0)
- ("after" "" vhdl-template-default-hook 0)
- ("alias" "" vhdl-template-alias-hook 0)
- ("all" "" vhdl-template-default-hook 0)
- ("and" "" vhdl-template-default-hook 0)
- ("arch" "" vhdl-template-architecture-hook 0)
- ("architecture" "" vhdl-template-architecture-hook 0)
- ("array" "" vhdl-template-default-hook 0)
- ("assert" "" vhdl-template-assert-hook 0)
- ("attr" "" vhdl-template-attribute-hook 0)
- ("attribute" "" vhdl-template-attribute-hook 0)
- ("begin" "" vhdl-template-default-indent-hook 0)
- ("block" "" vhdl-template-block-hook 0)
- ("body" "" vhdl-template-default-hook 0)
- ("buffer" "" vhdl-template-default-hook 0)
- ("bus" "" vhdl-template-default-hook 0)
- ("case" "" vhdl-template-case-hook 0)
- ("comp" "" vhdl-template-component-hook 0)
- ("component" "" vhdl-template-component-hook 0)
- ("cond" "" vhdl-template-conditional-signal-asst-hook 0)
- ("conditional" "" vhdl-template-conditional-signal-asst-hook 0)
- ("conf" "" vhdl-template-configuration-hook 0)
- ("configuration" "" vhdl-template-configuration-hook 0)
- ("cons" "" vhdl-template-constant-hook 0)
- ("constant" "" vhdl-template-constant-hook 0)
- ("disconnect" "" vhdl-template-disconnect-hook 0)
- ("downto" "" vhdl-template-default-hook 0)
- ("else" "" vhdl-template-else-hook 0)
- ("elseif" "" vhdl-template-elsif-hook 0)
- ("elsif" "" vhdl-template-elsif-hook 0)
- ("end" "" vhdl-template-default-indent-hook 0)
- ("entity" "" vhdl-template-entity-hook 0)
- ("exit" "" vhdl-template-exit-hook 0)
- ("file" "" vhdl-template-file-hook 0)
- ("for" "" vhdl-template-for-hook 0)
- ("func" "" vhdl-template-function-hook 0)
- ("function" "" vhdl-template-function-hook 0)
- ("generic" "" vhdl-template-generic-hook 0)
- ("group" "" vhdl-template-group-hook 0)
- ("guarded" "" vhdl-template-default-hook 0)
- ("if" "" vhdl-template-if-hook 0)
- ("impure" "" vhdl-template-default-hook 0)
- ("in" "" vhdl-template-default-hook 0)
- ("inertial" "" vhdl-template-default-hook 0)
- ("inout" "" vhdl-template-default-hook 0)
- ("inst" "" vhdl-template-instance-hook 0)
- ("instance" "" vhdl-template-instance-hook 0)
- ("is" "" vhdl-template-default-hook 0)
- ("label" "" vhdl-template-default-hook 0)
- ("library" "" vhdl-template-library-hook 0)
- ("linkage" "" vhdl-template-default-hook 0)
- ("literal" "" vhdl-template-default-hook 0)
- ("loop" "" vhdl-template-bare-loop-hook 0)
- ("map" "" vhdl-template-map-hook 0)
- ("mod" "" vhdl-template-default-hook 0)
- ("nand" "" vhdl-template-default-hook 0)
- ("new" "" vhdl-template-default-hook 0)
- ("next" "" vhdl-template-next-hook 0)
- ("nor" "" vhdl-template-default-hook 0)
- ("not" "" vhdl-template-default-hook 0)
- ("null" "" vhdl-template-default-hook 0)
- ("of" "" vhdl-template-default-hook 0)
- ("on" "" vhdl-template-default-hook 0)
- ("open" "" vhdl-template-default-hook 0)
- ("or" "" vhdl-template-default-hook 0)
- ("others" "" vhdl-template-default-hook 0)
- ("out" "" vhdl-template-default-hook 0)
- ("pack" "" vhdl-template-package-hook 0)
- ("package" "" vhdl-template-package-hook 0)
- ("port" "" vhdl-template-port-hook 0)
- ("postponed" "" vhdl-template-default-hook 0)
- ("procedure" "" vhdl-template-procedure-hook 0)
- ("process" "" vhdl-template-process-hook 0)
- ("pure" "" vhdl-template-default-hook 0)
- ("range" "" vhdl-template-default-hook 0)
- ("record" "" vhdl-template-default-hook 0)
- ("register" "" vhdl-template-default-hook 0)
- ("reject" "" vhdl-template-default-hook 0)
- ("rem" "" vhdl-template-default-hook 0)
- ("report" "" vhdl-template-report-hook 0)
- ("return" "" vhdl-template-return-hook 0)
- ("rol" "" vhdl-template-default-hook 0)
- ("ror" "" vhdl-template-default-hook 0)
- ("select" "" vhdl-template-selected-signal-asst-hook 0)
- ("severity" "" vhdl-template-default-hook 0)
- ("shared" "" vhdl-template-default-hook 0)
- ("sig" "" vhdl-template-signal-hook 0)
- ("signal" "" vhdl-template-signal-hook 0)
- ("sla" "" vhdl-template-default-hook 0)
- ("sll" "" vhdl-template-default-hook 0)
- ("sra" "" vhdl-template-default-hook 0)
- ("srl" "" vhdl-template-default-hook 0)
- ("subtype" "" vhdl-template-subtype-hook 0)
- ("then" "" vhdl-template-default-hook 0)
- ("to" "" vhdl-template-default-hook 0)
- ("transport" "" vhdl-template-default-hook 0)
- ("type" "" vhdl-template-type-hook 0)
- ("unaffected" "" vhdl-template-default-hook 0)
- ("units" "" vhdl-template-default-hook 0)
- ("until" "" vhdl-template-default-hook 0)
- ("use" "" vhdl-template-use-hook 0)
- ("var" "" vhdl-template-variable-hook 0)
- ("variable" "" vhdl-template-variable-hook 0)
- ("wait" "" vhdl-template-wait-hook 0)
- ("when" "" vhdl-template-when-hook 0)
- ("while" "" vhdl-template-while-loop-hook 0)
- ("with" "" vhdl-template-with-hook 0)
- ("xnor" "" vhdl-template-default-hook 0)
- ("xor" "" vhdl-template-default-hook 0)
+ ("--" "" vhdl-template-display-comment-hook 0 t)
+ ("abs" "" vhdl-template-default-hook 0 t)
+ ("access" "" vhdl-template-default-hook 0 t)
+ ("after" "" vhdl-template-default-hook 0 t)
+ ("alias" "" vhdl-template-alias-hook 0 t)
+ ("all" "" vhdl-template-default-hook 0 t)
+ ("and" "" vhdl-template-default-hook 0 t)
+ ("arch" "" vhdl-template-architecture-hook 0 t)
+ ("architecture" "" vhdl-template-architecture-hook 0 t)
+ ("array" "" vhdl-template-default-hook 0 t)
+ ("assert" "" vhdl-template-assert-hook 0 t)
+ ("attr" "" vhdl-template-attribute-hook 0 t)
+ ("attribute" "" vhdl-template-attribute-hook 0 t)
+ ("begin" "" vhdl-template-default-indent-hook 0 t)
+ ("block" "" vhdl-template-block-hook 0 t)
+ ("body" "" vhdl-template-default-hook 0 t)
+ ("buffer" "" vhdl-template-default-hook 0 t)
+ ("bus" "" vhdl-template-default-hook 0 t)
+ ("case" "" vhdl-template-case-hook 0 t)
+ ("comp" "" vhdl-template-component-hook 0 t)
+ ("component" "" vhdl-template-component-hook 0 t)
+ ("cond" "" vhdl-template-conditional-signal-asst-hook 0 t)
+ ("conditional" "" vhdl-template-conditional-signal-asst-hook 0 t)
+ ("conf" "" vhdl-template-configuration-hook 0 t)
+ ("configuration" "" vhdl-template-configuration-hook 0 t)
+ ("cons" "" vhdl-template-constant-hook 0 t)
+ ("constant" "" vhdl-template-constant-hook 0 t)
+ ("disconnect" "" vhdl-template-disconnect-hook 0 t)
+ ("downto" "" vhdl-template-default-hook 0 t)
+ ("else" "" vhdl-template-else-hook 0 t)
+ ("elseif" "" vhdl-template-elsif-hook 0 t)
+ ("elsif" "" vhdl-template-elsif-hook 0 t)
+ ("end" "" vhdl-template-default-indent-hook 0 t)
+ ("entity" "" vhdl-template-entity-hook 0 t)
+ ("exit" "" vhdl-template-exit-hook 0 t)
+ ("file" "" vhdl-template-file-hook 0 t)
+ ("for" "" vhdl-template-for-hook 0 t)
+ ("func" "" vhdl-template-function-hook 0 t)
+ ("function" "" vhdl-template-function-hook 0 t)
+ ("generic" "" vhdl-template-generic-hook 0 t)
+ ("group" "" vhdl-template-group-hook 0 t)
+ ("guarded" "" vhdl-template-default-hook 0 t)
+ ("if" "" vhdl-template-if-hook 0 t)
+ ("impure" "" vhdl-template-default-hook 0 t)
+ ("in" "" vhdl-template-default-hook 0 t)
+ ("inertial" "" vhdl-template-default-hook 0 t)
+ ("inout" "" vhdl-template-default-hook 0 t)
+ ("inst" "" vhdl-template-instance-hook 0 t)
+ ("instance" "" vhdl-template-instance-hook 0 t)
+ ("is" "" vhdl-template-default-hook 0 t)
+ ("label" "" vhdl-template-default-hook 0 t)
+ ("library" "" vhdl-template-library-hook 0 t)
+ ("linkage" "" vhdl-template-default-hook 0 t)
+ ("literal" "" vhdl-template-default-hook 0 t)
+ ("loop" "" vhdl-template-bare-loop-hook 0 t)
+ ("map" "" vhdl-template-map-hook 0 t)
+ ("mod" "" vhdl-template-default-hook 0 t)
+ ("nand" "" vhdl-template-default-hook 0 t)
+ ("new" "" vhdl-template-default-hook 0 t)
+ ("next" "" vhdl-template-next-hook 0 t)
+ ("nor" "" vhdl-template-default-hook 0 t)
+ ("not" "" vhdl-template-default-hook 0 t)
+ ("null" "" vhdl-template-default-hook 0 t)
+ ("of" "" vhdl-template-default-hook 0 t)
+ ("on" "" vhdl-template-default-hook 0 t)
+ ("open" "" vhdl-template-default-hook 0 t)
+ ("or" "" vhdl-template-default-hook 0 t)
+ ("others" "" vhdl-template-default-hook 0 t)
+ ("out" "" vhdl-template-default-hook 0 t)
+ ("pack" "" vhdl-template-package-hook 0 t)
+ ("package" "" vhdl-template-package-hook 0 t)
+ ("port" "" vhdl-template-port-hook 0 t)
+ ("postponed" "" vhdl-template-default-hook 0 t)
+ ("procedure" "" vhdl-template-procedure-hook 0 t)
+ ("process" "" vhdl-template-process-hook 0 t)
+ ("pure" "" vhdl-template-default-hook 0 t)
+ ("range" "" vhdl-template-default-hook 0 t)
+ ("record" "" vhdl-template-default-hook 0 t)
+ ("register" "" vhdl-template-default-hook 0 t)
+ ("reject" "" vhdl-template-default-hook 0 t)
+ ("rem" "" vhdl-template-default-hook 0 t)
+ ("report" "" vhdl-template-report-hook 0 t)
+ ("return" "" vhdl-template-return-hook 0 t)
+ ("rol" "" vhdl-template-default-hook 0 t)
+ ("ror" "" vhdl-template-default-hook 0 t)
+ ("select" "" vhdl-template-selected-signal-asst-hook 0 t)
+ ("severity" "" vhdl-template-default-hook 0 t)
+ ("shared" "" vhdl-template-default-hook 0 t)
+ ("sig" "" vhdl-template-signal-hook 0 t)
+ ("signal" "" vhdl-template-signal-hook 0 t)
+ ("sla" "" vhdl-template-default-hook 0 t)
+ ("sll" "" vhdl-template-default-hook 0 t)
+ ("sra" "" vhdl-template-default-hook 0 t)
+ ("srl" "" vhdl-template-default-hook 0 t)
+ ("subtype" "" vhdl-template-subtype-hook 0 t)
+ ("then" "" vhdl-template-default-hook 0 t)
+ ("to" "" vhdl-template-default-hook 0 t)
+ ("transport" "" vhdl-template-default-hook 0 t)
+ ("type" "" vhdl-template-type-hook 0 t)
+ ("unaffected" "" vhdl-template-default-hook 0 t)
+ ("units" "" vhdl-template-default-hook 0 t)
+ ("until" "" vhdl-template-default-hook 0 t)
+ ("use" "" vhdl-template-use-hook 0 t)
+ ("var" "" vhdl-template-variable-hook 0 t)
+ ("variable" "" vhdl-template-variable-hook 0 t)
+ ("wait" "" vhdl-template-wait-hook 0 t)
+ ("when" "" vhdl-template-when-hook 0 t)
+ ("while" "" vhdl-template-while-loop-hook 0 t)
+ ("with" "" vhdl-template-with-hook 0 t)
+ ("xnor" "" vhdl-template-default-hook 0 t)
+ ("xor" "" vhdl-template-default-hook 0 t)
))
;; VHDL-AMS keywords
(when (and (memq 'vhdl vhdl-electric-keywords) (vhdl-standard-p 'ams))
'(
- ("across" "" vhdl-template-default-hook 0)
- ("break" "" vhdl-template-break-hook 0)
- ("limit" "" vhdl-template-limit-hook 0)
- ("nature" "" vhdl-template-nature-hook 0)
- ("noise" "" vhdl-template-default-hook 0)
- ("procedural" "" vhdl-template-procedural-hook 0)
- ("quantity" "" vhdl-template-quantity-hook 0)
- ("reference" "" vhdl-template-default-hook 0)
- ("spectrum" "" vhdl-template-default-hook 0)
- ("subnature" "" vhdl-template-subnature-hook 0)
- ("terminal" "" vhdl-template-terminal-hook 0)
- ("through" "" vhdl-template-default-hook 0)
- ("tolerance" "" vhdl-template-default-hook 0)
+ ("across" "" vhdl-template-default-hook 0 t)
+ ("break" "" vhdl-template-break-hook 0 t)
+ ("limit" "" vhdl-template-limit-hook 0 t)
+ ("nature" "" vhdl-template-nature-hook 0 t)
+ ("noise" "" vhdl-template-default-hook 0 t)
+ ("procedural" "" vhdl-template-procedural-hook 0 t)
+ ("quantity" "" vhdl-template-quantity-hook 0 t)
+ ("reference" "" vhdl-template-default-hook 0 t)
+ ("spectrum" "" vhdl-template-default-hook 0 t)
+ ("subnature" "" vhdl-template-subnature-hook 0 t)
+ ("terminal" "" vhdl-template-terminal-hook 0 t)
+ ("through" "" vhdl-template-default-hook 0 t)
+ ("tolerance" "" vhdl-template-default-hook 0 t)
))
;; user model keywords
(when (memq 'user vhdl-electric-keywords)
(null (cdr (cdr position))))
(error "Bad buffer position requested: %s" position))
(setq position (nth 1 position))
- (` (let ((here (point)))
- (,@ (cond
- ((eq position 'bol) '((beginning-of-line)))
- ((eq position 'eol) '((end-of-line)))
- ((eq position 'bod) '((save-match-data
- (vhdl-beginning-of-defun))))
- ((eq position 'boi) '((back-to-indentation)))
- ((eq position 'eoi) '((end-of-line)(skip-chars-backward " \t")))
- ((eq position 'bonl) '((forward-line 1)))
- ((eq position 'bopl) '((forward-line -1)))
- ((eq position 'iopl)
- '((forward-line -1)
- (back-to-indentation)))
- ((eq position 'ionl)
- '((forward-line 1)
- (back-to-indentation)))
- (t (error "Unknown buffer position requested: %s" position))
- ))
- (prog1
- (point)
- (goto-char here))
- ;; workaround for an Emacs18 bug -- blech! Well, at least it
- ;; doesn't hurt for v19
- (,@ nil)
- )))
+ `(let ((here (point)))
+ ,@(cond
+ ((eq position 'bol) '((beginning-of-line)))
+ ((eq position 'eol) '((end-of-line)))
+ ((eq position 'bod) '((save-match-data
+ (vhdl-beginning-of-defun))))
+ ((eq position 'boi) '((back-to-indentation)))
+ ((eq position 'eoi) '((end-of-line)(skip-chars-backward " \t")))
+ ((eq position 'bonl) '((forward-line 1)))
+ ((eq position 'bopl) '((forward-line -1)))
+ ((eq position 'iopl)
+ '((forward-line -1)
+ (back-to-indentation)))
+ ((eq position 'ionl)
+ '((forward-line 1)
+ (back-to-indentation)))
+ (t (error "Unknown buffer position requested: %s" position))
+ )
+ (prog1
+ (point)
+ (goto-char here))
+ ;; workaround for an Emacs18 bug -- blech! Well, at least it
+ ;; doesn't hurt for v19
+ ,@nil
+ ))
(defmacro vhdl-safe (&rest body)
"Safely execute BODY, return nil if an error occurred."
- (` (condition-case nil
- (progn (,@ body))
- (error nil))))
+ `(condition-case nil
+ (progn ,@body)
+ (error nil)))
(defmacro vhdl-add-syntax (symbol &optional relpos)
"A simple macro to append the syntax in SYMBOL to the syntax list.
Try to increase performance by using this macro."
- (` (setq vhdl-syntactic-context
- (cons (cons (, symbol) (, relpos)) vhdl-syntactic-context))))
+ `(setq vhdl-syntactic-context
+ (cons (cons ,symbol ,relpos) vhdl-syntactic-context)))
(defmacro vhdl-has-syntax (symbol)
"A simple macro to return check the syntax list.
Try to increase performance by using this macro."
- (` (assoc (, symbol) vhdl-syntactic-context)))
+ `(assoc ,symbol vhdl-syntactic-context))
;; Syntactic element offset manipulation:
"If the word at the current position corresponds to an \"end\"
keyword, then return a vector containing enough information to find
the corresponding \"begin\" keyword, else return nil. The keyword to
-search backward for is aref 0. The column in which the keyword must
+search backward for is aref 0. The column in which the keyword must
appear is aref 1 or nil if any column is suitable. The supplementary
keyword to search forward for is aref 2 or nil if this is not
required. If aref 3 is t, then the \"begin\" keyword may be found in
(setq prompt (match-string 1))
(replace-match "")
(setq string (vhdl-template-field prompt nil t))
- ;; replace occurences of same prompt
+ ;; replace occurrences of same prompt
(while (re-search-forward (concat "<\\(" prompt "\\)>") end t)
(replace-match (or string "")))
(goto-char position)))
;; bindings and which themselves call `vhdl-model-insert' with the model
;; name as argument
(setq model-name (nth 0 (car model-alist)))
- (eval (` (defun (, (vhdl-function-name "vhdl-model" model-name)) ()
- (, (concat "Insert model for \"" model-name "\"."))
- (interactive)
- (vhdl-model-insert (, model-name)))))
+ (eval `(defun ,(vhdl-function-name "vhdl-model" model-name) ()
+ ,(concat "Insert model for \"" model-name "\".")
+ (interactive)
+ (vhdl-model-insert ,model-name)))
;; define hooks for user models that are invoked from keyword abbrevs
(setq model-keyword (nth 3 (car model-alist)))
(unless (equal model-keyword "")
- (eval (` (defun
- (, (vhdl-function-name
- "vhdl-model" model-name "hook")) ()
- (vhdl-hooked-abbrev
- '(, (vhdl-function-name "vhdl-model" model-name)))))))
+ (eval `(defun
+ ,(vhdl-function-name
+ "vhdl-model" model-name "hook") ()
+ (vhdl-hooked-abbrev
+ ',(vhdl-function-name "vhdl-model" model-name)))))
(setq model-alist (cdr model-alist)))))
(vhdl-model-defun)
(while syntax-alist
(setq name (vhdl-function-name
"vhdl-font-lock" (nth 0 (car syntax-alist)) "face"))
- (eval (` (defvar (, name) '(, name)
- (, (concat "Face name to use for "
- (nth 0 (car syntax-alist)) ".")))))
+ (eval `(defvar ,name ',name
+ ,(concat "Face name to use for "
+ (nth 0 (car syntax-alist)) ".")))
(setq syntax-alist (cdr syntax-alist))))
(defgroup vhdl-highlight-faces nil
'vhdl-highlight-faces 'font-lock-variable-name-face 'custom-face)
(defface vhdl-font-lock-prompt-face
- '((((class color) (background light)) (:foreground "Red" :bold t))
- (((class color) (background dark)) (:foreground "Pink" :bold t))
+ '((((class color) (background light)) (:foreground "Red" :weight bold))
+ (((class color) (background dark)) (:foreground "Pink" :weight bold))
(t (:inverse-video t)))
"Font lock mode face used to highlight prompts."
:group 'vhdl-highlight-faces
(defface vhdl-font-lock-attribute-face
'((((class color) (background light)) (:foreground "Orchid"))
(((class color) (background dark)) (:foreground "LightSteelBlue"))
- (t (:italic t :bold t)))
+ (t (:slant italic :weight bold)))
"Font lock mode face used to highlight standardized attributes."
:group 'vhdl-highlight-faces
:group 'font-lock-highlighting-faces)
(defface vhdl-font-lock-enumvalue-face
'((((class color) (background light)) (:foreground "Gold4"))
(((class color) (background dark)) (:foreground "BurlyWood"))
- (t (:italic t :bold t)))
+ (t (:slant italic :weight bold)))
"Font lock mode face used to highlight standardized enumeration values."
:group 'vhdl-highlight-faces
:group 'font-lock-highlighting-faces)
(defface vhdl-font-lock-function-face
'((((class color) (background light)) (:foreground "Orchid4"))
(((class color) (background dark)) (:foreground "Orchid1"))
- (t (:italic t :bold t)))
+ (t (:slant italic :weight bold)))
"Font lock mode face used to highlight standardized functions and packages."
:group 'vhdl-highlight-faces
:group 'font-lock-highlighting-faces)
(defface vhdl-font-lock-directive-face
'((((class color) (background light)) (:foreground "CadetBlue"))
(((class color) (background dark)) (:foreground "Aquamarine"))
- (t (:italic t :bold t)))
+ (t (:slant italic :weight bold)))
"Font lock mode face used to highlight directives."
:group 'vhdl-highlight-faces
:group 'font-lock-highlighting-faces)
(defface vhdl-font-lock-reserved-words-face
- '((((class color) (background light)) (:foreground "Orange" :bold t))
- (((class color) (background dark)) (:foreground "Yellow" :bold t))
+ '((((class color) (background light)) (:foreground "Orange" :weight bold))
+ (((class color) (background dark)) (:foreground "Yellow" :weight bold))
(t ()))
"Font lock mode face used to highlight additional reserved words."
:group 'vhdl-highlight-faces
;; font lock mode faces used to highlight words with special syntax.
(let ((syntax-alist vhdl-special-syntax-alist))
(while syntax-alist
- (eval (` (defface (, (vhdl-function-name
- "vhdl-font-lock" (car (car syntax-alist)) "face"))
- '((((class color) (background light))
- (:foreground (, (nth 2 (car syntax-alist)))))
- (((class color) (background dark))
- (:foreground (, (nth 3 (car syntax-alist)))))
- (t ()))
- (, (concat "Font lock mode face used to highlight "
- (nth 0 (car syntax-alist)) "."))
- :group 'vhdl-highlight-faces
- :group 'font-lock-highlighting-faces)))
+ (eval `(defface ,(vhdl-function-name
+ "vhdl-font-lock" (car (car syntax-alist)) "face")
+ '((((class color) (background light))
+ (:foreground ,(nth 2 (car syntax-alist))))
+ (((class color) (background dark))
+ (:foreground ,(nth 3 (car syntax-alist))))
+ (t ()))
+ ,(concat "Font lock mode face used to highlight "
+ (nth 0 (car syntax-alist)) ".")
+ :group 'vhdl-highlight-faces
+ :group 'font-lock-highlighting-faces))
(setq syntax-alist (cdr syntax-alist))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(if (not (boundp 'speedbar-frame))
(add-hook 'speedbar-load-hook 'vhdl-speedbar-initialize)
(vhdl-speedbar-initialize)
- (speedbar-refresh))
+ (when speedbar-frame (speedbar-refresh)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Display functions