Function: dired-rename-subdir
dired-rename-subdir is a byte-compiled function defined in
dired-aux.el.gz.
Signature
(dired-rename-subdir FROM-DIR TO-DIR)
Source Code
;; Defined in /usr/src/emacs/lisp/dired-aux.el.gz
(defun dired-rename-subdir (from-dir to-dir)
(setq from-dir (file-name-as-directory from-dir)
to-dir (file-name-as-directory to-dir))
(dired-fun-in-all-buffers from-dir nil
#'dired-rename-subdir-1 from-dir to-dir)
;; Update visited file name of all affected buffers
(let ((expanded-from-dir (expand-file-name from-dir))
(blist (buffer-list)))
(while blist
(with-current-buffer (car blist)
(if (and buffer-file-name
(dired-in-this-tree-p buffer-file-name expanded-from-dir))
(let ((modflag (buffer-modified-p))
(to-file (replace-regexp-in-string
(concat "^" (regexp-quote from-dir))
to-dir
buffer-file-name)))
(set-visited-file-name to-file)
(set-buffer-modified-p modflag))))
(setq blist (cdr blist)))))