Hi Marcel,
especially for this one tiny little thing of a modal alert when renaming classes?
It is a more general issue. There should be no UI invocation code in a non-UI part of the system. So, "Transcript showln:." is fine but "self inform:" is not. Why? Because those cannot be trapped in scripts, which is
- for example - unfortunate in automated pipelines such as our CI.
Actually, they can.
"example 1" [ self inform: 'stop everything and pay attention to me!' ] on: ProvideAnswerNotification do: [ : noti | noti resume ] "nil"
"example 2" [UIManager default request: 'what is the answer?' initialAnswer: 'tell me now!' ] on: ProvideAnswerNotification do: [ : noti | noti resume: 42 ] "42 "
I assumed this is what the CI jobs were doing.. they're not?
I totally share your sentiments about no UI invocation code in the domain, and is how I do my own designs, of course, but Squeak chose default to being an <<interactive system>>, and requires handlers of ProvideAnswerNotification to make it non-interactive, rather than the other way around.
If you want to flip the above in 5.4 to the normal way -- signaling a kind of ProvideAnswerNotification whose defaultAction issues the modal popup -- then let's flip them, but it doesn't seem like we need a new layer of notification classes just yet. ProvideAnswerNotification may be sufficient.
Best, Chris
What happened to simply opening up a MessageSet on the references
afterward?
Still there. Unrelated to this issue. See the end of Browser >> #renameClass.
Say, why do we need a modal alert at all?
I agree, that extra check in Class >> #rename: might not be necessary and maybe moved to our refactoring tools.
Best, Marcel
Am 26.02.2020 00:21:48 schrieb Chris Muller asqueaker@gmail.com: -1. "Notice" is such a generic, common word to steal from all applications that might want to create their own, especially for this one tiny little thing of a modal alert when renaming classes? Say, why do we need a modal alert at all? What happened to simply opening up a MessageSet on the references afterward?
- Chris
On Tue, Feb 25, 2020 at 8:17 AM Marcel Taeumel marcel.taeumel@hpi.de wrote:
Just "Notice"?
Am 25.02.2020 12:11:33 schrieb Eliot Miranda eliot.miranda@gmail.com:
On Feb 25, 2020, at 1:40 AM, Marcel Taeumel marcel.taeumel@hpi.de wrote:
Fixed. BUT: Please take a look at
Kernel-mt.1305 Tools-mt.941
We need a name! :-)
On second thoughts Notice might be a better name.
Best, Marcel
Am 25.02.2020 10:11:22 schrieb Marcel Taeumel marcel.taeumel@hpi.de:
Maybe it is a sporadic issue?
It is! Related to the ProgressNotification which I accidentially catch in Browser >> #renameClass. I wanted to get the UI call out of Class >> #rename:.
That progress notification does not appear every time. Only above a certain threshold. That's why it appears to be sporadic.
Best, Marcel
Am 25.02.2020 09:37:13 schrieb Thiede, Christoph < christoph.thiede@student.hpi.uni-potsdam.de>:
I could reproduce it one single time ... Maybe it is a sporadic issue?
Best,
Christoph
http://www.hpi.de/
*Von:* Squeak-dev squeak-dev-bounces@lists.squeakfoundation.org im Auftrag von Taeumel, Marcel *Gesendet:* Dienstag, 25. Februar 2020 09:34:03 *An:* John Pfersich via Squeak-dev; Chris Muller *Betreff:* Re: [squeak-dev] 5.3 cannot rename subclasses of Error
Hmm... I can reproduce the bug. Yet, calling "Error2 rename: #Error1" from a workspace works fine. Strange.
Best, Marcel
Am 25.02.2020 09:16:13 schrieb Thiede, Christoph < christoph.thiede@student.hpi.uni-potsdam.de>:
Hi Chris,
in a fresh image, I cannot reproduce this. Are you sure the class has not been renamed or is it possible that the class list was not updated properly?
Best,
Christoph
http://www.hpi.de/
*Von:* Squeak-dev squeak-dev-bounces@lists.squeakfoundation.org im Auftrag von Chris Muller asqueaker@gmail.com *Gesendet:* Dienstag, 25. Februar 2020 06:29:00 *An:* squeak dev *Betreff:* [squeak-dev] 5.3 cannot rename subclasses of Error
In trunk / 5.3 RC.
- Make a subclass of Error called MyError1
- Make a subclass of Error called MyError2
- Delete MyError1
- Try to rename MyError2 to MyError1
The last step fails. No errors or debuggers, but the class is not renamed.
Works in 5.2.