aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Love1997-11-18 23:21:34 +0000
committerDave Love1997-11-18 23:21:34 +0000
commit240e9cda7d93f1f2dce293b0d10ab9552176bc09 (patch)
tree11db9e5abbf76c7f38832f0461dbc2e14ea385b9
parent6beba8e0b2f1a3100f5c2bdfc4912401f542fc02 (diff)
downloademacs-240e9cda7d93f1f2dce293b0d10ab9552176bc09.tar.gz
emacs-240e9cda7d93f1f2dce293b0d10ab9552176bc09.zip
(fortran-imenu-generic-expression): Match
<type>*<mumble> and un-named block data, allow some continuations.
-rw-r--r--lisp/progmodes/fortran.el26
1 files changed, 15 insertions, 11 deletions
diff --git a/lisp/progmodes/fortran.el b/lisp/progmodes/fortran.el
index fdf5620584a..ae2c5ece903 100644
--- a/lisp/progmodes/fortran.el
+++ b/lisp/progmodes/fortran.el
@@ -370,19 +370,23 @@ This variable used in TAB format mode.")
370 "Default expressions to highlight in Fortran mode.") 370 "Default expressions to highlight in Fortran mode.")
371 371
372(defvar fortran-imenu-generic-expression 372(defvar fortran-imenu-generic-expression
373 (list 373 ;; These patterns could be confused by sequence nos. in cols 72+ and
374 (list 374 ;; don't allow continuations everywhere.
375 nil 375 '((nil
376 ;; Lines are: 1. leading whitespace; 2. function declaration 376 ;; Lines below are: 1. leading whitespace; 2. function
377 ;; with optional type, e.g. `real', `double precision', [which 377 ;; declaration with optional type, e.g. `real', `real*4',
378 ;; will be fooled by `end function' allowed by G77]; 3. untyped 378 ;; character(*), `double precision' and possible statement
379 ;; declarations; 4. the name to index. 379 ;; continuation; 3. untyped declarations; 4. the variable to
380 ;; index. [This will be fooled by `end function' allowed by G77.
381 ;; Also, it assumes sensible whitespace is employed.]
380 "^\\s-+\\(\ 382 "^\\s-+\\(\
381\\(\\sw\\|\\s-\\)*\\<function\\|\ 383\\(\\sw\\|\\s-\\|[*()+]\\)*\\<function\\|\
382subroutine\\|entry\\|block\\s-*data\\|program\\)[ \t]+\ 384subroutine\\|entry\\|block\\s-*data\\|program\\)[ \t+]+\
383\\(\\sw+\\)" 385\\(\\sw+\\)"
384 3)) 386 3)
385 "imenu generic expression for `imenu-ci-default-create-index-function'.") 387 ;; Un-named block data
388 (nil "^\\s-+\\(block\\s-*data\\)\\s-*$" 1))
389 "imenu generic expression for `imenu-default-create-index-function'.")
386 390
387(defvar fortran-mode-map () 391(defvar fortran-mode-map ()
388 "Keymap used in Fortran mode.") 392 "Keymap used in Fortran mode.")