Mercurial > emacs
changeset 6147:f89879182407
(diff-latest-backup-file): Check for a file-name-handler and run it.
author | Roland McGrath <roland@gnu.org> |
---|---|
date | Wed, 02 Mar 1994 10:27:36 +0000 |
parents | 1a2a8ef9b4af |
children | ec063baec3e0 |
files | lisp/diff.el |
diffstat | 1 files changed, 24 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/diff.el Wed Mar 02 07:57:04 1994 +0000 +++ b/lisp/diff.el Wed Mar 02 10:27:36 1994 +0000 @@ -1,6 +1,6 @@ ;;; diff.el --- Run `diff' in compilation-mode. -;; Copyright (C) 1992 Free Software Foundation, Inc. +;; Copyright (C) 1992, 1994 Free Software Foundation, Inc. ;; Keywords: unix, tools @@ -254,26 +254,29 @@ (defun diff-latest-backup-file (fn) ; actually belongs into files.el "Return the latest existing backup of FILE, or nil." - ;; First try simple backup, then the highest numbered of the - ;; numbered backups. - ;; Ignore the value of version-control because we look for existing - ;; backups, which maybe were made earlier or by another user with - ;; a different value of version-control. - (setq fn (file-chase-links (expand-file-name fn))) - (or - (let ((bak (make-backup-file-name fn))) - (if (file-exists-p bak) bak)) - (let* ((dir (file-name-directory fn)) - (base-versions (concat (file-name-nondirectory fn) ".~")) - (bv-length (length base-versions))) - (concat dir - (car (sort - (file-name-all-completions base-versions dir) - ;; bv-length is a fluid var for backup-extract-version: - (function - (lambda (fn1 fn2) - (> (backup-extract-version fn1) - (backup-extract-version fn2)))))))))) + (let ((handler (find-file-name-handler fn))) + (if handler + (funcall handler fn) + ;; First try simple backup, then the highest numbered of the + ;; numbered backups. + ;; Ignore the value of version-control because we look for existing + ;; backups, which maybe were made earlier or by another user with + ;; a different value of version-control. + (setq fn (file-chase-links (expand-file-name fn))) + (or + (let ((bak (make-backup-file-name fn))) + (if (file-exists-p bak) bak)) + (let* ((dir (file-name-directory fn)) + (base-versions (concat (file-name-nondirectory fn) ".~")) + (bv-length (length base-versions))) + (concat dir + (car (sort + (file-name-all-completions base-versions dir) + ;; bv-length is a fluid var for backup-extract-version: + (function + (lambda (fn1 fn2) + (> (backup-extract-version fn1) + (backup-extract-version fn2)))))))))))) (provide 'diff)