Function: f90-looking-at-type-like
f90-looking-at-type-like is a byte-compiled function defined in
f90.el.gz.
Signature
(f90-looking-at-type-like)
Documentation
Return (KIND NAME) if a type/enum/interface/block-data starts after point.
NAME is non-nil only for type and certain interfaces.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/f90.el.gz
(defsubst f90-looking-at-type-like ()
"Return (KIND NAME) if a type/enum/interface/block-data starts after point.
NAME is non-nil only for type and certain interfaces."
(cond
((save-excursion
(and (looking-at "\\_<type\\_>[ \t]*")
(goto-char (match-end 0))
(not (looking-at "\\(is\\_>\\|(\\)"))
(or (looking-at "\\(\\(?:\\sw\\|\\s_\\)+\\)")
(re-search-forward "[ \t]*::[ \t]*\\(\\(?:\\sw\\|\\s_\\)+\\)"
(line-end-position) t))))
(list "type" (match-string 1)))
;;; ((and (not (looking-at f90-typeis-re))
;;; (looking-at f90-type-def-re))
;;; (list (match-string 1) (match-string 2)))
((looking-at "\\_<\\(interface\\)\\_>[ \t]*")
(list (match-string 1)
(save-excursion
(goto-char (match-end 0))
(if (or (looking-at "\\(operator\\|assignment\\|read\\|\
write\\)[ \t]*([^)\n]*)")
(looking-at "\\(?:\\sw\\|\\s_\\)+"))
(match-string 0)))))
((looking-at "\\(enum\\|block[ \t]*data\\)\\_>")
(list (match-string 1) nil))
((looking-at "abstract[ \t]*\\(interface\\)\\_>")
(list (match-string 1) nil))))