# HG changeset patch # User Tom Tromey # Date 805252077 0 # Node ID 4626f1d99c52c654fce291b1689cd7529d6f6c86 # Parent 68a8bae7a172f3f828363dc0f11cabf707b499e8 (tcl-imenu-create-index-function): Work with imenu from Emacs 19.29 diff -r 68a8bae7a172 -r 4626f1d99c52 lisp/progmodes/tcl.el --- a/lisp/progmodes/tcl.el Sat Jul 08 18:44:04 1995 +0000 +++ b/lisp/progmodes/tcl.el Sun Jul 09 01:07:57 1995 +0000 @@ -6,7 +6,7 @@ ;; Author: Tom Tromey ;; Chris Lindblad ;; Keywords: languages tcl modes -;; Version: $Revision: 1.34 $ +;; Version: $Revision: 1.35 $ ;; This file is part of GNU Emacs. @@ -51,7 +51,7 @@ ;; LCD Archive Entry: ;; tcl|Tom Tromey|tromey@busco.lanl.gov| ;; Major mode for editing Tcl| -;; $Date: 1995/06/27 20:06:05 $|$Revision: 1.34 $|~/modes/tcl.el.Z| +;; $Date: 1995/06/27 20:12:00 $|$Revision: 1.35 $|~/modes/tcl.el.Z| ;; CUSTOMIZATION NOTES: ;; * tcl-proc-list can be used to customize a list of things that @@ -65,6 +65,9 @@ ;; Change log: ;; $Log: tcl.el,v $ +;; Revision 1.35 1995/06/27 20:12:00 tromey +;; (tcl-type-alist): More itcl changes. +;; ;; Revision 1.34 1995/06/27 20:06:05 tromey ;; More changes for itcl. ;; Bug fixes for Emacs 19.29. @@ -313,7 +316,7 @@ (require 'imenu)) ())) -(defconst tcl-version "$Revision: 1.34 $") +(defconst tcl-version "$Revision: 1.35 $") (defconst tcl-maintainer "Tom Tromey ") ;; @@ -1351,17 +1354,18 @@ (defun tcl-imenu-create-index-function () "Generate alist of indices for imenu." (let ((re (concat tcl-proc-regexp "\\([^ \t\n{]+\\)")) - alist) - (imenu-progress-message 0) + alist prev-pos) (goto-char (point-min)) - (while (re-search-forward re nil t) - (imenu-progress-message nil) - ;; Position on start of proc name, not beginning of line. - (setq alist (cons - (cons (buffer-substring (match-beginning 2) (match-end 2)) - (match-beginning 2)) - alist))) - (imenu-progress-message 100) + (imenu-progress-message prev-pos 0) + (save-match-data + (while (re-search-forward re nil t) + (imenu-progress-message prev-pos) + ;; Position on start of proc name, not beginning of line. + (setq alist (cons + (cons (buffer-substring (match-beginning 2) (match-end 2)) + (match-beginning 2)) + alist)))) + (imenu-progress-message prev-pos 100) (nreverse alist))) ;; FIXME Definition of function is very ad-hoc. Should use