mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-25 07:28:20 +00:00
* lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
such as "extends(parent), private". (Bug#20969) * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b): New tests.
This commit is contained in:
parent
ad23626030
commit
342ed936e1
@ -898,12 +898,12 @@ Can be overridden by the value of `font-lock-maximum-decoration'.")
|
||||
(defconst f90-type-def-re
|
||||
;; type word
|
||||
;; type :: word
|
||||
;; type, stuff :: word
|
||||
;; type, bind(c) :: word
|
||||
;; type, extends(stuff) :: word
|
||||
;; type, attr-list :: word
|
||||
;; where attr-list = attr [, attr ...]
|
||||
;; and attr may include bind(c) or extends(thing)
|
||||
;; NOT "type ("
|
||||
"\\_<\\(type\\)\\_>\\(?:\\(?:[^()\n]*\\|\
|
||||
.*,[ \t]*\\(?:bind\\|extends\\)[ \t]*(.*)[ \t]*\\)::\\)?\
|
||||
.*,[ \t]*\\(?:bind\\|extends\\)[ \t]*(.*).*\\)::\\)?\
|
||||
[ \t]*\\(\\(?:\\sw\\|\\s_\\)+\\)"
|
||||
"Regexp matching the definition of a derived type.")
|
||||
|
||||
|
@ -214,4 +214,30 @@ end module modname")
|
||||
(forward-line -1)
|
||||
(should (= 2 (current-indentation)))))
|
||||
|
||||
(ert-deftest f90-test-bug20969 ()
|
||||
"Test for http://debbugs.gnu.org/20969 ."
|
||||
(with-temp-buffer
|
||||
(f90-mode)
|
||||
(insert "module modname
|
||||
type, extends ( sometype ), private :: type1
|
||||
integer :: part1
|
||||
end type type1
|
||||
end module modname")
|
||||
(f90-indent-subprogram)
|
||||
(forward-line -1)
|
||||
(should (= 2 (current-indentation)))))
|
||||
|
||||
(ert-deftest f90-test-bug20969b ()
|
||||
"Test for http://debbugs.gnu.org/20969 ."
|
||||
(with-temp-buffer
|
||||
(f90-mode)
|
||||
(insert "module modname
|
||||
type, private, extends ( sometype ) :: type1
|
||||
integer :: part1
|
||||
end type type1
|
||||
end module modname")
|
||||
(f90-indent-subprogram)
|
||||
(forward-line -1)
|
||||
(should (= 2 (current-indentation)))))
|
||||
|
||||
;;; f90.el ends here
|
||||
|
Loading…
Reference in New Issue
Block a user