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
commitd90a43ba10304a1003f2e7c067634cc1e0090c04 (patch)
tree83f01451b7ba979f0dc2028a0ee01b130e1acdbf
parentcd11789fb24d71989ee42ac01eb3016fdaa96eea (diff)
downloademacs-d90a43ba10304a1003f2e7c067634cc1e0090c04.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"