summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMasatake YAMATO <jet@gyve.org>2004-05-21 08:36:46 +0000
committerMasatake YAMATO <jet@gyve.org>2004-05-21 08:36:46 +0000
commit6fc40ada086cc9b2ec41327065754d52330de659 (patch)
treedc18e31d141a14388f609d6f511e830577448ab9
parentd79b2de34796125d5492d8d9ba535d85e56eb6bf (diff)
downloademacs-6fc40ada086cc9b2ec41327065754d52330de659.tar.gz
(etags-tags-completion-table): Show parsing progress.
-rw-r--r--lisp/ChangeLog1
-rw-r--r--lisp/progmodes/etags.el17
2 files changed, 12 insertions, 6 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 2fce46e2fa6..09da454f20f 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -2,6 +2,7 @@
* progmodes/etags.el (tags-apropos, list-tags): Require
apropos.
+ (etags-tags-completion-table): Show parsing progress.
2004-05-20 Luc Teirlinck <teirllm@auburn.edu>
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el
index 49294d6625c..184077f6a3a 100644
--- a/lisp/progmodes/etags.el
+++ b/lisp/progmodes/etags.el
@@ -1248,7 +1248,11 @@ where they were found."
(defun etags-tags-completion-table ()
- (let ((table (make-vector 511 0)))
+ (let ((table (make-vector 511 0))
+ (point-max (/ (float (point-max)) 100.0))
+ (msg-fmt (format
+ "Making tags completion table for %s...%%d%%%%"
+ buffer-file-name)))
(save-excursion
(goto-char (point-min))
;; This monster regexp matches an etags tag line.
@@ -1264,11 +1268,12 @@ where they were found."
\\([-a-zA-Z0-9_+*$?:]+\\)[^-a-zA-Z0-9_+*$?:\177]*\\)\177\
\\(\\([^\n\001]+\\)\001\\)?\\([0-9]+\\)?,\\([0-9]+\\)?\n"
nil t)
- (intern (if (match-beginning 5)
- ;; There is an explicit tag name.
- (buffer-substring (match-beginning 5) (match-end 5))
- ;; No explicit tag name. Best guess.
- (buffer-substring (match-beginning 3) (match-end 3)))
+ (intern (prog1 (if (match-beginning 5)
+ ;; There is an explicit tag name.
+ (buffer-substring (match-beginning 5) (match-end 5))
+ ;; No explicit tag name. Best guess.
+ (buffer-substring (match-beginning 3) (match-end 3)))
+ (message msg-fmt (/ (point) point-max)))
table)))
table))