[Openmcl-devel] logical pathnames not working with alias
Gary Byers
gb at clozure.com
Thu Nov 13 18:12:56 PST 2008
I'm sure that it's come up more often than this, but the only discussion
of this that I could find in this mailing list's archives was from a
little over 6 years ago:
<http://clozure.com/mailman/htdig/openmcl-devel/2002-August/004354.html>
As far as I know, nothing substantial has changed since then: at the
BSD/Posix layer (where most of CCL's filesystem code has to work), there's
no such thing as a (legacy MacOS) filesystem alias, though there are
Unix-style hard and soft/symbolic links.
I was going to say that higher-level things like Cocoa still know how
to deal with aliases, but:
<http://developer.apple.com/documentation/Cocoa/Conceptual/LowLevelFileMgmt/Tasks/ResolvingAliases.html>
seems to be current and suggests otherwise. (NSOpenPanel and NSSavePanel
have had the ability to resolve aliases for you since 10.1; apparently,
filesystem functions haven't ever done so, and it's necessary to use
techniques like those described in that article in order to actually
resolve an alias.
I'm probably not a typical Mac user, but if someone had told me that
alias support had been removed from OSX a few releases ago or planned
to do so in the next relase, I wouldn't have been shocked. The Finder
still offers some level of support for aliases; large parts of OSX
never have. I'd assume that Apple will eventually reconcile this
disparity, and if I had to bet I'd bet on that being done by dropping
the partial support for aliases that still exists. (If they were to
reconcile it the other way - by supporting aliases at the BSD layer -
fine, but I'd imagine that the motivation for doing that wouldn't be
very high.)
There are some differences between aliases and links, but there are
a lot of similarities.
On Thu, 13 Nov 2008, Alexander Repenning wrote:
> Say if I make an alias of a folder called "sources" and put that into the
> Clozure CL application folder and try to access a file via logical pathname
> notation
>
> (truename "ccl:sources;sample-file.lisp")
>
> I am getting Error: File "ccl:sources; sample-file.lisp" does not exist
>
> whereas the same works if sources is a regular, i.e., not an alias, folder
>
> This does not work either with the alias when using unix path notation:
>
> (truename "/Applications/Clozure CL 1.2/sources/sample-file.lisp")
>
> but again does work if sources is a real folder.
>
> Does this mean that aliased folders cannot be used for some reason or is
> there some flag that needs to be set?
>
> Alex
>
>
>
> Prof. Alexander Repenning
>
> University of Colorado
> Computer Science Department
> Boulder, CO 80309-430
>
> vCard: http://www.cs.colorado.edu/~ralex/AlexanderRepenning.vcf
>
>
More information about the Openmcl-devel
mailing list