[BUG][FIX] FileDirectory (on Windows)
Stephen Pair
spair at acm.org
Wed Dec 4 17:35:38 UTC 2002
Looks like update 5114 may be part of the problem (it adds a check to
see if the zero-th entry is a directory...it is assuming that this will
always be the "." entry). I think the real problem is in the platform
specific code of the primitive (FilePlugin>>primitiveDirectoryLookup).
I don't get a "." entry for "c:" or "c:\"...matter of fact, I don't
think I get any directory entries (only actual files). The old code
probably just happened to work because it didn't care whether the entry
was a directory or not. Actually, checking that it is a directory
probably isn't the right thing to do (perhaps not all platforms will
answer the "." entry for the first item in a directory).
Now, I'm a bit surprised to see that your 5109 image gets infinite
recursion "(FileDirectory on: 'c:\ned') assureExistence" ...can you
check into why you're getting that result? I'd be a bit surprised that
"(FileDirectory on: 'c:') exists" is answering false in a pre-5114
image. Is something else causing the infinite recursion in that image?
- Stephen
> -----Original Message-----
> From: squeak-dev-admin at lists.squeakfoundation.org
> [mailto:squeak-dev-admin at lists.squeakfoundation.org] On
> Behalf Of Ned Konz
> Sent: Wednesday, December 04, 2002 12:11 PM
> To: squeak-dev at lists.squeakfoundation.org
> Subject: Re: [BUG][FIX] FileDirectory (on Windows)
>
>
> On Wednesday 04 December 2002 08:34 am, Ned Konz wrote:
> > On Wednesday 04 December 2002 07:47 am, Stephen Pair wrote:
> > > Recently, I've encountered a serious bug on Windows. I've just
> > > starting running squeak out of c:\squeak, and I found
> that trying to
> > > install SqueakMap packages would occasionally cause things to go
> > > into an infinite recursion. Upon further inspection, I
> discovered
> > > that it was happening on
> > > FileDirectory>>assureExistence...to recreate, you can do the
> > > following:
> > >
> > > (FileDirectory on: 'c:\squeak') assureExistence
> >
> > Oddly enough, on my Win2K system, the following answer true before
> > applying your fix:
> >
> > (FileDirectory on: 'c:\ned') exists
> > (FileDirectory on: 'c:\') exists
> >
> > Though I get infinite recursion on
> > (FileDirectory on: 'c:\ned') assureExistence
>
> That was on a 3.4a-5109 system.
>
> Updating to the current version of 3.4b causes these to
> return false: (FileDirectory on: 'c:\') exists (FileDirectory
> on: 'c:') exists
>
> --
> Ned Konz
> http://bike-nomad.com
> GPG key ID: BEEA7EFE
>
>
>
More information about the Squeak-dev
mailing list
|