On Wed, Jan 24, 2018 at 04:35:11PM -0800, Chris Cunningham wrote:
On Wed, Jan 24, 2018 at 4:31 PM, tim Rowledge tim@rowledge.org wrote:
On 24-01-2018, at 4:25 PM, Tobias Pape Das.Linux@gmx.de wrote:
Hold your horses :D It _is_ sent, indirectly, via:
openContext: aContext label: aString contents: contentsStringOrNil "Open a notifier in response to an error, halt, or notify. A
notifier view just shows a short view of the sender stack and provides a menu that lets the user open a full debugger."
^ Project current dispatchTo: self addPrefixAndSend: #OpenContext:label:contents: withArguments: { aContext . aString . contentsStringOrNil }
Which, in turn, is also sent???
Good grief. What an excellent way to confuse our tools. Most definitely not a technique I???d ever suggest teaching.
Nope.
Now, how to fix the sendersOf to detect something pathological like this...
cbc
See the method comment in #dispatchTo:addPrefixAndSend:withArguments:
The mechanism is this pragma:
<hasLiteralTest: #isDispatchSelector:>
Implementation is in Project class>>isDispatchSelector: which identifies the target selectors. Apparently I left one of the selectors out of the list, hence the confusion here.
Marcel has made considerable improvements to Squeak Projects in recent years, and one good effect that I have noticed is that he has been able to reduce the use of these dispatch methods.
Dave