Function: wdired-search-and-rename
wdired-search-and-rename is a byte-compiled function defined in
wdired.el.gz.
Signature
(wdired-search-and-rename FILENAME-ORI FILENAME-NEW)
Source Code
;; Defined in /usr/src/emacs/lisp/wdired.el.gz
;; Rename a file, searching it in a modified dired buffer, in order
;; to be able to use `dired-do-create-files-regexp' and get its
;; "benefits".
(defun wdired-search-and-rename (filename-ori filename-new)
(save-excursion
(goto-char (point-max))
(forward-line -1)
(let ((done nil)
(failed t)
curr-filename)
(while (and (not done) (not (bobp)))
(setq curr-filename (wdired-get-filename nil t))
(if (equal curr-filename filename-ori)
(unwind-protect
(progn
(setq done t)
(let ((inhibit-read-only t))
(dired-move-to-filename)
(search-forward (wdired-get-filename t) nil t)
(replace-match (file-name-nondirectory filename-ori) t t))
(dired-do-create-files-regexp
(function dired-rename-file)
"Move" 1 ".*" filename-new nil t)
(setq failed nil))
;; If user types C-g when prompted to change the file
;; name, make sure we return to dired-mode.
(when failed (wdired-change-to-dired-mode)))
(forward-line -1))))))