# HG changeset patch # User Karl Heuer # Date 907713351 0 # Node ID acb6d2c4220b1aa91b62890f906ae048ad4343df # Parent c27c5254e5d4ec50b7ebb3a1c0ad48a94915b806 (tags-reset-tags-tables): Properly find the markers in the old rings that are being discarded. diff -r c27c5254e5d4 -r acb6d2c4220b lisp/progmodes/etags.el --- a/lisp/progmodes/etags.el Tue Oct 06 22:30:28 1998 +0000 +++ b/lisp/progmodes/etags.el Tue Oct 06 22:35:51 1998 +0000 @@ -613,17 +613,17 @@ (defun tags-reset-tags-tables () "Reset tags state to cancel effect of any previous \\[visit-tags-table] or \\[find-tag]." (interactive) + ;; Clear out the markers we are throwing away. + (let ((i 0)) + (while (< i find-tag-marker-ring-length) + (if (aref (cddr tags-location-ring) i) + (set-marker (aref (cddr tags-location-ring) i) nil)) + (if (aref (cddr find-tag-marker-ring) i) + (set-marker (aref (cddr find-tag-marker-ring) i) nil)) + (setq i (1+ i)))) (setq tags-file-name nil - tags-location-ring (progn - (mapcar (lambda (m) - (set-marker m nil)) - tags-location-ring) - (make-ring find-tag-marker-ring-length)) - find-tag-marker-ring (progn - (mapcar (lambda (m) - (set-marker m nil)) - find-tag-marker-ring) - (make-ring find-tag-marker-ring-length)) + tags-location-ring (make-ring find-tag-marker-ring-length) + find-tag-marker-ring (make-ring find-tag-marker-ring-length) tags-table-list nil tags-table-computed-list nil tags-table-computed-list-for nil