comparison lisp/progmodes/fortran.el @ 23861:d2ffab783280

(fortran-font-lock-keywords-1): Warp forward-sexp in condition-case.
author Dave Love <fx@gnu.org>
date Fri, 11 Dec 1998 17:40:18 +0000
parents e494267843f7
children c41f8acc111c
comparison
equal deleted inserted replaced
23860:2ce75856e89f 23861:d2ffab783280
281 ; (mapcar (lambda (x) (concat "implicit[ \t]*" x)) simple-types) 281 ; (mapcar (lambda (x) (concat "implicit[ \t]*" x)) simple-types)
282 ; simple-types 282 ; simple-types
283 ; (mapcar (lambda (x) (concat "end[ \t]*" x)) structured-types) 283 ; (mapcar (lambda (x) (concat "end[ \t]*" x)) structured-types)
284 ; structured-types 284 ; structured-types
285 ; other-types)))) 285 ; other-types))))
286 ;; Fixme:
286 ;; Derived from the above, changing the escaped `[ \t]*'s back. 287 ;; Derived from the above, changing the escaped `[ \t]*'s back.
287 ;; Should be done with a `replace all in string' function... 288 ;; Should be done with a `replace all in string' function at compile time...
288 "byte\\|c\\(haracter\\|om\\(mon\\|plex\\)\\)\\|d\\(ata\\|imension\\|ouble[ \t]*\\(complex\\|precision\\)\\)\\|e\\(nd[ \t]*\\(map\\|structure\\|union\\)\\|quivalence\\|xternal\\)\\|i\\(mplicit[ \t]*\\(byte\\|c\\(haracter\\|omplex\\)\\|double[ \t]*\\(complex\\|precision\\)\\|integer\\|logical\\|none\\|real\\)\\|nt\\(eger\\|rinsic\\)\\)\\|logical\\|map\\|none\\|parameter\\|re\\(al\\|cord\\)\\|s\\(ave\\|tructure\\)\\|union") 289 "byte\\|c\\(haracter\\|om\\(mon\\|plex\\)\\)\\|d\\(ata\\|imension\\|ouble[ \t]*\\(complex\\|precision\\)\\)\\|e\\(nd[ \t]*\\(map\\|structure\\|union\\)\\|quivalence\\|xternal\\)\\|i\\(mplicit[ \t]*\\(byte\\|c\\(haracter\\|omplex\\)\\|double[ \t]*\\(complex\\|precision\\)\\|integer\\|logical\\|none\\|real\\)\\|nt\\(eger\\|rinsic\\)\\)\\|logical\\|map\\|none\\|parameter\\|re\\(al\\|cord\\)\\|s\\(ave\\|tructure\\)\\|union")
289 (fortran-keywords 290 (fortran-keywords
290 (eval-when-compile 291 (eval-when-compile
291 (regexp-opt '("continue" "format" "end" "enddo" "if" "then" 292 (regexp-opt '("continue" "format" "end" "enddo" "if" "then"
292 "else" "endif" "elseif" "while" "inquire" "stop" 293 "else" "endif" "elseif" "while" "inquire" "stop"
350 ;; Fontify the type specifier. 351 ;; Fontify the type specifier.
351 '(1 font-lock-type-face) 352 '(1 font-lock-type-face)
352 ;; Fontify each declaration item (or just the /.../ block name). 353 ;; Fontify each declaration item (or just the /.../ block name).
353 '(font-lock-match-c-style-declaration-item-and-skip-to-next 354 '(font-lock-match-c-style-declaration-item-and-skip-to-next
354 ;; Start after any *(...) expression. 355 ;; Start after any *(...) expression.
355 (and (match-beginning 15) (forward-sexp)) 356 (and (match-beginning 15)
357 (condition-case nil
358 (forward-sexp)
359 (error nil)))
356 ;; No need to clean up. 360 ;; No need to clean up.
357 nil 361 nil
358 ;; Fontify as a variable name, functions are 362 ;; Fontify as a variable name, functions are
359 ;; fontified elsewhere. 363 ;; fontified elsewhere.
360 (1 font-lock-variable-name-face nil t)))) 364 (1 font-lock-variable-name-face nil t))))