1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-27 19:31:38 +00:00

(makefile-imenu-generic-expression): New var.

(makefile-menu-index-function): Function deleted.
(makefile-mode): Use makefile-imenu-generic-expression.
This commit is contained in:
Richard M. Stallman 1999-02-02 03:47:08 +00:00
parent e6c0f51910
commit db85e69ca4

View 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