[CLJS-469] Bad Exception message when multimethod has no dispatch-fn Created: 12/Feb/13 Updated: 20/Feb/13
When a multi-fn has no dispatch method for a given value the current exception string prints the cljs.core/name function instead of the actual name of the mf. Minor bug but makes it kinda hard to track down which multi-fn actually failed to dispatch.
The attached patch fixes that but directly accessing the name property of the multi-fn which is not very clean but better than the current error. AFAICT cljs doesnt have the clojure.lang.Named protocol, which would probably be cleaner.
|Comment by Thomas Heller [ 12/Feb/13 6:12 AM ]|
Corrected the .patch
|Comment by David Nolen [ 19/Feb/13 8:54 AM ]|
ClojureScript now has an INamed protocol
|Comment by Thomas Heller [ 20/Feb/13 3:42 PM ]|
Updated the .patch to implement INamed for cljs.core/MultiFn, turning its name into a real symbol.
Tests pass but I dont know if that part of the code is actually tested.
|Comment by Thomas Heller [ 20/Feb/13 3:43 PM ]|
Oh, I'm not quite sure that the way I resolved the namespace for the symbol is totally correct. It works but I had to dig a bit.