]> git.eshelyaron.com Git - emacs.git/commitdiff
(makefile-imenu-generic-expression): New var.
authorRichard M. Stallman <rms@gnu.org>
Tue, 2 Feb 1999 03:47:08 +0000 (03:47 +0000)
committerRichard M. Stallman <rms@gnu.org>
Tue, 2 Feb 1999 03:47:08 +0000 (03:47 +0000)
(makefile-menu-index-function): Function deleted.
(makefile-mode): Use makefile-imenu-generic-expression.

lisp/progmodes/make-mode.el

index 75d177853ad1d85b865bd16d453bcffb811d4626..7a18bebcce6235734a99af2d2602a1fc68c0a06d 100644 (file)
@@ -280,6 +280,12 @@ not be enclosed in { } or ( )."
    ;; They can make a tab fail to be effective.
    '("^\\( +\\)\t" 1 makefile-space-face)))
 
+(defvar makefile-imenu-generic-expression
+  (list
+   (list "Dependencies" makefile-dependency-regex  1)
+   (list "Macro Assignment" makefile-macroassign-regex 1))
+  "Imenu generic expression for makefile-mode.  See `imenu-generic-expression'.")
+
 ;;; ------------------------------------------------------------
 ;;; The following configurable variables are used in the
 ;;; up-to-date overview .
@@ -556,8 +562,8 @@ makefile-special-targets-list:
   (setq add-log-current-defun-function 'makefile-add-log-defun)
 
   ;; Imenu.
-  (make-local-variable 'imenu-create-index-function)
-  (setq imenu-create-index-function 'makefile-menu-index-function)
+  (make-local-variable 'imenu-generic-expression)
+  (setq imenu-generic-expression makefile-imenu-generic-expression)
 
   ;; Dabbrev.
   (make-local-variable 'dabbrev-abbrev-skip-leading-regexp)
@@ -1505,25 +1511,4 @@ If it isn't in one, return nil."
            (forward-line -1)))
       (if (stringp found) found))))
 
-;; FIXME it might be nice to have them separated by macro vs target.
-(defun makefile-menu-index-function ()
-  ;; "Generate alist of indices for imenu."
-  (let (alist
-       stupid
-       (re (concat makefile-dependency-regex
-                   "\\|"
-                   makefile-macroassign-regex)))
-    (imenu-progress-message stupid 0)
-    (goto-char (point-min))
-    (while (re-search-forward re nil t)
-      (imenu-progress-message stupid)
-      (let ((n (if (match-beginning 1) 1 5)))
-       (setq alist (cons
-                    (cons (buffer-substring (match-beginning n)
-                                            (match-end n))
-                          (match-beginning n))
-                    alist))))
-    (imenu-progress-message stupid 100)
-    (nreverse alist)))
-
 ;;; make-mode.el ends here