aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/eshell/em-ls.el
diff options
context:
space:
mode:
authorEli Zaretskii <[email protected]>2009-03-21 14:03:06 +0000
committerEli Zaretskii <[email protected]>2009-03-21 14:03:06 +0000
commitce343c43c835b98abe2b4f43b8ebbab624b9dcb3 (patch)
tree1d46d659e0451402aee141f807a10ddafb89197e /lisp/eshell/em-ls.el
parent8e9b25831feecd9b0732a5c10f6b1ad56d6b5d4e (diff)
(eshell-ls-dir): Call eshell-directory-files-and-attributes with additional
argument 'integer or 'string, according to numeric-uid-gid. (eshell-ls-file): Don't convert UID and GID to strings, as eshell-ls-dir already did. Enlarge max user-name string length to 14 characters. (eshell-do-ls): Fix the long name of the -L option. (eshell-ls-file): Enlarge default size-width to 8. (eshell-ls-dir): Under -l, call eshell-ls-printable-size with last argument nil.
Diffstat (limited to 'lisp/eshell/em-ls.el')
-rw-r--r--lisp/eshell/em-ls.el29
1 files changed, 14 insertions, 15 deletions
diff --git a/lisp/eshell/em-ls.el b/lisp/eshell/em-ls.el
index ddf3352541..e346806679 100644
--- a/lisp/eshell/em-ls.el
+++ b/lisp/eshell/em-ls.el
@@ -361,7 +361,7 @@ instead."
"list entries by lines instead of by columns")
(?C nil by-columns listing-style
"list entries by columns")
- (?L "deference" nil dereference-links
+ (?L "dereference" nil dereference-links
"list entries pointed to by symbolic links")
(?R "recursive" nil show-recursive
"list subdirectories recursively")
@@ -483,25 +483,19 @@ whose cdr is the list of file attributes."
(if show-size
(concat (eshell-ls-size-string attrs size-width) " "))
(format
- "%s%4d %-8s %-8s "
+ (if numeric-uid-gid
+ "%s%4d %-8s %-8s "
+ "%s%4d %-14s %-8s ")
(or (nth 8 attrs) "??????????")
(or (nth 1 attrs) 0)
(or (let ((user (nth 2 attrs)))
- (and (not numeric-uid-gid)
- user
- (eshell-substring
- (if (numberp user)
- (user-login-name user)
- user) 8)))
+ (and (stringp user)
+ (eshell-substring user 14)))
(nth 2 attrs)
"")
(or (let ((group (nth 3 attrs)))
- (and (not numeric-uid-gid)
- group
- (eshell-substring
- (if (numberp group)
- (eshell-group-name group)
- group) 8)))
+ (and (stringp group)
+ (eshell-substring group 8)))
(nth 3 attrs)
""))
(let* ((str (eshell-ls-printable-size (nth 7 attrs)))
@@ -547,7 +541,12 @@ relative to that directory."
(let ((entries (eshell-directory-files-and-attributes
dir nil (and (not show-all)
eshell-ls-exclude-hidden
- "\\`[^.]") t)))
+ "\\`[^.]") t
+ ;; Asking for UID and GID as
+ ;; strings saves another syscall
+ ;; later when we are going to
+ ;; display user and group names.
+ (if numeric-uid-gid 'integer 'string))))
(when (and (not show-all) eshell-ls-exclude-regexp)
(while (and entries (string-match eshell-ls-exclude-regexp
(caar entries)))