summaryrefslogtreecommitdiff
path: root/lisp/eshell
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2010-02-07 01:23:10 -0500
committerChong Yidong <cyd@stupidchicken.com>2010-02-07 01:23:10 -0500
commita4cc44cf0efd240bdcd2ac9013ea0f20067ccd94 (patch)
tree4053b7bfd5b3c5068964e50a9cc3bd3ab2993b4f /lisp/eshell
parentc917476d6b5069d8c81675bf7f661ee3ebceb84d (diff)
downloademacs-a4cc44cf0efd240bdcd2ac9013ea0f20067ccd94.tar.gz
Fix to uid/gid format in eshell's ls (Bug#5528).
* eshell/esh-util.el (eshell-file-attributes): New optional arg ID-FORMAT. Pass it to `file-attributes'. * eshell/em-ls.el (eshell-do-ls): Use it (Bug#5528).
Diffstat (limited to 'lisp/eshell')
-rw-r--r--lisp/eshell/em-ls.el16
-rw-r--r--lisp/eshell/esh-util.el9
2 files changed, 14 insertions, 11 deletions
diff --git a/lisp/eshell/em-ls.el b/lisp/eshell/em-ls.el
index 094f3ad9bb3..9b008cebf1a 100644
--- a/lisp/eshell/em-ls.el
+++ b/lisp/eshell/em-ls.el
@@ -393,13 +393,13 @@ Sort entries alphabetically across.")
(eshell-glob-regexp ignore-pattern))))
;; list the files!
(eshell-ls-entries
- (mapcar (function
- (lambda (arg)
- (cons (if (and (eshell-under-windows-p)
- (file-name-absolute-p arg))
- (expand-file-name arg)
- arg)
- (eshell-file-attributes arg))))
+ (mapcar (lambda (arg)
+ (cons (if (and (eshell-under-windows-p)
+ (file-name-absolute-p arg))
+ (expand-file-name arg)
+ arg)
+ (eshell-file-attributes
+ arg (if numeric-uid-gid 'integer 'string))))
args)
t (expand-file-name default-directory)))
(funcall flush-func)))
@@ -710,7 +710,7 @@ Each member of FILES is either a string or a cons cell of the form
(funcall insert-func need-return "\n"))))))
(defun eshell-ls-entries (entries &optional separate root-dir)
- "Output PATH's directory ENTRIES, formatted according to OPTIONS.
+ "Output PATH's directory ENTRIES.
Each member of ENTRIES may either be a string or a cons cell, the car
of which is the file name, and the cdr of which is the list of
attributes.
diff --git a/lisp/eshell/esh-util.el b/lisp/eshell/esh-util.el
index 7c21e2e3302..1a4c5e1021b 100644
--- a/lisp/eshell/esh-util.el
+++ b/lisp/eshell/esh-util.el
@@ -701,8 +701,11 @@ If NOSORT is non-nil, the list is not sorted--its order is unpredictable.
(forward-line)))
entry))
-(defun eshell-file-attributes (file)
- "Return the attributes of FILE, playing tricks if it's over ange-ftp."
+(defun eshell-file-attributes (file &optional id-format)
+ "Return the attributes of FILE, playing tricks if it's over ange-ftp.
+The optional argument ID-FORMAT specifies the preferred uid and
+gid format. Valid values are 'string and 'integer, defaulting to
+'integer. See `file-attributes'."
(let* ((file (expand-file-name file))
entry)
(if (string-equal (file-remote-p file 'method) "ftp")
@@ -723,7 +726,7 @@ If NOSORT is non-nil, the list is not sorted--its order is unpredictable.
(setq entry (cdr fentry))
(setq entry nil)))))
entry)
- (file-attributes file))))
+ (file-attributes file id-format))))
(defalias 'eshell-copy-tree 'copy-tree)