The "replace" function in string.cljs identifies RegExp objects by calling .hasOwnProperty to check for the "source" property. If true, then it's a regex. However, in ES6, the "source" property will become part of the RegExp prototype and not the actual object, so .hasOwnProperty("source") will return false instead.
(.hasOwnProperty match "source")
It's not a major code change at all, but I'm happy to provide a patch and verify tests if you prefer.
Firefox Developer Edition
Mac OS X 10.10.1
Clojurescript 0.0-2913 (but I checked, and it's still present in current master branch)
Comment made by: elliot42
Just to slightly summarize/reiterate, this bug means that `string/replace` is always broken if you pass it a RegExp as the `match` (under the new ES6 rules, already live in FF Dev Ed.)
This further breaks plenty of applications, like it immediately breaks the `secretary` router found in many Om apps.