Function: gnus-rename-file

gnus-rename-file is a byte-compiled function defined in gnus-util.el.gz.

Signature

(gnus-rename-file OLD-PATH NEW-PATH &optional TRIM)

Documentation

Rename OLD-PATH as NEW-PATH.

If TRIM, recursively delete empty directories from OLD-PATH.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-util.el.gz
(defun gnus-rename-file (old-path new-path &optional trim)
  "Rename OLD-PATH as NEW-PATH.
If TRIM, recursively delete empty directories from OLD-PATH."
  (when (file-exists-p old-path)
    (let* ((old-dir (file-name-directory old-path))
	   ;; (old-name (file-name-nondirectory old-path))
	   (new-dir (file-name-directory new-path))
	   ;; (new-name (file-name-nondirectory new-path))
	   temp)
      (gnus-make-directory new-dir)
      (rename-file old-path new-path t)
      (when trim
	(while (progn (setq temp (directory-files old-dir))
		      (while (member (car temp) '("." ".."))
			(setq temp (cdr temp)))
		      (= (length temp) 0))
	  (delete-directory old-dir)
	  (setq old-dir (file-name-as-directory
			 (file-truename
			  (concat old-dir "..")))))))))