summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Love <fx@gnu.org>1998-09-28 09:51:12 +0000
committerDave Love <fx@gnu.org>1998-09-28 09:51:12 +0000
commite58aeb3dd3792983b58c1ae24d89af4ccf458f4c (patch)
tree4185b94d9d667e0abe7ee1202f13008411dc9c89
parentf9e6a7e8f597e78717b58c13dbac6da535a02973 (diff)
downloademacs-e58aeb3dd3792983b58c1ae24d89af4ccf458f4c.tar.gz
Don't call regexp-opt when deriving
font-lock patterns with keywords that aren't all literal.
-rw-r--r--lisp/progmodes/fortran.el31
1 files changed, 17 insertions, 14 deletions
diff --git a/lisp/progmodes/fortran.el b/lisp/progmodes/fortran.el
index dc622e675a1..c113020b1c6 100644
--- a/lisp/progmodes/fortran.el
+++ b/lisp/progmodes/fortran.el
@@ -257,20 +257,23 @@ format style.")
(let ((comment-chars "c!*")
(fortran-type-types
- (eval-when-compile
- (regexp-opt
- (let ((simple-types '("character" "byte" "integer" "logical"
- "none" "real" "complex"
- "double[ \t]*precision" "double[ \t]*complex"))
- (structured-types '("structure" "union" "map"))
- (other-types '("record" "dimension" "parameter" "common" "save"
- "external" "intrinsic" "data" "equivalence")))
- (append
- (mapcar (lambda (x) (concat "implicit[ \t]*" x)) simple-types)
- simple-types
- (mapcar (lambda (x) (concat "end[ \t]*" x)) structured-types)
- structured-types
- other-types)))))
+; (eval-when-compile
+; (regexp-opt
+; (let ((simple-types '("character" "byte" "integer" "logical"
+; "none" "real" "complex"
+; "double[ \t]*precision" "double[ \t]*complex"))
+; (structured-types '("structure" "union" "map"))
+; (other-types '("record" "dimension" "parameter" "common" "save"
+; "external" "intrinsic" "data" "equivalence")))
+; (append
+; (mapcar (lambda (x) (concat "implicit[ \t]*" x)) simple-types)
+; simple-types
+; (mapcar (lambda (x) (concat "end[ \t]*" x)) structured-types)
+; structured-types
+; other-types))))
+ ;; Derived from the above, changing the escaped `[ \t]*'s back.
+ ;; Should be done with a `replace all in string' function...
+ "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")
(fortran-keywords
(eval-when-compile
(regexp-opt '("continue" "format" "end" "enddo" "if" "then"