Re: inconsistent pathnames
Marco Antoniotti <[email protected]>
| Newsgroups | gmane.lisp.cmucl.general |
|---|---|
| Message-ID | <[email protected]> |
http://common-lisp.net/project/names-and-paths anyone? (The hosting machine is currently down due to a move to a different location in Milan. it will be up next week) Cheers Marco On Sep 6, 2007, at 10:09 AM, Walter C. Pelissero wrote: > Raymond Toy (RT/EUS) writes: >>>> I also now see there are a whole bunch of issues, like how should >>>> "..a" be parsed? Is it name = "..a", type = nil, or name = ".", >>>> type >>>> "a", or something else? My head hurts. >>> >>> I suppose anything goes as long as you are consistent. After all >>> the >>> concept of file type in the pathname is alien to the Unix >>> filesystem. >>> Though, I can immagine, different behaviours from different Lisp >>> implementations may cause portability issues. >> >> Converting strings to pathnames has never been portable. If you want >> portability, you need to use make-pathname directly. > > Well, there are situation where you can't use MAKE-PATHNAME yourself. > DIRECTORY, for instance, will use it for you. That BTW was the source > of my problems. Knowing in advance what goes in type and what goes in > name, I believe, does simplify writing portable code. > >>>> WP> that Unix allows things like "cat .", maybe SBCL's >>>> approach is the >>>> >>>> On Solaris, Mac OS X, and Linux: >>>> >>>> $ /bin/cat . >>>> cat: input error on .: Is a directory >>> >>> Are you working on a NFS filesystem? That's not the behaviour of a >>> Posix open(). >> >> Actually, on Solaris it was an NFS system. But for Mac OS X, and >> Linux, >> it was not. But on Solaris cat /bin dumps out the directory. > > A friend confirmed that although Linux cat complains when fed with a > directory, the behaviour of its open(2) is in line with Posix. That > is, it will happily open a directory. > > Funny enough, I'm running FreeBSD from which Mac OS X should descend. > > -- > walter pelissero > http://www.pelissero.de > -- Marco Antoniotti, Associate Professor DISCo, Università Milano Bicocca Via Bicocca degli Arcimboldi 8, U7, 4 piano I-20126 Milan (MI) ITALY Please note that I am not checking my Spam-box anymore.