The functions in this section are documented mainly because you can customize the naming conventions for backup files by redefining them. If you change one, you probably need to change the rest.
nil
value if filename is a
possible name for a backup file. A file with the name filename
need not exist; the function just checks the name.
(backup-file-name-p "foo") => nil (backup-file-name-p "foo~") => 3
The standard definition of this function is as follows:
(defun backup-file-name-p (file) "Return non-nil if FILE is a backup file \ name (numeric or not)..." (string-match "~$" file))
Thus, the function returns a non-nil
value if the file name ends
with a `~'. (We use a backslash to split the documentation
string's first line into two lines in the text, but produce just one
line in the string itself.)
This simple expression is placed in a separate function to make it easy to redefine for customization.
The standard definition of this function, on most operating systems, is as follows:
(defun make-backup-file-name (file) "Create the non-numeric backup file name for FILE@enddots{}" (concat file "~"))
You can change the backup-file naming convention by redefining this
function. The following example redefines make-backup-file-name
to prepend a `.' in addition to appending a tilde:
(defun make-backup-file-name (filename) (expand-file-name (concat "." (file-name-nondirectory filename) "~") (file-name-directory filename))) (make-backup-file-name "backups.texi") => ".backups.texi~"
Some parts of Emacs, including some Dired commands, assume that backup file names end with `~'. If you do not follow that convention, it will not cause serious problems, but these commands may give less-than-desirable results.
find-backup-file-name
returns a list whose CAR is
the name for the new backup file and whose CDR is a list of backup
files whose deletion is proposed.
Two variables, kept-old-versions
and kept-new-versions
,
determine which backup versions should be kept. This function keeps
those versions by excluding them from the CDR of the value.
See section Making and Deleting Numbered Backup Files.
In this example, the value says that `~rms/foo.~5~' is the name to use for the new backup file, and `~rms/foo.~3~' is an "excess" version that the caller should consider deleting now.
(find-backup-file-name "~rms/foo") => ("~rms/foo.~5~" "~rms/foo.~3~")
nil
if that file has no backup files.
Some file comparison commands use this function so that they can automatically compare a file with its most recent backup.
Go to the first, previous, next, last section, table of contents.