Hi Tim,

On Fri, Jun 15, 2018 at 2:21 PM, Tim Mackinnon <[email protected]> wrote:

> The whole point about pragmas is that they're supposed to be messages, and
> hence senders (and if possible, implementors) work.  But with the mangling
> that occurs here, a simple senders of stackDebuggingActions brings nothing,
> and one is left manually searching the system before one finds references
> to gtStackDebuggingAction.  Obscure and hence horrible.
>
>
> Hi Eliot - I’ve been caught out by that belief too - but if you select a
> pragma and do cmd-b, cmd-n (or menu code-search, senders of it) - it works
> How I think you are expecting and shows you all the senders of that pragma.
> I use this all of the time for remember how to implement GT-Inspector tabs
> , as I was always impressed with the one in Date and use it as a way to
> find lots of good examples.
>
> It could be, that you tried “implementers of” - and that one always
> confuses me - partly because they aren’t a real thing (and I guess I agree
> with you on a distaste for them - it feels like we could have done better
> somehow?).
>

These aren't the issues here.  The issue here is the classic one of name
mangling, a.k.a. constructing selectors from fragments, so that the
reference (the elements of the arrays in codeDebuggingPragmas and
stackDebuggingActionPragmas, which are  #codeDebuggingAction
#stackDebuggingAction) don't match the pragmas in the methods, which
are <gtCodeDebuggingAction> & <gtStackDebuggingAction>.  Why the mismatch?
I would expect the references to use #gtCodeDebuggingAction &
#gtStackDebuggingAction, and finding the implementations would be trivial.
Instead one has to hunt.  This is bad.


> Tim
>
>
> On 15 Jun 2018, at 00:23, Eliot Miranda <[email protected]> wrote:
>
> Hi Henrik,
>
> On Thu, Jun 14, 2018 at 12:47 PM, Henrik-Nergaard <[email protected]>
> wrote:
>
>> Hi,
>>
>> Moving the icons down to the middle row is as simple as changing:
>>
>> ***
>> codeActionsPragmas
>>   ^ #( stackDebuggingActions codeDebuggingActions )
>> ***
>> ***
>> stackDebuggingActionsPragmas
>>   ^ #()
>> ***
>>
>> in GTGenericStackDebugger.
>>
>> Best regards,
>> Henrik
>>
>
> Thanks.  I have to say that the renaming from #stackDebuggingActions to
> gtStackDebuggingAction, as in
>
> StepIntoDebugAction class>>gtStackDebuggingActionFor: aDebugger
> <gtStackDebuggingAction>
>
> is a cruel joke.  The whole point about pragmas is that they're supposed
> to be messages, and hence senders (and if possible, implementors) work.
> But with the mangling that occurs here, a simple senders of
> stackDebuggingActions brings nothing, and one is left manually searching
> the system before one finds references to gtStackDebuggingAction.  Obscure
> and hence horrible.
>
> _,,,^..^,,,_
> best, Eliot "I designed pragmas to be useful and natural, not painful and
> obscure" Miranda
>
>
>


-- 
_,,,^..^,,,_
best, Eliot

Reply via email to