summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2015-11-01 18:25:42 -0800
committerGlenn Morris <rgm@gnu.org>2015-11-01 18:25:42 -0800
commitff80687aee5da42ff151df4e68f8dbcd2f8b2be3 (patch)
tree4b0a7e9053e3c69053a27e7e78094b052cb4e69a
parent3a769e173ebaaff768497dae9c430ac03aedeb94 (diff)
* lisp/progmodes/f90.el (f90-no-block-limit):
Add associate. (Bug#21794) * test/automated/f90.el (f90-test-bug21794): New test.
-rw-r--r--lisp/progmodes/f90.el2
-rw-r--r--test/automated/f90.el15
2 files changed, 16 insertions, 1 deletions
diff --git a/lisp/progmodes/f90.el b/lisp/progmodes/f90.el
index 5c938fd1a9..0e333f1f7e 100644
--- a/lisp/progmodes/f90.el
+++ b/lisp/progmodes/f90.el
@@ -1452,7 +1452,7 @@ if all else fails."
(not (or (looking-at "end")
(looking-at "\\(do\\|if\\|else\\(if\\|where\\)?\
\\|select[ \t]*\\(case\\|type\\)\\|case\\|where\\|forall\\|\
-block\\|critical\\|enum\\)\\_>")
+block\\|critical\\|enum\\|associate\\)\\_>")
(looking-at "\\(program\\|\\(?:sub\\)?module\\|\
\\(?:abstract[ \t]*\\)?interface\\|block[ \t]*data\\)\\_>")
(looking-at "\\(contains\\|\\(?:\\sw\\|\\s_\\)+[ \t]*:\\)")
diff --git a/test/automated/f90.el b/test/automated/f90.el
index c521d289a5..e429b21c09 100644
--- a/test/automated/f90.el
+++ b/test/automated/f90.el
@@ -240,4 +240,19 @@ end module modname")
(forward-line -1)
(should (= 2 (current-indentation)))))
+(ert-deftest f90-test-bug21794 ()
+ "Test for http://debbugs.gnu.org/21794 ."
+ (with-temp-buffer
+ (f90-mode)
+ (insert "program prog
+do i=1,10
+associate (x => xa(i), y => ya(i))
+a(x,y,i) = fun(x,y,i)
+end associate
+end do
+end program prog")
+ (f90-indent-subprogram)
+ (forward-line -2)
+ (should (= 5 (current-indentation)))))
+
;;; f90.el ends here