The SpiderMonkey implementation of E4X is deprecated and will be removed.
The rationale: E4X has a standard, but is not part of the de facto open web: for a long time, it's implemented by only one browser, Firefox, and is not used for open web content. We are trying to advance SpiderMonkey and Firefox rapidly under intense competition, and keeping E4X slows down our development and increases the security attack surface.
This is the plan:
1. Pref off E4X by default for _content_ in Firefox 16, which is the current nightly cycle. It can be turned back on by setting
javascript.options.xml.content=true
but only temporarily, because we will be removing support entirely in the future (see below).
2. Pref off E4X by default for _chrome_ in Firefox 17. This will break some current add-on implementations. Firefox 17 will be released on about Nov 19 according to the standard schedule, so there is lots of time to port add-ons. E4X for chrome can be turned back on for testing purposes by setting
javascript.options.xml.chrome=true
3. Remove the E4X implementation from SpiderMonkey in Firefox 18.
For embedding usages of E4X, I recommend porting to something newer, but if you can't, you can always stick with a downrev SpiderMonkey. E4X will be in the Firefox 17 version, which is also planned as an ESR. Note that because E4X will not be enabled by default, we will not be fixing bugs in E4X itself.
Dave