[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Displaying Unix file information in DIRED
Date: Sat, 21 Jul 90 12:56 PDT
From: Reti@STONY-BROOK.SCRC.Symbolics.COM (Kalman Reti)
Date: Fri, 20 Jul 90 21:07 PDT
From: snicoud@atc.boeing.com (Stephen L. Nicoud)
Is there a way to modify Zmacs' DIRED so that it displays the
protections,
This is easy, since FS:DIRECTORY-LIST already returns a :PROTECTION
field (at least for FTP, I don't have an NFS host to try it on).
Why don't you have an NFS host to try it on? There must be at least one
UX400S there at Symbolics.
All
that is necessary is to modify the file lister to print it (code example
provided below). Any other information that is returned in the property
list is similarly a snap to add (I have a private patch that returns the
LMFS partition id, for example).
group ownership
This is currently not returned by FS:DIRECTORY-LIST (via FTP, again I
can't test NFS). This is because we don't parse it in the FTP response
to a LIST command; I've been told that there is a great variability in
what comes back from various hosts' FTP servers since the format is
intended to be viewed by humans instead of programs. The comments in the
source code for the Unix directory list parser indicate
that the group field is only present sometimes, but assuming you deal only
with hosts that provide it, I've also included the trivial change below.
The most common Unix FTP server will only include the group name if the
LIST command is invoked with the "-g" option (it simply passes the LIST
argument as arguments to the Unix "ls" command). I believe the 8.1 Unix
FTP client includes my changes to directory listing that supports
passing options.
It took a total of about 5 minutes to find which functions to modify on
my machine, and probably another 5-10 minutes to modify them and test
them.
Then how come you did it the way you did? As you must have noticed in
your investigation, the directory list formatter is called through the
variable ZWEI:*DIRECTORY-SINGLE-FILE-LISTER*, so instead of modifying a
function you should write a new function (which could be a modified
version of the original function) and set the variable to this. My
general rule is: only modify a function as a last resort. In this case
there's a hook variable, and frequently you can accomplish what you want
by using SI:ADVISE-PERMANENTLY.
;; Group
(add-property :group (pop tokens))
Symbolics NFS calls this property :ACCOUNT, not :GROUP, presumably for
consistency with the TOPS-20 support.
I sent my version of the patch that does to this to Stephen under
separate cover (since it includes modified Symbolics code, and I don't
have the right to publish that to SLUG).
barmar