diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2011-07-08 17:08:52 -0700 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2011-07-08 17:08:52 -0700 |
commit | 91f1b250ecb4fb8151cd17423dd4460652d0ce97 (patch) | |
tree | 03efbc7036df518c7a3fbab5a7303cdcd497a1db /lib/events.js | |
parent | e5564a3f29e0a818832a97c7c3b28d7c8b3b0460 (diff) | |
download | node-new-91f1b250ecb4fb8151cd17423dd4460652d0ce97.tar.gz |
mraleph emit hack
Diffstat (limited to 'lib/events.js')
-rw-r--r-- | lib/events.js | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/events.js b/lib/events.js index b681c105aa..a7daaa288c 100644 --- a/lib/events.js +++ b/lib/events.js @@ -35,7 +35,8 @@ EventEmitter.prototype.setMaxListeners = function(n) { }; -EventEmitter.prototype.emit = function(type) { +EventEmitter.prototype.emit = function() { + var type = arguments[0]; // If there is no 'error' event listener then throw. if (type === 'error') { if (!this._events || !this._events.error || @@ -68,13 +69,17 @@ EventEmitter.prototype.emit = function(type) { break; // slower default: - var args = Array.prototype.slice.call(arguments, 1); + var l = arguments.length; + var args = new Array(l - 1); + for (var i = 1; i < l; i++) args[i - 1] = arguments[i]; handler.apply(this, args); } return true; } else if (isArray(handler)) { - var args = Array.prototype.slice.call(arguments, 1); + var l = arguments.length; + var args = new Array(l - 1); + for (var i = 1; i < l; i++) args[i - 1] = arguments[i]; var listeners = handler.slice(); for (var i = 0, l = listeners.length; i < l; i++) { |