Mercurial > emacs
changeset 102678:985635bb2d2c
(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.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Sat, 21 Mar 2009 14:01:53 +0000 |
parents | d2c2e1206e31 |
children | eed7a048bd37 |
files | lisp/eshell/em-ls.el |
diffstat | 1 files changed, 14 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/eshell/em-ls.el Sat Mar 21 14:00:26 2009 +0000 +++ b/lisp/eshell/em-ls.el Sat Mar 21 14:01:53 2009 +0000 @@ -361,7 +361,7 @@ "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 @@ (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 @@ (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)))