aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorGlenn Morris2015-02-19 21:28:12 -0800
committerGlenn Morris2015-02-19 21:28:12 -0800
commit4fa6da01eb7883976313de119cd3c268ca639778 (patch)
treed0d0185a8ab16229d0d1d766a4797977c0441a4a /lisp
parent3bbf5170722d9e555307259763623c74240a2555 (diff)
downloademacs-4fa6da01eb7883976313de119cd3c268ca639778.tar.gz
emacs-4fa6da01eb7883976313de119cd3c268ca639778.zip
f90.el: Add some F2008 keywords
* lisp/progmodes/f90.el (f90-keywords-re, f90-procedures-re) (f90-font-lock-keywords-2): Some F2008 additions.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/progmodes/f90.el11
2 files changed, 14 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 3d15b4095bf..b04319891fd 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
12015-02-20 Glenn Morris <rgm@gnu.org>
2
3 * progmodes/f90.el (f90-keywords-re, f90-procedures-re)
4 (f90-font-lock-keywords-2): Some F2008 additions.
5
12015-02-19 Dima Kogan <dima@secretsauce.net> 62015-02-19 Dima Kogan <dima@secretsauce.net>
2 7
3 * autorevert.el (auto-revert-buffers-counter) 8 * autorevert.el (auto-revert-buffers-counter)
diff --git a/lisp/progmodes/f90.el b/lisp/progmodes/f90.el
index aeb4ddee9ef..b923819ebb3 100644
--- a/lisp/progmodes/f90.el
+++ b/lisp/progmodes/f90.el
@@ -342,8 +342,10 @@ The options are 'downcase-word, 'upcase-word, 'capitalize-word and nil."
342 "final" "generic" "import" "non_intrinsic" "non_overridable" 342 "final" "generic" "import" "non_intrinsic" "non_overridable"
343 "nopass" "pass" "protected" "same_type_as" "value" "volatile" 343 "nopass" "pass" "protected" "same_type_as" "value" "volatile"
344 ;; F2008. 344 ;; F2008.
345 ;; FIXME f90-change-keywords does not work right if
346 ;; there are spaces.
345 "contiguous" "submodule" "concurrent" "codimension" 347 "contiguous" "submodule" "concurrent" "codimension"
346 "sync all" "sync memory" "critical" "image_index" 348 "sync all" "sync memory" "critical" "image_index" "error stop"
347 )) 349 ))
348 "\\_>") 350 "\\_>")
349 "Regexp used by the function `f90-change-keywords'.") 351 "Regexp used by the function `f90-change-keywords'.")
@@ -417,6 +419,8 @@ The options are 'downcase-word, 'upcase-word, 'capitalize-word and nil."
417 "norm2" "parity" "findloc" "is_contiguous" 419 "norm2" "parity" "findloc" "is_contiguous"
418 "sync images" "lock" "unlock" "image_index" 420 "sync images" "lock" "unlock" "image_index"
419 "lcobound" "ucobound" "num_images" "this_image" 421 "lcobound" "ucobound" "num_images" "this_image"
422 "acosh" "asinh" "atanh"
423 "atomic_define" "atomic_ref" "execute_command_line"
420 ;; F2008 iso_fortran_env module. 424 ;; F2008 iso_fortran_env module.
421 "compiler_options" "compiler_version" 425 "compiler_options" "compiler_version"
422 ;; F2008 iso_c_binding module. 426 ;; F2008 iso_c_binding module.
@@ -649,7 +653,8 @@ logical\\|double[ \t]*precision\\|type[ \t]*(\\(?:\\sw\\|\\s_\\)+)\\|none\\)[ \t
649 (1 font-lock-keyword-face) (2 font-lock-constant-face nil t)) 653 (1 font-lock-keyword-face) (2 font-lock-constant-face nil t))
650 "\\_<else\\([ \t]*if\\|where\\)?\\_>" 654 "\\_<else\\([ \t]*if\\|where\\)?\\_>"
651 '("\\(&\\)[ \t]*\\(!\\|$\\)" (1 font-lock-keyword-face)) 655 '("\\(&\\)[ \t]*\\(!\\|$\\)" (1 font-lock-keyword-face))
652 "\\_<\\(then\\|continue\\|format\\|include\\|stop\\|return\\)\\_>" 656 "\\_<\\(then\\|continue\\|format\\|include\\|\\(?:error[ \t]+\\)?stop\\|\
657return\\)\\_>"
653 '("\\_<\\(exit\\|cycle\\)[ \t]*\\(\\(?:\\sw\\|\\s_\\)+\\)?\\_>" 658 '("\\_<\\(exit\\|cycle\\)[ \t]*\\(\\(?:\\sw\\|\\s_\\)+\\)?\\_>"
654 (1 font-lock-keyword-face) (2 font-lock-constant-face nil t)) 659 (1 font-lock-keyword-face) (2 font-lock-constant-face nil t))
655 '("\\_<\\(case\\)[ \t]*\\(default\\|(\\)" . 1) 660 '("\\_<\\(case\\)[ \t]*\\(default\\|(\\)" . 1)
@@ -2338,6 +2343,8 @@ CHANGE-WORD should be one of 'upcase-word, 'downcase-word, 'capitalize-word."
2338 (skip-chars-forward " \t0-9") 2343 (skip-chars-forward " \t0-9")
2339 (looking-at "#")))) 2344 (looking-at "#"))))
2340 (setq ref-point (point) 2345 (setq ref-point (point)
2346 ;; FIXME this does not work for constructs with
2347 ;; embedded space, eg "sync all".
2341 back-point (save-excursion (backward-word 1) (point)) 2348 back-point (save-excursion (backward-word 1) (point))
2342 saveword (buffer-substring back-point ref-point)) 2349 saveword (buffer-substring back-point ref-point))
2343 (funcall change-word -1) 2350 (funcall change-word -1)