[Cuis] OSProcess status

Germán Arduino garduino at gmail.com
Tue Dec 17 05:55:01 CST 2013


Hi David:

Sorry by the delay but was a busy monday yesterday....


2013/12/16 David T. Lewis <lewis at mail.msen.com>

>
> Hi,
>
> I have updated OSProcess with some fixes for Cuis. This is not complete,
> but it provides a working version that passes most tests when running on
> an interpreter VM (not Cog). I have been working with fileouts from Squeak
>

mmm, I'm having a crash trying to use Cuis 1880 with Squeak 4.1.1 VM


> and I am not sure how to load an mcz file into Cuis, but if anyone would
> like to try it, the updated version of OSProcess is here:
>
>   http://www.squeaksource.com/OSProcess/OSProcess-dtl.87.mcz
>
>
I usually extract the sources.st from the .mcz, but don't worry I will do
it and will prepare a .pck.st. Then you can create a GitHub account and a
repo for OSProcess for Cuis.



> Before loading this, there are some changes that I made to my Cuis image
> first. Here is what I did:
>
> - Create the class Model as subclass of Object. This can just an empty
> class,
> but the classes OSProcessAccessor, AIOEventHandler, and
> PseudoAioEventHandler
> are subclassed from Model in Squeak. Or, if you prefer not to have a stub
> Model class, you can load OSProcess, then fix the class definitions for
> OSProcessAccessor, AIOEventHandler, and PseudoAioEventHandler to be
> subclasses
> of Object (otherwise they end up under ProtoObject, which does not work).
>
>
In Cuis we have ActiveModel, to bind models and UIs, an approach designed
by Juan and inspired in Visual Smalltalk. May be we should use ActiveModel
or you prefer Object?



> - Implement these methods from Squeak:
>     Object>>changed             (OSProcess uses changed / update mechanism
> throughout)
>     Object>>ifNotNilDo:         (older versions of Squeak do not handle
> ifNotNil: the same)
>     Character class>>cr         (compatibility, used in many places in
> OSProcess)
>     Character class>>lf         (compatibility, used in many places in
> OSProcess)
>     StandardFileStream>>fileID  (accessor needed by AttachableFileStream)
>
> With those methods added, OSProcess can be loaded in Cuis, and most tests
> will pass.
>
>
Character #cr and #lf are already in Cuis, the other modifications I will
evaluate if are better to include in the Compatibility Layer or as part of
the OSProcess package for Cuis (*osprocess categories).



> There is no class Socket in Cuis, so tests for socket operations will fail,
> and there will be some undeclared references to Socket.
>
>
Yes, Socket is part of the Network Kernel package, not loaded by default in
the stock Cuis image.


> The line ending conventions are different in Cuis and Squeak (cr versus lf)
> so the code that I loaded looks ugly in the browser. I am not sure how to
> fix this (probably I am just loading the files in the wrong way), but the
> code works so I am not too worried about this right now.
>
>
Yes, the way is (previous to load the code, for example in the FileList):

1. Cmd-a Select all
2. Cmd-U Convert line endings to LF characters (Cuis convention) in
selection
3. Cmd-s Save

and then load the code.



> It's a start :)
>
>
Sure, I will do something as soon as have a bit of free time....as produce
the .pck.st package to avoid you such task. And also the installation with
prereq, to install OSProcess with only a command :)



> Dave
>
>
> Germán.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://jvuletich.org/pipermail/cuis_jvuletich.org/attachments/20131217/de347201/attachment-0004.html>


More information about the Cuis mailing list