]> code.delx.au - gnu-emacs/commitdiff
Rename file-subdir-of-p to file-in-directory-p.
authorChong Yidong <cyd@gnu.org>
Sun, 1 Apr 2012 02:44:24 +0000 (10:44 +0800)
committerChong Yidong <cyd@gnu.org>
Sun, 1 Apr 2012 02:44:24 +0000 (10:44 +0800)
* 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.

doc/lispref/ChangeLog
doc/lispref/files.texi
lisp/ChangeLog
lisp/dired-aux.el
lisp/dired.el
lisp/files.el
lisp/net/tramp.el

index cb7a5c48e158ae1b0167d28cd862a3db780287ef..5fb4220d86a0cbb756fe89863c39a524f87c0c96 100644 (file)
@@ -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):
index 77c6766dc5d0aea63e82f6c96c43c041a61f3aed..b49e56158adfcc775d336926ee0a7d99be928181 100644 (file)
@@ -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},@*
index b6d33739e2a949b18dfb4403a6861b37c7929aa8..1cc71bed1f85992af81c1db8b2ee86351b4d4195 100644 (file)
@@ -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.
index 6ab70ec43dfc2cfa5bbb237a12d13d2e63dba3ea..0795b0175a2a788898d95d62006742ba2bfa6cdb 100644 (file)
@@ -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
index 864ac2b9d4df04e7ede6c06dceefd15a5cecf281..d322752e15f336c97c454543da85c5174e23f4de 100644 (file)
@@ -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" "\
index cc1386b1bbb2558c597248ae8fc92ded9b51d5a4..0673b4fe56b735dca603261e2d12570d054d3782 100644 (file)
@@ -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
index df0ac53a8f89d01ad8a880495f0379a14f2cede6..c092202b10a252031c79faaf781f95b81046e07a 100644 (file)
@@ -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))