# HG changeset patch # User Augie Fackler # Date 1481413397 18000 # Node ID 2f24474b1f8494b43c7a06835877a51d0a85dc36 # Parent 6f3342c9e53de8f0f35a32e3ee1f116e50503c7f move-file: new function for emacs to move a file and fix up the buffer diff --git a/.elisp/settings/99.move-file.el b/.elisp/settings/99.move-file.el new file mode 100644 --- /dev/null +++ b/.elisp/settings/99.move-file.el @@ -0,0 +1,17 @@ +;; emacs move-file function from http://zck.me/emacs-move-file + +(defun move-file (new-location) + "Write this file to NEW-LOCATION, and delete the old one." + (interactive (list (if buffer-file-name + (read-file-name "Move file to: ") + (read-file-name "Move file to: " + default-directory + (expand-file-name (file-name-nondirectory (buffer-name)) + default-directory))))) + (when (file-exists-p new-location) + (delete-file new-location)) + (let ((old-location (buffer-file-name))) + (write-file new-location t) + (when (and old-location + (file-exists-p new-location)) + (delete-file old-location))))