]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix a problem with restarting 'tags-search'
authorEli Zaretskii <eliz@gnu.org>
Sun, 6 Jun 2021 12:29:18 +0000 (15:29 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sun, 6 Jun 2021 12:29:18 +0000 (15:29 +0300)
* lisp/progmodes/etags.el (tags-search, tags-query-replace): Link
to 'fileloop-continue' instead of 'tags-loop-continue', for
continuing TAGS-based search/replace commands.

* lisp/fileloop.el (fileloop-continue): Reset
'switch-to-buffer-preserve-window-point' to nil when switching to
another buffer, so as to make sure a new search always restarts
from point-min in each buffer it searches.  (Bug#48628)

lisp/fileloop.el
lisp/progmodes/etags.el

index cb9fe8f7769860614dfc0d07ef4154f1e397b9bd..8a2755d69a5e5fac2d9e4baf33d5396f41f06849 100644 (file)
@@ -171,7 +171,8 @@ operating on the next file and nil otherwise."
                (goto-char pos))
            (push-mark original-point t))
 
-         (switch-to-buffer (current-buffer))
+          (let (switch-to-buffer-preserve-window-point)
+           (switch-to-buffer (current-buffer)))
 
          ;; Now operate on the file.
          ;; If value is non-nil, continue to scan the next file.
index 13717b1b8949d0246cdba646ae2de28c994151e0..f0180ceeecaf9cd509a69ad166d485cf5823d1c8 100644 (file)
@@ -1808,7 +1808,7 @@ argument is passed to `next-file', which see)."
 (defun tags-search (regexp &optional files)
   "Search through all files listed in tags table for match for REGEXP.
 Stops when a match is found.
-To continue searching for next match, use command \\[tags-loop-continue].
+To continue searching for next match, use the command \\[fileloop-continue].
 
 If FILES if non-nil should be a list or an iterator returning the
 files to search.  The search will be restricted to these files.
@@ -1834,7 +1834,7 @@ Also see the documentation of the `tags-file-name' variable."
   "Do `query-replace-regexp' of FROM with TO on all files listed in tags table.
 Third arg DELIMITED (prefix arg) means replace only word-delimited matches.
 If you exit (\\[keyboard-quit], RET or q), you can resume the query replace
-with the command \\[tags-loop-continue].
+with the command \\[fileloop-continue].
 For non-interactive use, superseded by `fileloop-initialize-replace'."
   (declare (advertised-calling-convention (from to &optional delimited) "27.1"))
   (interactive (query-replace-read-args "Tags query replace (regexp)" t t))