Maybe in past it was used to create methods in debugger on the fly. But now it is not.
I just check it. I removed recursion logic and methods creation continue working in debugger. Maybe we should remove this strange behaviour

2016-02-25 17:56 GMT+01:00 Denis Kudriashov <dionisiydk@gmail.com>:
Hi.

Does anybody know why #doesNotUnderstand: is implemented with recursion at the end?

doesNotUnderstand: aMessage��
| exception resumeValue |
(exception := MessageNotUnderstood new)
message: aMessage;
receiver: self.
resumeValue := exception signal.
^exception reachedDefaultHandler
ifTrue: [aMessage sentTo: self]
ifFalse: [resumeValue].

Best regards,
Denis