aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2015-05-30 15:02:51 +0300
committerEli Zaretskii2015-05-30 15:02:51 +0300
commit54109758ff69bd45a8adb7a18583153fc78bd5ca (patch)
treeac34a4852898e27566647cf8d6ac2c18ec203da1
parent0acb538bb058aa2b961ab183d7473cdf4a820a79 (diff)
parent0ac9d09b6dfe47918abe5020a9d7dbc3a625dbac (diff)
downloademacs-54109758ff69bd45a8adb7a18583153fc78bd5ca.tar.gz
emacs-54109758ff69bd45a8adb7a18583153fc78bd5ca.zip
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
-rw-r--r--lisp/progmodes/etags.el22
1 files changed, 9 insertions, 13 deletions
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el
index 9ff164e15ef..329d899a588 100644
--- a/lisp/progmodes/etags.el
+++ b/lisp/progmodes/etags.el
@@ -204,7 +204,7 @@ nil means it has not yet been computed;
204use function `tags-table-files' to do so.") 204use function `tags-table-files' to do so.")
205 205
206(defvar tags-completion-table nil 206(defvar tags-completion-table nil
207 "Obarray of tag names defined in current tags table.") 207 "List of tag names defined in current tags table.")
208 208
209(defvar tags-included-tables nil 209(defvar tags-included-tables nil
210 "List of tags tables included by the current tags table.") 210 "List of tags tables included by the current tags table.")
@@ -759,23 +759,19 @@ tags table and its (recursively) included tags tables."
759 (or tags-completion-table 759 (or tags-completion-table
760 ;; No cached value for this buffer. 760 ;; No cached value for this buffer.
761 (condition-case () 761 (condition-case ()
762 (let (current-table combined-table) 762 (let (tables cont)
763 (message "Making tags completion table for %s..." buffer-file-name) 763 (message "Making tags completion table for %s..." buffer-file-name)
764 (save-excursion 764 (save-excursion
765 ;; Iterate over the current list of tags tables. 765 ;; Iterate over the current list of tags tables.
766 (while (visit-tags-table-buffer (and combined-table t)) 766 (while (visit-tags-table-buffer cont)
767 ;; Find possible completions in this table. 767 ;; Find possible completions in this table.
768 (setq current-table (funcall tags-completion-table-function)) 768 (push (funcall tags-completion-table-function) tables)
769 ;; Merge this buffer's completions into the combined table. 769 (setq cont t)))
770 (if combined-table
771 (mapatoms
772 (lambda (sym) (intern (symbol-name sym) combined-table))
773 current-table)
774 (setq combined-table current-table))))
775 (message "Making tags completion table for %s...done" 770 (message "Making tags completion table for %s...done"
776 buffer-file-name) 771 buffer-file-name)
777 ;; Cache the result in a buffer-local variable. 772 ;; Cache the result in a buffer-local variable.
778 (setq tags-completion-table combined-table)) 773 (setq tags-completion-table
774 (nreverse (delete-dups (apply #'nconc tables)))))
779 (quit (message "Tags completion table construction aborted.") 775 (quit (message "Tags completion table construction aborted.")
780 (setq tags-completion-table nil))))) 776 (setq tags-completion-table nil)))))
781 777
@@ -1256,7 +1252,7 @@ buffer-local values of tags table format variables."
1256 1252
1257 1253
1258(defun etags-tags-completion-table () ; Doc string? 1254(defun etags-tags-completion-table () ; Doc string?
1259 (let ((table (make-vector 511 0)) 1255 (let (table
1260 (progress-reporter 1256 (progress-reporter
1261 (make-progress-reporter 1257 (make-progress-reporter
1262 (format "Making tags completion table for %s..." buffer-file-name) 1258 (format "Making tags completion table for %s..." buffer-file-name)
@@ -1276,7 +1272,7 @@ buffer-local values of tags table format variables."
1276\\([-a-zA-Z0-9_+*$?:]+\\)[^-a-zA-Z0-9_+*$?:\177]*\\)\177\ 1272\\([-a-zA-Z0-9_+*$?:]+\\)[^-a-zA-Z0-9_+*$?:\177]*\\)\177\
1277\\(\\([^\n\001]+\\)\001\\)?\\([0-9]+\\)?,\\([0-9]+\\)?\n" 1273\\(\\([^\n\001]+\\)\001\\)?\\([0-9]+\\)?,\\([0-9]+\\)?\n"
1278 nil t) 1274 nil t)
1279 (intern (prog1 (if (match-beginning 5) 1275 (push (prog1 (if (match-beginning 5)
1280 ;; There is an explicit tag name. 1276 ;; There is an explicit tag name.
1281 (buffer-substring (match-beginning 5) (match-end 5)) 1277 (buffer-substring (match-beginning 5) (match-end 5))
1282 ;; No explicit tag name. Best guess. 1278 ;; No explicit tag name. Best guess.