[self-interest] oz patch

Jecel Assumpcao Jr jecel at merlintec.com
Fri Nov 12 00:26:42 UTC 1999


Mario Wolczko wrote:
> All the stuff in  the CACM article is in 4.0, methinks, including
> turning off stepping for morphs whose step method is broken.

True. I finally drummed up some courage and took a look at this
part of the code. I can't say I followed it fully as it is one of
the most twisted pieces of code I ever saw (the most was the Unix
kernel). Wouldn't all this be much simpler if Self had proper
exception handling? You know, like

  ...  [ ... m drawOn: .... ] tryIfFail: [ ... 'world is broken!'...]

> The proxy idea is neat.

I tried something more in the style of what is there already:

   http://www.lsi.usp.br/~jecel/release/patches/ozPatch.self

If you file this in, it will break the UI on the spot, so you
have to do this first:

   desktop worlds first _AddSlots: ( | current | )

That is, supposing you have only one world open. This is obviously
*very* quick and dirty, but if you break a morph it is removed
from the world and a notifier comes up - clicking on its button
gets you an outliner for the morph. The notifier is actually a bit
redundant as you also get a debugger showing what went wrong
and you could easily fetch the outliner from there.

Anyway, the whole point is to be able to continue in the same
world after the most common morphic boo boos. And that is nicer
than getting dumped in a new windows (specially if other people
are in the same world with you), isn't it?

-- Jecel



More information about the Self-interest mailing list