mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-23 10:34:07 +00:00
Rename file-subdir-of-p to file-in-directory-p.
* lisp/files.el (file-in-directory-p): Rename from file-subdir-of-p. Handle root directory properly. (copy-directory): Caller changed. * lisp/dired-aux.el (dired-copy-file-recursive, dired-create-files): * lisp/net/tramp.el (tramp-file-name-for-operation): Callers changed. * doc/lispref/files.texi (Kinds of Files): file-subdir-of-p renamed to file-in-directory-p.
This commit is contained in:
parent
40f86458cc
commit
42ee526b1a
@ -1,3 +1,8 @@
|
||||
2012-04-01 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* files.texi (Kinds of Files): file-subdir-of-p renamed to
|
||||
file-in-directory-p.
|
||||
|
||||
2012-03-31 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* edebug.texi (Instrumenting Macro Calls):
|
||||
|
@ -1024,12 +1024,13 @@ This function returns @code{t} if the files @var{file1} and
|
||||
not exist, the return value is unspecified.
|
||||
@end defun
|
||||
|
||||
@defun file-subdir-of-p dir1 dir2
|
||||
This function returns @code{t} if directory @var{dir1} is a
|
||||
subdirectory of @var{dir2}, or if @var{dir1} and @var{dir2} are the
|
||||
same directory. It compares the @code{file-truename} values of the
|
||||
two directories (@pxref{Truenames}). If @var{dir2}
|
||||
do not name an existing directory, the return value is @code{nil}.
|
||||
@defun file-in-directory-p file dir
|
||||
This function returns @code{t} if @var{file} is a file in directory
|
||||
@var{dir}, or in a subdirectory of @var{dir}. It also returns
|
||||
@code{t} if @var{file} and @var{dir} are the same directory. It
|
||||
compares the @code{file-truename} values of the two directories
|
||||
(@pxref{Truenames}). If @var{dir} does not name an existing
|
||||
directory, the return value is @code{nil}.
|
||||
@end defun
|
||||
|
||||
@node Truenames
|
||||
@ -2718,7 +2719,7 @@ first, before handlers for jobs such as remote file access.
|
||||
@code{file-name-nondirectory},
|
||||
@code{file-name-sans-versions}, @code{file-newer-than-file-p},
|
||||
@code{file-ownership-preserved-p},
|
||||
@code{file-readable-p}, @code{file-regular-p}, @code{file-subdir-of-p},
|
||||
@code{file-readable-p}, @code{file-regular-p}, @code{file-in-directory-p},
|
||||
@code{file-symlink-p}, @code{file-truename}, @code{file-writable-p},
|
||||
@code{file-equal-p}, @code{find-backup-file-name},
|
||||
@c Not sure why it was here: @code{find-file-noselect},@*
|
||||
|
@ -1,3 +1,12 @@
|
||||
2012-04-01 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* files.el (file-in-directory-p): Rename from file-subdir-of-p.
|
||||
Handle root directory properly.
|
||||
(copy-directory): Caller changed.
|
||||
|
||||
* dired-aux.el (dired-copy-file-recursive, dired-create-files):
|
||||
* net/tramp.el (tramp-file-name-for-operation): Callers changed.
|
||||
|
||||
2012-03-31 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* term/xterm.el (xterm-extra-capabilities): Doc fix.
|
||||
|
@ -1265,7 +1265,7 @@ Special value `always' suppresses confirmation."
|
||||
(defun dired-copy-file-recursive (from to ok-flag &optional
|
||||
preserve-time top recursive)
|
||||
(when (and (eq t (car (file-attributes from)))
|
||||
(file-subdir-of-p to from))
|
||||
(file-in-directory-p to from))
|
||||
(error "Cannot copy `%s' into its subdirectory `%s'" from to))
|
||||
(let ((attrs (file-attributes from)))
|
||||
(if (and recursive
|
||||
@ -1456,7 +1456,7 @@ ESC or `q' to not overwrite any of the remaining files,
|
||||
;; and the method in use is copying, signal an error.
|
||||
(and (eq t (car (file-attributes destname)))
|
||||
(eq file-creator 'dired-copy-file)
|
||||
(file-subdir-of-p destname from)
|
||||
(file-in-directory-p destname from)
|
||||
(error "Cannot copy `%s' into its subdirectory `%s'"
|
||||
from to)))
|
||||
(condition-case err
|
||||
|
@ -3736,7 +3736,7 @@ Ask means pop up a menu for the user to select one of copy, move or link."
|
||||
;;;;;; dired-run-shell-command dired-do-shell-command dired-do-async-shell-command
|
||||
;;;;;; dired-clean-directory dired-do-print dired-do-touch dired-do-chown
|
||||
;;;;;; dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff
|
||||
;;;;;; dired-diff) "dired-aux" "dired-aux.el" "a07cca6379bd3fdc9eaeba4d341b89ee")
|
||||
;;;;;; dired-diff) "dired-aux" "dired-aux.el" "58d623eb8e68e472e6164a1bcae83360")
|
||||
;;; Generated autoloads from dired-aux.el
|
||||
|
||||
(autoload 'dired-diff "dired-aux" "\
|
||||
|
@ -5015,20 +5015,20 @@ If FILE1 or FILE2 does not exist, the return value is unspecified."
|
||||
(setq f2-attr (file-attributes (file-truename file2)))
|
||||
(equal f1-attr f2-attr))))))
|
||||
|
||||
(defun file-subdir-of-p (dir1 dir2)
|
||||
"Return non-nil if DIR1 is a subdirectory of DIR2.
|
||||
A directory is considered to be a subdirectory of itself.
|
||||
Return nil if top directory DIR2 is not an existing directory."
|
||||
(let ((handler (or (find-file-name-handler dir1 'file-subdir-of-p)
|
||||
(find-file-name-handler dir2 'file-subdir-of-p))))
|
||||
(defun file-in-directory-p (file dir)
|
||||
"Return non-nil if FILE is in DIR or a subdirectory of DIR.
|
||||
A directory is considered to be \"in\" itself.
|
||||
Return nil if DIR is not an existing directory."
|
||||
(let ((handler (or (find-file-name-handler file 'file-in-directory-p)
|
||||
(find-file-name-handler dir 'file-in-directory-p))))
|
||||
(if handler
|
||||
(funcall handler 'file-subdir-of-p dir1 dir2)
|
||||
(when (file-directory-p dir2) ; Top dir must exist.
|
||||
(setq dir1 (file-truename dir1)
|
||||
dir2 (file-truename dir2))
|
||||
(let ((ls1 (or (split-string dir1 "/" t) '("/")))
|
||||
(ls2 (or (split-string dir2 "/" t) '("/")))
|
||||
(root (if (string-match "\\`/" dir1) "/" ""))
|
||||
(funcall handler 'file-in-directory-p file dir)
|
||||
(when (file-directory-p dir) ; DIR must exist.
|
||||
(setq file (file-truename file)
|
||||
dir (file-truename dir))
|
||||
(let ((ls1 (split-string file "/" t))
|
||||
(ls2 (split-string dir "/" t))
|
||||
(root (if (string-match "\\`/" file) "/" ""))
|
||||
(mismatch nil))
|
||||
(while (and ls1 ls2 (not mismatch))
|
||||
(if (string-equal (car ls1) (car ls2))
|
||||
@ -5037,7 +5037,7 @@ Return nil if top directory DIR2 is not an existing directory."
|
||||
(setq ls1 (cdr ls1)
|
||||
ls2 (cdr ls2)))
|
||||
(unless mismatch
|
||||
(file-equal-p root dir2)))))))
|
||||
(file-equal-p root dir)))))))
|
||||
|
||||
(defun copy-directory (directory newname &optional keep-time parents copy-contents)
|
||||
"Copy DIRECTORY to NEWNAME. Both args must be strings.
|
||||
@ -5065,7 +5065,7 @@ directly into NEWNAME instead."
|
||||
(format "Copy directory %s to: " dir)
|
||||
default-directory default-directory nil nil)
|
||||
current-prefix-arg t nil)))
|
||||
(when (file-subdir-of-p newname directory)
|
||||
(when (file-in-directory-p newname directory)
|
||||
(error "Cannot copy `%s' into its subdirectory `%s'"
|
||||
directory newname))
|
||||
;; If default-directory is a remote directory, make sure we find its
|
||||
|
@ -1810,7 +1810,7 @@ ARGS are the arguments OPERATION has been called with."
|
||||
;; Emacs 23+ only.
|
||||
'copy-directory
|
||||
;; Emacs 24+ only.
|
||||
'file-equal-p 'file-subdir-of-p
|
||||
'file-equal-p 'file-in-directory-p
|
||||
;; XEmacs only.
|
||||
'dired-make-relative-symlink
|
||||
'vm-imap-move-mail 'vm-pop-move-mail 'vm-spool-move-mail))
|
||||
|
Loading…
Reference in New Issue
Block a user