Mercurial > emacs
comparison lisp/diff.el @ 45472:6b7dcaa53b5c
(diff-latest-backup-file): Replace the main code by a call of
file-newest-backup.
author | Markus Rost <rost@math.uni-bielefeld.de> |
---|---|
date | Wed, 22 May 2002 23:26:51 +0000 |
parents | 0f3260023919 |
children | bac8aaf18835 |
comparison
equal
deleted
inserted
replaced
45471:7d93671b3743 | 45472:6b7dcaa53b5c |
---|---|
293 (defun diff-latest-backup-file (fn) ; actually belongs into files.el | 293 (defun diff-latest-backup-file (fn) ; actually belongs into files.el |
294 "Return the latest existing backup of FILE, or nil." | 294 "Return the latest existing backup of FILE, or nil." |
295 (let ((handler (find-file-name-handler fn 'diff-latest-backup-file))) | 295 (let ((handler (find-file-name-handler fn 'diff-latest-backup-file))) |
296 (if handler | 296 (if handler |
297 (funcall handler 'diff-latest-backup-file fn) | 297 (funcall handler 'diff-latest-backup-file fn) |
298 ;; First try simple backup, then the highest numbered of the | 298 (file-newest-backup fn)))) |
299 ;; numbered backups. | |
300 ;; Ignore the value of version-control because we look for existing | |
301 ;; backups, which maybe were made earlier or by another user with | |
302 ;; a different value of version-control. | |
303 (setq fn (file-chase-links (expand-file-name fn))) | |
304 (or | |
305 (let ((bak (make-backup-file-name fn))) | |
306 (if (file-exists-p bak) bak)) | |
307 ;; We use BACKUPNAME to cope with backups stored in a different dir. | |
308 (let* ((backupname (car (find-backup-file-name fn))) | |
309 (dir (file-name-directory backupname)) | |
310 (base-versions (concat (file-name-sans-versions | |
311 (file-name-nondirectory backupname)) | |
312 ".~")) | |
313 ;; This is a fluid var for backup-extract-version. | |
314 (backup-extract-version-start (length base-versions))) | |
315 (concat dir | |
316 (car (sort | |
317 (file-name-all-completions base-versions dir) | |
318 (function | |
319 (lambda (fn1 fn2) | |
320 (> (backup-extract-version fn1) | |
321 (backup-extract-version fn2)))))))))))) | |
322 | 299 |
323 (provide 'diff) | 300 (provide 'diff) |
324 | 301 |
325 ;;; diff.el ends here | 302 ;;; diff.el ends here |