help-smalltalk
[Top][All Lists]
Advanced

[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






reply via email to

[Prev in Thread] Current Thread [Next in Thread]