mootools/Base — pull request #22 by arian (2011-10-09 16:42:40+00:00)
Title: Class.addAccessor: Don't overwrite the prototype, which is in the for-in 

Class.addAccessor: Don't overwrite the prototype, which is in the for-in loop in Opera

``` js
var foo = function(){};
for (var p in foo) { console.log(p); } // 'prototype' in Opera
```

So 'prototype' is enumerable in Opera.
That would overwrite Class.prototype and would remove Class.prototype.parent.

In Opera 12.00 'prototype' isn't enumerable and doesn't cause any problems.

It seems @jdalton knows more about these edge cases: https://github.com/bestiejs/spotlight.js/blob/master/spotlight.js#L60-149

I don't think we should pull this, because it's a kinda hacky fix, maybe we should have a proper `forEach` module with the same `enumerables` fixes for `Function.overloadGetter`: https://github.com/bestiejs/spotlight.js/blob/master/spotlight.js#L60-149