Function: ange-ftp-rename-file

ange-ftp-rename-file is an interactive and byte-compiled function defined in ange-ftp.el.gz.

Signature

(ange-ftp-rename-file FILENAME NEWNAME &optional OK-IF-ALREADY-EXISTS)

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/net/ange-ftp.el.gz
(defun ange-ftp-rename-file (filename newname &optional ok-if-already-exists)
  (interactive "fRename file: \nFRename %s to file: \np")

  (or (file-exists-p filename)
      (signal 'file-missing
	      (list "Copy file" "No such file or directory" filename)))

  (setq filename (expand-file-name filename))
  (setq newname (expand-file-name newname))
  (let* ((f-parsed (ange-ftp-ftp-name filename))
	 (t-parsed (ange-ftp-ftp-name newname)))
    (if (and (or f-parsed t-parsed)
	     (or (not ok-if-already-exists)
		 (numberp ok-if-already-exists)))
	(ange-ftp-barf-or-query-if-file-exists
	 newname
	 "rename to it"
	 (numberp ok-if-already-exists)))
    (if f-parsed
	(if t-parsed
	    (ange-ftp-rename-remote-to-remote filename newname f-parsed
					      t-parsed)
	  (ange-ftp-rename-remote-to-local filename newname))
      (if t-parsed
	  (ange-ftp-rename-local-to-remote filename newname)
	(ange-ftp-real-rename-file filename newname ok-if-already-exists)))))