Function: file-backup-file-names

file-backup-file-names is a byte-compiled function defined in files.el.gz.

Signature

(file-backup-file-names FILENAME)

Documentation

Return a list of backup files for FILENAME.

The list will be sorted by modification time so that the most recent files are first.

View in manual

Probably introduced at or before Emacs version 28.1.

Source Code

;; Defined in /usr/src/emacs/lisp/files.el.gz
(defun file-backup-file-names (filename)
  "Return a list of backup files for FILENAME.
The list will be sorted by modification time so that the most
recent files are first."
  ;; `make-backup-file-name' will get us the right directory for
  ;; ordinary or numeric backups.  It might create a directory for
  ;; backups as a side-effect, according to `backup-directory-alist'.
  (let* ((filename (file-name-sans-versions
		    (make-backup-file-name (expand-file-name filename))))
         (dir (file-name-directory filename)))
    (when (file-directory-p dir)
      (sort
       (seq-filter
        (lambda (candidate)
          (and (backup-file-name-p candidate)
               (string= (file-name-sans-versions candidate) filename)))
        (mapcar
         (lambda (file)
           (concat dir file))
         (file-name-all-completions (file-name-nondirectory filename) dir)))
       #'file-newer-than-file-p))))