Hi all,

On Fri, Jan 4, 2019 at 12:26 AM Martin McClure <[email protected]>
wrote:

> Hi Reg,
>
> It looks to me like the lazy opening functionality is unused in Pharo 7,
> and is not reachable when using the  documented "new" API.


And I think it never was... or I least I don't remember it being used.
Actually the only way to get a file handle is on an (in theory) already
open file.
See for example that the only place where file handles are instantiated are
in

open: aResolvable writable: aBoolean
"Resolve aResolvable into an absolute path, then ask the store to open the
file at
that path using the specified access mode."
| path |
path := self resolve: aResolvable.
^ store handleClass
open: (FileReference fileSystem: self path: path)
writable: aBoolean


> (Somewhat
> oddly, one of the more complete documentations of what's recommended
> seems to be the class comment of the deprecated class FileStream.)
>

Well, this thing grew a bit organically. I bet Pavel put that comment there
:)


>
> Lazy opening is rather odd conceptually, and doesn't seem to meet the
> principle of least surprise, so I'd think deprecating it would be
> reasonable.
>

Agreed.
Personally I think FileHandle needs some cleanup, to me it looks strange
that it acquires a vm file handle, and then it operates on it through
primitives, when the File class already does that properly.


> Regards,
>
> -Martin
>
> On 1/2/19 9:15 AM, Reg Krock wrote:
> > Guille,
> >
> > In FileHandle there is a concept of a lazy file opening in
> >
> >       FileHandle>>#at:read:startingAt:count
> >       FileHandle>>#at:write:startingAt:count
> >
> > where the method FileHandle>>#assureOpen is called.
> >
> > Based on out previous conversations I believe that this concept is to be
> deprecated.
> >
> > Can you please confirm.
> >
> > Regards,
> >
> > Reg
>
>
>

-- 



Guille Polito

Research Engineer

Centre de Recherche en Informatique, Signal et Automatique de Lille

CRIStAL - UMR 9189

French National Center for Scientific Research - *http://www.cnrs.fr
<http://www.cnrs.fr>*


*Web:* *http://guillep.github.io* <http://guillep.github.io>

*Phone: *+33 06 52 70 66 13

Reply via email to