# HG changeset patch # User Masatake YAMATO # Date 1091005523 0 # Node ID 8699eccc1a3392b170ea94cd0f2f4bab13ec6c58 # Parent e7ddaefbeaa43695550a2ab4b4b3b4257d0aa21e (etags-tags-apropos): Show building progress. diff -r e7ddaefbeaa4 -r 8699eccc1a33 lisp/ChangeLog --- a/lisp/ChangeLog Tue Jul 27 23:49:06 2004 +0000 +++ b/lisp/ChangeLog Wed Jul 28 09:05:23 2004 +0000 @@ -1,3 +1,7 @@ +2004-07-28 Masatake YAMATO + + * progmodes/etags.el (etags-tags-apropos): Show building progress. + 2004-07-26 Stefan Monnier * imenu.el (imenu-prev-index-position-function) diff -r e7ddaefbeaa4 -r 8699eccc1a33 lisp/progmodes/etags.el --- a/lisp/progmodes/etags.el Tue Jul 27 23:49:06 2004 +0000 +++ b/lisp/progmodes/etags.el Wed Jul 28 09:05:23 2004 +0000 @@ -1453,53 +1453,58 @@ (tags-with-face 'highlight (princ buffer-file-name)) (princ "':\n\n")) (goto-char (point-min)) - (while (re-search-forward string nil t) - (beginning-of-line) + (let ((point-max (/ (float (point-max)) 100.0))) + (while (re-search-forward string nil t) + (message "Making tags apropos buffer for `%s'...%d%%" + string + (/ (point) point-max)) + (beginning-of-line) - (let* (;; Get the local value in the tags table - ;; buffer before switching buffers. - (goto-func goto-tag-location-function) - (tag-info (save-excursion (funcall snarf-tag-function))) - (tag (if (eq t (car tag-info)) nil (car tag-info))) - (file-path (save-excursion (if tag (file-of-tag) - (save-excursion (next-line 1) - (file-of-tag))))) - (file-label (if tag (file-of-tag t) - (save-excursion (next-line 1) - (file-of-tag t)))) - (pt (with-current-buffer standard-output (point)))) - (if tag - (progn - (princ (format "[%s]: " file-label)) - (princ tag) - (when (= (aref tag 0) ?\() (princ " ...)")) - (with-current-buffer standard-output - (make-text-button pt (point) - 'tag-info tag-info - 'file-path file-path - 'goto-func goto-func - 'action (lambda (button) - (let ((tag-info (button-get button 'tag-info)) - (goto-func (button-get button 'goto-func))) - (tag-find-file-of-tag (button-get button 'file-path)) - (widen) - (funcall goto-func tag-info))) - 'face 'tags-tag-face - 'type 'button))) - (princ (format "- %s" file-label)) - (with-current-buffer standard-output - (make-text-button pt (point) - 'file-path file-path - 'action (lambda (button) - (tag-find-file-of-tag (button-get button 'file-path)) - ;; Get the local value in the tags table - ;; buffer before switching buffers. - (goto-char (point-min))) - 'face 'tags-tag-face - 'type 'button)) - )) - (terpri) - (forward-line 1)) + (let* ( ;; Get the local value in the tags table + ;; buffer before switching buffers. + (goto-func goto-tag-location-function) + (tag-info (save-excursion (funcall snarf-tag-function))) + (tag (if (eq t (car tag-info)) nil (car tag-info))) + (file-path (save-excursion (if tag (file-of-tag) + (save-excursion (next-line 1) + (file-of-tag))))) + (file-label (if tag (file-of-tag t) + (save-excursion (next-line 1) + (file-of-tag t)))) + (pt (with-current-buffer standard-output (point)))) + (if tag + (progn + (princ (format "[%s]: " file-label)) + (princ tag) + (when (= (aref tag 0) ?\() (princ " ...)")) + (with-current-buffer standard-output + (make-text-button pt (point) + 'tag-info tag-info + 'file-path file-path + 'goto-func goto-func + 'action (lambda (button) + (let ((tag-info (button-get button 'tag-info)) + (goto-func (button-get button 'goto-func))) + (tag-find-file-of-tag (button-get button 'file-path)) + (widen) + (funcall goto-func tag-info))) + 'face 'tags-tag-face + 'type 'button))) + (princ (format "- %s" file-label)) + (with-current-buffer standard-output + (make-text-button pt (point) + 'file-path file-path + 'action (lambda (button) + (tag-find-file-of-tag (button-get button 'file-path)) + ;; Get the local value in the tags table + ;; buffer before switching buffers. + (goto-char (point-min))) + 'face 'tags-tag-face + 'type 'button)) + )) + (terpri) + (forward-line 1)) + (message nil)) (when tags-apropos-verbose (princ "\n"))) (defun etags-tags-table-files ()