]> git.eshelyaron.com Git - emacs.git/commitdiff
f90.el: Add some F2008 keywords
authorGlenn Morris <rgm@gnu.org>
Fri, 20 Feb 2015 05:28:12 +0000 (21:28 -0800)
committerGlenn Morris <rgm@gnu.org>
Fri, 20 Feb 2015 05:28:12 +0000 (21:28 -0800)
* lisp/progmodes/f90.el (f90-keywords-re, f90-procedures-re)
(f90-font-lock-keywords-2): Some F2008 additions.

lisp/ChangeLog
lisp/progmodes/f90.el

index 3d15b4095bf82280a900143a26fc4779bc4edb1d..b04319891fd968998ee55b8332a26bdca43e0cbe 100644 (file)
@@ -1,3 +1,8 @@
+2015-02-20  Glenn Morris  <rgm@gnu.org>
+
+       * progmodes/f90.el (f90-keywords-re, f90-procedures-re)
+       (f90-font-lock-keywords-2): Some F2008 additions.
+
 2015-02-19  Dima Kogan  <dima@secretsauce.net>
 
        * autorevert.el (auto-revert-buffers-counter)
index aeb4ddee9ef78a4d013e7810d951ad9698f803a3..b923819ebb3814a85dc7e1fb4a512f2c84e796c7 100644 (file)
@@ -342,8 +342,10 @@ The options are 'downcase-word, 'upcase-word, 'capitalize-word and nil."
                  "final" "generic" "import" "non_intrinsic" "non_overridable"
                  "nopass" "pass" "protected" "same_type_as" "value" "volatile"
                  ;; F2008.
+                 ;; FIXME f90-change-keywords does not work right if
+                 ;; there are spaces.
                  "contiguous" "submodule" "concurrent" "codimension"
-                 "sync all" "sync memory" "critical" "image_index"
+                 "sync all" "sync memory" "critical" "image_index" "error stop"
                  ))
    "\\_>")
   "Regexp used by the function `f90-change-keywords'.")
@@ -417,6 +419,8 @@ The options are 'downcase-word, 'upcase-word, 'capitalize-word and nil."
              "norm2" "parity" "findloc" "is_contiguous"
              "sync images" "lock" "unlock" "image_index"
              "lcobound" "ucobound" "num_images" "this_image"
+             "acosh" "asinh" "atanh"
+             "atomic_define" "atomic_ref" "execute_command_line"
              ;; F2008 iso_fortran_env module.
              "compiler_options" "compiler_version"
              ;; F2008 iso_c_binding module.
@@ -649,7 +653,8 @@ logical\\|double[ \t]*precision\\|type[ \t]*(\\(?:\\sw\\|\\s_\\)+)\\|none\\)[ \t
       (1 font-lock-keyword-face) (2 font-lock-constant-face nil t))
     "\\_<else\\([ \t]*if\\|where\\)?\\_>"
     '("\\(&\\)[ \t]*\\(!\\|$\\)"  (1 font-lock-keyword-face))
-    "\\_<\\(then\\|continue\\|format\\|include\\|stop\\|return\\)\\_>"
+    "\\_<\\(then\\|continue\\|format\\|include\\|\\(?:error[ \t]+\\)?stop\\|\
+return\\)\\_>"
     '("\\_<\\(exit\\|cycle\\)[ \t]*\\(\\(?:\\sw\\|\\s_\\)+\\)?\\_>"
       (1 font-lock-keyword-face) (2 font-lock-constant-face nil t))
     '("\\_<\\(case\\)[ \t]*\\(default\\|(\\)" . 1)
@@ -2338,6 +2343,8 @@ CHANGE-WORD should be one of 'upcase-word, 'downcase-word, 'capitalize-word."
                             (skip-chars-forward " \t0-9")
                             (looking-at "#"))))
               (setq ref-point (point)
+                    ;; FIXME this does not work for constructs with
+                    ;; embedded space, eg "sync all".
                     back-point (save-excursion (backward-word 1) (point))
                     saveword (buffer-substring back-point ref-point))
               (funcall change-word -1)