Variable: fortran-font-lock-keywords-3

fortran-font-lock-keywords-3 is a variable defined in fortran.el.gz.

Value

(("\\<\\(block[      ]*data\\|call\\|entry\\|function\\|program\\|subroutine\\)\\>[       ]*\\(\\sw+\\)?"
  (1 font-lock-keyword-face)
  (2 font-lock-function-name-face nil t))
 ("\\<\\(byte\\|c\\(?:haracter\\|om\\(?:mon\\|plex\\)\\)\\|d\\(?:ata\\|imension\\|ouble[     ]*\\(?:complex\\|precision\\)\\)\\|e\\(?:nd[    ]*\\(?:map\\|structure\\|union\\)\\|quivalence\\|xternal\\)\\|i\\(?:mplicit[    ]*\\(?:byte\\|c\\(?:haracter\\|omplex\\)\\|double[      ]*\\(?:complex\\|precision\\)\\|integer\\|logical\\|none\\|real\\)\\|nt\\(?:eger\\|rinsic\\)\\)\\|logical\\|map\\|none\\|parameter\\|re\\(?:al\\|cord\\)\\|s\\(?:\\(?:av\\|tructur\\)e\\)\\|union\\)\\>[     (/]*\\(\\*\\)?"
  (1 font-lock-type-face)
  (fortran-match-and-skip-declaration
   (condition-case nil
       (and
	(match-beginning 2)
	(forward-sexp)
	(forward-sexp))
     (error nil))
   nil
   (1 font-lock-variable-name-face nil t)))
 (", *\\(e\\(nd\\|rr\\)\\)\\> *\\(= *\\([0-9]+\\)\\)?"
  (1 font-lock-keyword-face)
  (4 font-lock-constant-face nil t))
 ("^ \\{5\\}\\([^ 0\n]\\)" 1 font-lock-string-face)
 ("^	\\([1-9]\\)" 1 font-lock-string-face)
 ("^[   ]*#.*"
  (0 font-lock-preprocessor-face t))
 "\\<\\(backspace\\|c\\(?:\\(?:as\\|los\\|ontinu\\|ycl\\)e\\)\\|e\\(?:lse\\(?:if\\|where\\)?\\|nd\\(?:do\\|if\\)?\\|xit\\)\\|format\\|i\\(?:f\\|n\\(?:\\(?:clud\\|quir\\)e\\)\\)\\|open\\|print\\|re\\(?:ad\\|turn\\|wind\\)\\|s\\(?:elect\\|top\\)\\|then\\|w\\(?:\\(?:h\\(?:er\\|il\\)\\|rit\\)e\\)\\)\\>" "\\.\\(and\\|eqv?\\|false\\|g[et]\\|l[et]\\|n\\(?:e\\(?:qv\\)?\\|ot\\)\\|or\\|true\\)\\."
 ("\\<\\(do\\|go *to\\)\\>[       ]*\\([0-9]+\\)?"
  (1 font-lock-keyword-face)
  (2 font-lock-constant-face nil t))
 ("^ *\\([0-9]+\\)" . font-lock-constant-face))

Documentation

Gaudy level highlighting for Fortran mode.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/fortran.el.gz
(defvar fortran-font-lock-keywords-3
  (append
   fortran-font-lock-keywords-1
   ;; All type specifiers plus their declared items.
   (list
    (list (concat fortran-type-types "[ \t(/]*\\(\\*\\)?")
          ;; Type specifier.
          '(1 font-lock-type-face)
          ;; Declaration item (or just /.../ block name).
          `(fortran-match-and-skip-declaration
            ;; Start after any *(...) expression.
            (condition-case nil
                (and (match-beginning ,(1+ (regexp-opt-depth
                                            fortran-type-types)))
                     (forward-sexp)
                     (forward-sexp))
              (error nil))
            ;; No need to clean up.
            nil
            ;; Fontify as a variable name, functions fontified elsewhere.
            (1 font-lock-variable-name-face nil t))))
   ;; Things extra to `fortran-font-lock-keywords-3' (must be done first).
   (list
    ;; Goto-like `err=label'/`end=label' in read/write statements.
    '(", *\\(e\\(nd\\|rr\\)\\)\\> *\\(= *\\([0-9]+\\)\\)?"
      (1 font-lock-keyword-face) (4 font-lock-constant-face nil t))
    ;; Standard continuation character and in a TAB-formatted line.
    '("^ \\{5\\}\\([^ 0\n]\\)" 1 font-lock-string-face)
    '("^\t\\([1-9]\\)"         1 font-lock-string-face))
   `((,fortran-directive-re (0 font-lock-preprocessor-face t)))
   ;; `fortran-font-lock-keywords-2' without types (see above).
   (cdr (nthcdr (length fortran-font-lock-keywords-1)
                fortran-font-lock-keywords-2)))
  "Gaudy level highlighting for Fortran mode.")