Mercurial > emacs
changeset 5288:c32c5d1aa89d
(shadow-noquery): Use it.
(shadow-copy-file): Use abbreviate-file-name to
avoid incorrect warnings.
Lucid support commented out (didn't work and caused compiler warnings).
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 23 Dec 1993 03:45:09 +0000 |
parents | 6811f9d90b62 |
children | 4e000b7b285a |
files | lisp/shadowfile.el |
diffstat | 1 files changed, 27 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/shadowfile.el Thu Dec 23 03:43:13 1993 +0000 +++ b/lisp/shadowfile.el Thu Dec 23 03:45:09 1993 +0000 @@ -22,7 +22,7 @@ ;;; LCD Archive Entry: ;;; shadowfile|Boris Goldowsky|boris@cs.rochester.edu| ;;; Helps you keep identical copies of files in multiple places.| -;;; $Date: 93/11/17 08:46:07 $ |$Revision: 2.8 $|~/misc/shadowfile.el.Z| +;;; $Date: 1993/11/23 06:17:27 $ |$Revision: 1.1 $|~/misc/shadowfile.el.Z| ;;; Commentary: ;;; @@ -85,7 +85,9 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defvar shadow-noquery nil - "*If nonnil, always copy shadow files without asking.") + "*If t, always copy shadow files without asking. +If nil \(the default), always ask. If not nil and not t, ask only if there +is no buffer currently visiting the file.") (defvar shadow-inhibit-message nil "*If nonnil, do not display a message when a file needs copying.") @@ -510,7 +512,7 @@ (save-excursion (map-y-or-n-p (function (lambda (pair) - (or arg + (or arg shadow-noquery (format "Copy shadow file %s? " (cdr pair))))) (function shadow-copy-file) shadow-files-to-copy @@ -552,16 +554,18 @@ (defun shadow-copy-file (s) "Copy one shadow file." (let* ((buffer - (cond ((get-file-buffer (car s))) + (cond ((get-file-buffer + (abbreviate-file-name (shadow-expand-file-name (car s))))) ((not (file-readable-p (car s))) (if (y-or-n-p (format "Cannot find file %s--cancel copy request?" (car s))) (shadow-remove-from-todo s)) nil) - ((y-or-n-p - (format "No buffer for %s -- update shadow anyway?" - (car s))) + ((or (eq t shadow-noquery) + (y-or-n-p + (format "No buffer for %s -- update shadow anyway?" + (car s)))) (find-file-noselect (car s))))) (to (shadow-expand-cluster-in-file-name (cdr s)))) (shadow-when buffer @@ -642,8 +646,9 @@ thus restoring shadowfile's state from your last emacs session. Returns t unless files were locked; then returns nil." (interactive) - (if (or (stringp (file-locked-p shadow-info-file)) - (stringp (file-locked-p shadow-todo-file))) + (if (and (fboundp 'file-locked-p) + (or (stringp (file-locked-p shadow-info-file)) + (stringp (file-locked-p shadow-todo-file)))) (progn (message "Shadowfile is running in another emacs; can't have two.") (beep) @@ -772,20 +777,22 @@ (kill-emacs))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; Lucid Emacs compatibility (may not be complete) +;;; Lucid Emacs compatibility ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(shadow-when (not (fboundp 'file-truename)) - (require 'symlink-fix) - (defun shadow-expand-file-name (file &optional default) - (symlink-expand-file-name file default))) +;; This is on hold until someone tells me about a working version of +;; map-ynp for Lucid Emacs. -(shadow-when (not (fboundp 'ange-ftp-ftp-name)) - (require 'ange-ftp) - (defun shadow-parse-fullpath (fullpath) - (if (listp fullpath) - fullpath - (ange-ftp-ftp-path fullpath)))) +;(shadow-when (string-match "Lucid" emacs-version) +; (require 'symlink-fix) +; (require 'ange-ftp) +; (require 'map-ynp) +; (if (not (fboundp 'file-truename)) +; (fset 'shadow-expand-file-name +; (symbol-function 'symlink-expand-file-name))) +; (if (not (fboundp 'ange-ftp-ftp-name)) +; (fset 'ange-ftp-ftp-name +; (symbol-function 'ange-ftp-ftp-path)))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Hook us up