[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-smalltalk] Little stack of bugs for you :-)
From: |
Bonzini |
Subject: |
Re: [Help-smalltalk] Little stack of bugs for you :-) |
Date: |
Thu, 9 Jan 2003 15:40:42 +0100 |
> (1) Changing namespaces in the namespace browser
> changes the class list, but the protocol list,
> selector list and text stay the same.
> Suggest setting curClass := nil in NamespaceBrowser
> #namespaceSelection
Fixed.
> value: (itemPosition > 0
> ifTrue: [(data perform: listMsg)
> at: itemPosition
> ifAbsent: [nil]]
> ifFalse: [nil])) ].
At this point it is easier to drop the if and just do
"at: itemPosition ifAbsent: [ nil ]".
This method also needs to be modified so that canceling
a method update does not change the selected method
(strange you did not get that :-).
> It seems that this is ultimately because #idle returns
> Blox itself (the Class) as its methodCategory, which,
> I would guess is because it is an ansynchronous
> call-out, because the other call-outs return 'C
> functions', nicely.
ClassDescription is lacking the definition of
#defineAsyncCFunc:withSelectorArgs:args: while it has
#defineCFunc:withSelectorArgs:returning:args: (which sets
the category).
This, plus a typo in _gst_execute_statements:
oldClass = _gst_this_class;
oldCategory = _gst_this_class; // should be _gst_this_category
...
_gst_set_compilation_class (oldClass);
_gst_set_compilation_category (oldCategory);
The sequence is:
1) #compileString:ifError: primitive sets compilation category to nil
2) _gst_execute_statements is called to get value of compile-time constant
3) _gst_execute_statements sets category to _gst_this_class, i.e. Blox
4) async call-out's method category ends up being Blox
> I also find that if you add an instance variable in
> the browser (or make any other change), and Accept, it
> frequently does not work.
I'll also take a look at this.
BTW, 2.0.11 is delayed because I did found a couple of bugs in it (and in
the
development versions) -- one in the compiler, one in detection of Tcl/Tk on
FreeBSD. I'll release it tomorrow.
Thanks.
Paolo