diff lisp/eshell/esh-util.el @ 111436:606171abfda2

Minor esh-util changes. * lisp/eshell/esh-util.el (subst-char-in-string) (directory-files-and-attributes): These compatibility definitions are not needed on any version of Emacs since at least 21.4.
author Glenn Morris <rgm@gnu.org>
date Sat, 06 Nov 2010 18:56:09 -0700
parents 810cef5c0eee
children 646142bd4c38
line wrap: on
line diff
--- a/lisp/eshell/esh-util.el	Sat Nov 06 18:50:52 2010 -0700
+++ b/lisp/eshell/esh-util.el	Sat Nov 06 18:56:09 2010 -0700
@@ -536,17 +536,18 @@
       (eshell-read-hosts eshell-hosts-file 'eshell-host-names
 			 'eshell-host-timestamp)))
 
-(unless (fboundp 'subst-char-in-string)
-  (defun subst-char-in-string (fromchar tochar string &optional inplace)
-    "Replace FROMCHAR with TOCHAR in STRING each time it occurs.
+(and (featurep 'xemacs)
+     (not (fboundp 'subst-char-in-string))
+     (defun subst-char-in-string (fromchar tochar string &optional inplace)
+       "Replace FROMCHAR with TOCHAR in STRING each time it occurs.
 Unless optional argument INPLACE is non-nil, return a new string."
-    (let ((i (length string))
-	  (newstr (if inplace string (copy-sequence string))))
-      (while (> i 0)
-	(setq i (1- i))
-	(if (eq (aref newstr i) fromchar)
-	    (aset newstr i tochar)))
-      newstr)))
+       (let ((i (length string))
+	     (newstr (if inplace string (copy-sequence string))))
+	 (while (> i 0)
+	   (setq i (1- i))
+	   (if (eq (aref newstr i) fromchar)
+	       (aset newstr i tochar)))
+	 newstr)))
 
 (defsubst eshell-copy-environment ()
   "Return an unrelated copy of `process-environment'."
@@ -586,8 +587,9 @@
 	  (substring string 0 sublen)
 	string)))
 
-(unless (fboundp 'directory-files-and-attributes)
-  (defun directory-files-and-attributes (directory &optional full match nosort id-format)
+(and (featurep 'xemacs)
+     (not (fboundp 'directory-files-and-attributes))
+     (defun directory-files-and-attributes (directory &optional full match nosort id-format)
     "Return a list of names of files and their attributes in DIRECTORY.
 There are three optional arguments:
 If FULL is non-nil, return absolute file names.  Otherwise return names
@@ -599,7 +601,7 @@
       (mapcar
        (function
 	(lambda (file)
-         (cons file (eshell-file-attributes (expand-file-name file directory)))))
+	  (cons file (eshell-file-attributes (expand-file-name file directory)))))
        (directory-files directory full match nosort)))))
 
 (defvar ange-cache)