An auxiliary concern here this   /nice/correct/  form of using  self
makes it invisible to the usual "users-of" search tools.  I've been
bitten by similar before. What can we do to make this use case more
visible?

A pragmatic option might be to de-tune the purity of form and use...
   registry register: SyntaxErrorDebugger as: #syntaxErrorDebugger

Probably this would probably additionally need a guard to ensure that
subclasses can't run this code.
I'm sure there'll be some adverse views to this suggestion, but I
wanted raise the question and learn something along the way.

cheers -ben

On Sat, Nov 21, 2015 at 5:55 PM, Nicolai Hess <nicolaih...@gmail.com> wrote:
>
>
> 2015-11-21 10:43 GMT+01:00 Max Leske <maxle...@gmail.com>:
>>
>>
>> On 21 Nov 2015, at 10:22, Denis Kudriashov <dionisi...@gmail.com> wrote:
>>
>> Ok.
>> I just read Nicolai comment.
>> So question: is SyntaxErrorDebugger used anywhere? I remove it because it
>> uses another way how to open debugger
>>
>>
>>
>> My quick check didn’t turn up anything. But to be sure, go and grab the
>> Moose development image. Maybe they use it t
>
>
> The SyntaxErrorDebugger registers itself for Smalltalk tools:
>
> registerToolsOn: registry
>     "Add ourselves to registry. See [Smalltalk tools]"
>     registry register: self as: #syntaxErrorDebugger
>
> And this is used by MorphicUIManager syntaxErrorNotificationDefaultAction:
> anException
>
> If you fileIn some code with syntactical error, this debugger pops up and
> (if if would work: issue 16961 ) you could fix that error manually.
>
>
>>
>> here in some way (though I doubt it).
>>
>> 21 нояб. 2015 г. 10:15 AM пользователь "Max Leske" <maxle...@gmail.com>
>> написал:
>>>
>>>
>>> On 21 Nov 2015, at 09:34, Denis Kudriashov <dionisi...@gmail.com> wrote:
>>>
>>> Slice was declined because I remove SyntaxErrorDebugger. I not found any
>>> reference to it. And there was no instances of it. Can anybody show me where
>>> it is used?
>>>
>>>
>>>
>>> Are you sure? The validation says that it failed due to “subclass
>>> responsibility not defined” (two messages of UIManager that aren’t
>>> implemented in all of its subclasses). It doesn’t say anything abut
>>> SyntaxErrorDebugger.
>>>
>>> Cheers,
>>> Max
>>>
>>> 20 нояб. 2015 г. 19:27 пользователь "Andrei Chis"
>>> <chisvasileand...@gmail.com> написал:
>>>>
>>>> Very nice. I remember when I made GTDebugger that there were way to many
>>>> ways to open the debugger. I ended up just copy-pasting things.
>>>> Would be very useful to have a small doc with what one needs to do to
>>>> replace SpecDebugger with another debugger (e.g. what are the entry points
>>>> of the debugger in the system)
>>>>
>>>> Cheers,
>>>> Andrei
>>>>
>>>> On Fri, Nov 20, 2015 at 6:48 PM, Denis Kudriashov <dionisi...@gmail.com>
>>>> wrote:
>>>>>
>>>>> I clean and refactor all but lowSpaceWatcher.
>>>>> It is in slice 17069.
>>>>> In my image it is not broke stuff. So I hope it is safe change.
>>>>>
>>>>> 2015-11-20 12:18 GMT+01:00 Denis Kudriashov <dionisi...@gmail.com>:
>>>>>>
>>>>>> Hi
>>>>>>
>>>>>> I try to investigate how debugger opens and who initiates it.
>>>>>> I want to cleanup this logic and simplify current debugger API.
>>>>>>
>>>>>> I found that basic error debugging starts with UIManager then
>>>>>> UIManager calls SpecDebugger, then SpecDebugger calls UIManager and 
>>>>>> again...
>>>>>> At the end of this chain debugger is opened by #openFullSuspendLabel: or
>>>>>> #openNotifierContents:label:
>>>>>>
>>>>>> There are two places where opening debugger initiated differently:
>>>>>> - Low space watcher calls SpecDebugger class>>openInterrupt:onProcess:
>>>>>> - Warning default action calls SpecDebugger
>>>>>> class>>openContext:label:contents: (And it not uses UIManager. I guess 
>>>>>> non
>>>>>> interactive mode not working here).
>>>>>>
>>>>>> In latest Pharo image it is only users of this methods. Is anybody
>>>>>> know anyone else?
>>>>>>
>>>>>> I almost cleaned basic errors debugging. And I want use it for this
>>>>>> two cases too. But they implements very specific logic. They both 
>>>>>> contains
>>>>>> primitive simulation guard 19 and some kind of recursion tracking.
>>>>>> I understand that low space watcher requires something clever. But why
>>>>>> Warning not opens debugger with way Error does it?
>>>>>>
>>>>>> Any suggestions?
>>>>>>
>>>>>> Best regards,
>>>>>> Denis
>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to