comparison lisp/files.el @ 2710:54fd042e254c

[xemacs-hg @ 2005-04-03 23:57:36 by youngs] 2005-04-04 Steve Youngs <steve@sxemacs.org> * files.el (backup-buffer): Write "%backup%~" in `auto-save-directory' and fall back to $HOME if for some reason that isn't possible. Suggested By: Jamie Zawinski <jwz@jwz.org>
author youngs
date Sun, 03 Apr 2005 23:57:37 +0000
parents 5402bf7d11a5
children 5427b625d5cc
comparison
equal deleted inserted replaced
2709:2af87b0fc2c2 2710:54fd042e254c
2388 (copy-file real-file-name backupname t t))) 2388 (copy-file real-file-name backupname t t)))
2389 ;; rename-file should delete old backup. 2389 ;; rename-file should delete old backup.
2390 (rename-file real-file-name backupname t) 2390 (rename-file real-file-name backupname t)
2391 (setq setmodes (file-modes backupname))) 2391 (setq setmodes (file-modes backupname)))
2392 (file-error 2392 (file-error
2393 ;; If trouble writing the backup, write it in ~. 2393 ;; If trouble writing the backup, write
2394 ;; it in `auto-save-directory'. Fall
2395 ;; back to $HOME if that's not possible.
2394 (setq backupname 2396 (setq backupname
2395 (expand-file-name 2397 (expand-file-name "%backup%~"
2396 (convert-standard-filename "~/%backup%~"))) 2398 (or (when (and auto-save-directory
2399 (file-writable-p auto-save-directory))
2400 auto-save-directory)
2401 (getenv "HOME"))))
2397 (lwarn 'file 'alert "Cannot write backup file; backing up in %s" 2402 (lwarn 'file 'alert "Cannot write backup file; backing up in %s"
2398 (file-name-nondirectory backupname)) 2403 (file-name-nondirectory backupname))
2399 (sleep-for 1) 2404 (sleep-for 1)
2400 (condition-case () 2405 (condition-case ()
2401 (copy-file real-file-name backupname t t) 2406 (copy-file real-file-name backupname t t)