Minor esh-util changes.
authorGlenn Morris <rgm@gnu.org>
Sun, 7 Nov 2010 01:56:09 +0000 (18:56 -0700)
committerGlenn Morris <rgm@gnu.org>
Sun, 7 Nov 2010 01:56:09 +0000 (18:56 -0700)
* 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.

lisp/ChangeLog
lisp/eshell/esh-util.el

index 66d402a..0d1e07f 100644 (file)
@@ -1,5 +1,9 @@
 2010-11-07  Glenn Morris  <rgm@gnu.org>
 
+       * 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.
+
        * progmodes/verilog-mode.el (verilog-get-beg-of-line)
        (verilog-get-end-of-line): Remove.
        (verilog-within-string, verilog-re-search-forward-substr)
index 01699d8..17db2f7 100644 (file)
@@ -536,17 +536,18 @@ list."
       (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 @@ Unless optional argument INPLACE is non-nil, return a new string."
          (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 @@ If NOSORT is non-nil, the list is not sorted--its order is unpredictable.
       (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)