[V3dot10] Proposed SringSocket repair (fm Experimental 3.10 image without Etoys thread)

Jerome Peace peace_the_dreamer at yahoo.com
Thu Apr 26 22:34:39 UTC 2007


Experimental 3.10 image without Etoys


Hi Edgar, Hi Damien

>  The line could be commented out for no Undefined.
>  CanvasEncoder is for Nebraska use

Tell me what is worng with my thinking.

This seems to be the wrong repair.  It will give you a
method that passes the test. But it also becomes an
overide for the same method which must be present when
the stuff you left out is loaded back in.  By just
worring about what is left IN the image you are
breaking what is left OUT of the image and causing
incompatabilities for those down the line.

First fix both packages while they are still in the
image. (I.E. refactor to remove the dependency but put
something in its place s.t. the package you are about
to remove still works and all tests pass.

Then you can safely unload a piece without leaving
future loose ends.  In otherwords deal with the whole
then deal with the parts.

The idea of packages is to make loadable and
unloadable pieces. The problem with unloaded packages
is that repairs to loaded packages affect them too.

Its what Christopher Alexander refers to as deep
interlock amoung centers.

Does this make sense to you or has my inexperience wth
what you are doing lead me astray?


	Yours in curiosity and service --Jerome Peace


***
>  
>  [V3dot10] Experimental 3.10 image without Etoys
>  Edgar J. De Cleene edgardec2001 at yahoo.com.ar 
>  Thu Apr 26 17:30:46 UTC 2007 
>  
>  El 4/26/07 12:04 PM, "Damien Cassou" <damien.cassou
at
>  gmail.com> escribió:
>  
>  > StringSocket depends on CanvasEncoder which is
not in
>  the image.
>  The only place is :
>  addToOutBuf: arrayToWrite
>  
>      | size newAlloc |
>      size := self spaceToEncode: arrayToWrite.
>      newAlloc := size * 2 max: 8000.    "gives us
room
>  to grow"
>      outBuf ifNil: [
>          outBuf := String new: newAlloc.
>          outBufIndex := 1.
>      ].
>      outBuf size - outBufIndex + 1 < size ifTrue: [
>          outBuf := outBuf , (String new: newAlloc).
>      ].
>      CanvasEncoder at: 1 count: arrayToWrite size +
1.
>      outBuf putInteger32: arrayToWrite size at:
>  outBufIndex.
>      outBufIndex := outBufIndex + 4.
>      arrayToWrite do: [ :each |
>          outBuf putInteger32: each size at:
outBufIndex.
>          outBufIndex := outBufIndex + 4.
>          outBuf 
>              replaceFrom: outBufIndex
>              to: outBufIndex + each size - 1
>              with: each
>              startingAt: 1.
>          outBufIndex := outBufIndex + each size.
>      ].
>      ^size
>  
>  The line could be commented out for no Undefined.
>  CanvasEncoder is for Nebraska use
>  
>  Edgar
>  
***


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


More information about the V3dot10 mailing list