[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiom-developer] RE: Cannot Rename The File Erlib To NRLIB
From: |
Page, Bill |
Subject: |
[Axiom-developer] RE: Cannot Rename The File Erlib To NRLIB |
Date: |
Wed, 6 Sep 2006 14:04:50 -0400 |
Camm,
On Wednesday, September 06, 2006 1:50 PM you wrote:
>
> Bill Page writes:
> ...
> > >
> > > In src/interp/nlib.lisp.pamphlet:
> > >
> > > ----------
> > >
> > > ;; ($ERASE filearg) -> 0 if succeeds else 1
> > > (defun $erase (&rest filearg)
> > > (setq filearg (make-full-namestring filearg))
> > > - (if (probe-file filearg)
> > > + (if (directory (truename filearg))
> > > #+:CCL (delete-file filearg)
> > > #+:AKCL
> > > (if (library-file filearg)
> > > (delete-directory filearg)
> > > (delete-file filearg))
> > > 1))
> > >
> > > ----------
> > >
> > ...
> > However I remain a little uncertain if 'directory' is really
> > the proper way to check for the existence of a file or
> > directory in common lisp?
> >
>
> 1) I think you want (null (pathname-name (truename filearg)))
>
> 2) or (and (directory filearg) (not (probe-file filearg)))
>
Sorry, I still feel a little "dense" about this. Could you take
a minute to translate these two expressions for me? I want
(if (... filearg)
)
to be true if filearg is either a file *or* a directory.
I suspect that 2) requires that it be a directory and not a file
since 'probe-file' is now interpreted as specifically as testing
for a *file*. So maybe that one is not right?
I am also worried about the "wild-card" properties of 'directory'
which is not something I really want.
But I don't know the semantics of 1) at all, and having
consulted the lisp docs as deeply as possible, I am still
not sure. What exactly does expression 1) do on GCL?
Regards,
Bill Page.