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 >>>>> >>>>> >>>> >>> >> >