changeset 12510:4626f1d99c52

(tcl-imenu-create-index-function): Work with imenu from Emacs 19.29
author Tom Tromey <tromey@redhat.com>
date Sun, 09 Jul 1995 01:07:57 +0000
parents 68a8bae7a172
children 93a7cb2eefcc
files lisp/progmodes/tcl.el
diffstat 1 files changed, 17 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- 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 <tromey@busco.lanl.gov>
 ;;    Chris Lindblad <cjl@lcs.mit.edu>
 ;; 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 <tromey@drip.colorado.edu>")
 
 ;;
@@ -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