Subject: [clisp-list] make-pathname; directory components

From: "John Wiseman" <[email-masked]>
Date: Mon Oct 1 10:04:02 2001

I noticed a couple things that do not seem to work with clisp's
make-pathname that I believe should work, based on
http://www.xanalys.com/software_tools/reference/HyperSpec/Body/sec_19-2-2-4-
3.html.

String as a directory component:

  [19]> (make-pathname :directory "DPMA")

  *** - MAKE-PATHNAME: illegal :DIRECTORY argument "DPMA"

More specifically, the standard says
(http://www.xanalys.com/software_tools/reference/HyperSpec/Body/fun_make-pat
hname.html)
"If the directory is a string, it should be the name of a top level
directory, and should not contain any punctuation characters; that is,
specifying a string, str, is equivalent to specifying the list
(:absolute str)."

:up in a directory component:

  [21]> (make-pathname :directory '(:relative "DPMA" :up "DPMA"))

  *** - MAKE-PATHNAME: illegal :DIRECTORY argument (:RELATIVE "DPMA" :UP
"DPMA")

(I guess this one isn't required to work by the standard, but it would
sure be nice.)

Thanks,
John Wiseman

---

From: Sam Steingold <[email-masked]>
Date: Mon Oct 1 13:46:20 2001

> * In message <[email-masked]>
> * On the subject of "[clisp-list] make-pathname; directory components"
> * Sent on Mon, 1 Oct 2001 12:03:01 -0500
> * Honorable "John Wiseman" <[email-masked]> writes:
>

fixed, thanks for the report.

> (I guess this one isn't required to work by the standard, but it would

why?  how is :up better than ".."?

-- 
Sam Steingold (http://www.podval.org/~sds)
Support Israel's right to defend herself! <http://www.i-charity.com/go/israel>
Read what the Arab leaders say to their people on <http://www.memri.org/>
The world will end in 5 minutes.  Please log out.

---

From: "John Wiseman" <[email-masked]>
Date: Mon Oct 1 13:59:13 2001

> why?  how is :up better than ".."?

Well, the standard does explicitly mention the use of the :WILD,
:WILD-INFERIORS, :UP, and :BACK "special markers" inside directory
components, and what each symbol means.  If you're going to support
the functionality, which does seem useful, I think it's best to go
with the standard way of implementing it.

When I said that the standard didn't require these to work, I was
referring to the part that says

  Supplying any non-string, including any of the symbols listed below,
  to a file system for which it does not make sense signals an error
  of type file-error. For example, Unix does not support
  :wild-inferiors in most implementations.

And ".." at least could be a problem in a filesystem that allows files
to be named ".." (like the Macintosh?  I know MCL understands :UP but
I don't remember its namestrings ever containing "..").

John Wiseman

---

From: Sam Steingold <[email-masked]>
Date: Mon Oct 1 14:05:14 2001

> * In message <[email-masked]>
> * On the subject of "RE: [clisp-list] make-pathname; directory components"
> * Sent on Mon, 1 Oct 2001 15:58:22 -0500
> components, and what each symbol means.

which page?  I cannot find :up and :back.

-- 
Sam Steingold (http://www.podval.org/~sds)
Support Israel's right to defend herself! <http://www.i-charity.com/go/israel>
Read what the Arab leaders say to their people on <http://www.memri.org/>
If Perl is the solution, you're solving the wrong problem. - Erik Naggum

---

From: Sam Steingold <[email-masked]>
Date: Mon Oct 1 14:08:03 2001

> components, and what each symbol means.

I see - in 19.2.2.4.3.
okay, I will do this.

-- 
Sam Steingold (http://www.podval.org/~sds)
Support Israel's right to defend herself! <http://www.i-charity.com/go/israel>
Read what the Arab leaders say to their people on <http://www.memri.org/>
Only a fool has no doubts.