[squeak-dev] I've reached my limits

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Fri Apr 16 22:12:05 UTC 2021


I often recommend using the debugger in order to acquire a better
understanding of code.
A priori, I think that no bug can resist a thorough analysis/best efforts.

A posteriori, it seems that I've reached my limits with the debugging
of test03EventHandler.
If you find where the blue button down event is filtered/catched
without prior knowledge of Morphic event handling, by just stepping,
then either you are lucky, or your analytical capabilities are
tremendous (you can probably focus on 77 symbols simultaneously rather
than the average of 7)!
For me, that's not the right angle of attack!

All I acquired is an increased reluctance to start a deeper learning
of Morphic, more questioning about whether I'm becoming too old, and
the conviction that things are maybe getting too complex (more than
strictly necessary?).

Look at the full stack (which BTW is not the full stack -- and more
not shown --).

I let the test03EventHandler fix to people with prior knowledge, not
only because I was distracted by debugger bugs...

Nicolas

--- The full stack ---
MorphicEventTests(Object)>>halt
[] in MorphicEventTests>>test03EventHandler
EventHandler>>send:to:withEvent:fromMorph:
EventHandler>>mouseDown:fromMorph:
Morph>>mouseDown:
Morph>>handleMouseDown:
MouseButtonEvent>>sentTo:
Morph>>handleEvent:
MorphicEventDispatcher>>dispatchEvent:withHandler:withMorph:
[] in MorphicEventDispatcher>>dispatchMouseDown:with:
FullBlockClosure(BlockClosure)>>ensure:
MorphicEventDispatcher>>dispatchMouseDown:with:
MorphicEventDispatcher>>dispatchEvent:with:
Morph>>processEvent:using:
Morph>>processEvent:
[] in MorphicEventDispatcher>>dispatchEvent:toSubmorphsOf:
Array(SequenceableCollection)>>do:
PasteUpMorph(Morph)>>submorphsDo:
MorphicEventDispatcher>>dispatchEvent:toSubmorphsOf:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MorphicEventDispatcher>>dispatchEvent:withHandler:withMorph:
[] in MorphicEventDispatcher>>dispatchMouseDown:with:
FullBlockClosure(BlockClosure)>>ensure:
MorphicEventDispatcher>>dispatchMouseDown:with:
MorphicEventDispatcher>>dispatchEvent:with:
PasteUpMorph(Morph)>>processEvent:using:
[] in PasteUpMorph>>processEvent:using:
[] in ActiveWorldVariable class(DynamicVariable class)>>value:during:
FullBlockClosure(BlockClosure)>>ensure:
ActiveWorldVariable class(DynamicVariable class)>>value:during:
[] in ActiveWorldVariable class>>value:during:
FullBlockClosure(BlockClosure)>>ensure:
ActiveWorldVariable class>>value:during:
PasteUpMorph>>becomeActiveDuring:
PasteUpMorph>>processEvent:using:
PasteUpMorph(Morph)>>processEvent:
HaloMorph(SimpleHaloMorph)>>mouseDown:
HaloMorph>>mouseDown:
HaloMorph(Morph)>>handleMouseDown:
MouseButtonEvent>>sentTo:
HaloMorph(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchEvent:withHandler:withMorph:
[] in MorphicEventDispatcher>>dispatchMouseDown:with:
FullBlockClosure(BlockClosure)>>ensure:
MorphicEventDispatcher>>dispatchMouseDown:with:
MorphicEventDispatcher>>dispatchEvent:with:
HaloMorph(Morph)>>processEvent:using:
MorphicEventDispatcher>>doProcessingForFocusEvent:with:
MorphicEventDispatcher>>dispatchFocusEventFully:with:
MorphicEventDispatcher>>dispatchFocusEventAllOver:with:
HaloMorph(SimpleHaloMorph)>>processFocusEvent:using:
HaloMorph(Morph)>>processFocusEvent:
[] in [] in [] in HandMorphForEventTests(HandMorph)>>sendFocusEvent:to:clear:
[] in ActiveEventVariable class(DynamicVariable class)>>value:during:
FullBlockClosure(BlockClosure)>>ensure:
ActiveEventVariable class(DynamicVariable class)>>value:during:
[] in ActiveEventVariable class>>value:during:
FullBlockClosure(BlockClosure)>>ensure:
ActiveEventVariable class>>value:during:
MouseButtonEvent(MorphicEvent)>>becomeActiveDuring:
[] in [] in HandMorphForEventTests(HandMorph)>>sendFocusEvent:to:clear:
[] in ActiveHandVariable class(DynamicVariable class)>>value:during:
-- and more not shown --


More information about the Squeak-dev mailing list