Jordan Henderson
Jordan Henderson
@telephon no worries. One issue could be if the user has changed the signature of `doesNotUnderstand` to `{ |selector, firstArg, otherArgs| ... }`. Although it is a little odd, it...
@telephon I like the name `doesNotUnderstandAbout`! I chose `doesNotUnderstandWithKeys` as it is symmetrical with the c++ method. I'll change the the sc method to `*About`, but not the c++ as...
> > What do you think about making the default method be `doesNotUnderstandWithKeys`, and only if it doesn't exist, will `doesNotUnderstand` be attempted? Meaning, both the child method will be...
Ah, so I've just discovered something else when replacing `IdentityDictionary`'s `doesNotUnderstand` with `doesNotUnderstandAbout`. This call to `superPerformList` goes into infinite recursion. ```supercollider // old ^this.superPerformList(\doesNotUnderstand, selector, args); // new —...
I've updated the pr to reflect these changes. I haven't changed the names of `performWith` and the likes, but I am more than happy to if you still think it...
Okay here is the current bug, and its not nice... ```supercollider T_Base { doesNotUnderstand { |selector ...args| ^\base } } T_Child : T_Base { doesNotUnderstandAbout { |selector, argumentsArray, keywordArgumentPairs| ^\child...
```supercollider Object { doesNotUnderstand { arg selector ... args; DoesNotUnderstandError(this, selector, args).throw; // I think you forgot to change this line to call this.doesNotUnderstandAbout ? // Or have I misunderstood...
> Maybe for a start, the backend should only call doesNotUnderstandAbout in a class that has it implemented (NOT inherited)? That would mean classes that inherit from identity dictionary (for...
> But maybe I haven't understood your suggestion yet – it seemed more disruptive. Maybe it isn't? I didn't explain it well! And I just changed my mind slightly... now...
Hi @krrnk, where do you think this message should go in the docs?