summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2013-01-16 21:07:25 -0500
committerGlenn Morris <rgm@gnu.org>2013-01-16 21:07:25 -0500
commit19503d5abfb9d9c1faa2e6e9e8636623c7667e54 (patch)
tree476ac3f69e501f0c5abe0363cd63e43c0ac6c2c5
parent085d34c46ae83282b6bd1002ee9fb9be62e76594 (diff)
downloademacs-19503d5abfb9d9c1faa2e6e9e8636623c7667e54.tar.gz
etags.el fix for bug#13412
* lisp/progmodes/etags.el (tags-table-check-computed-list): Preserve point in tags buffer.
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/progmodes/etags.el16
2 files changed, 15 insertions, 6 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index c2d869ae827..cd7a013d55c 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2013-01-17 Glenn Morris <rgm@gnu.org>
+
+ * progmodes/etags.el (tags-table-check-computed-list):
+ Preserve point in tags buffer. (Bug#13412)
+
2013-01-16 Glenn Morris <rgm@gnu.org>
* emacs-lisp/lisp-mode.el (lisp-indent-function): Doc fix.
diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el
index dc16a2ce762..21844d20598 100644
--- a/lisp/progmodes/etags.el
+++ b/lisp/progmodes/etags.el
@@ -335,12 +335,15 @@ file the tag was in."
(save-excursion
(tags-verify-table (buffer-file-name table-buffer))))
(with-current-buffer table-buffer
- (if (tags-included-tables)
- ;; Insert the included tables into the list we
- ;; are processing.
- (setcdr tables (nconc (mapcar 'tags-expand-table-name
- (tags-included-tables))
- (cdr tables)))))
+ ;; Needed so long as etags-tags-included-tables
+ ;; does not save-excursion.
+ (save-excursion
+ (if (tags-included-tables)
+ ;; Insert the included tables into the list we
+ ;; are processing.
+ (setcdr tables (nconc (mapcar 'tags-expand-table-name
+ (tags-included-tables))
+ (cdr tables))))))
;; This table is not in core yet. Insert a placeholder
;; saying we must read it into core to check for included
;; tables before searching the next table in the list.
@@ -1547,6 +1550,7 @@ hits the start of file."
files)))
(nreverse files)))
+;; FIXME? Should this save-excursion?
(defun etags-tags-included-tables () ; Doc string?
(let ((files nil)
beg)