@@ -129,15 +129,21 @@ var _on = EventEmitter.prototype.on
129129 , _removeListener = EventEmitter . prototype . removeListener ;
130130
131131EventEmitter . prototype . addListener = function ( event , callback ) {
132- return _addListener . call ( this , event , wrap_callback ( callback , 'EventEmitter.addListener' ) ) ;
132+ var args = Array . prototype . slice . call ( arguments ) ;
133+ args [ 1 ] = wrap_callback ( callback , 'EventEmitter.addListener' ) ;
134+ return _addListener . apply ( this , args ) ;
133135} ;
134136
135137EventEmitter . prototype . on = function ( event , callback ) {
136- return _on . call ( this , event , wrap_callback ( callback , 'EventEmitter.on' ) ) ;
138+ var args = Array . prototype . slice . call ( arguments ) ;
139+ args [ 1 ] = wrap_callback ( callback , 'EventEmitter.on' ) ;
140+ return _on . apply ( this , args ) ;
137141} ;
138142
139143EventEmitter . prototype . once = function ( event , callback ) {
140- return _once . call ( this , event , wrap_callback ( callback , 'EventEmitter.once' ) ) ;
144+ var args = Array . prototype . slice . call ( arguments ) ;
145+ args [ 1 ] = wrap_callback ( callback , 'EventEmitter.once' ) ;
146+ return _once . apply ( this , args ) ;
141147} ;
142148
143149EventEmitter . prototype . removeListener = function ( event , callback ) {
@@ -173,18 +179,24 @@ EventEmitter.prototype.removeListener = function(event, callback) {
173179var _nextTick = process . nextTick ;
174180
175181process . nextTick = function ( callback ) {
176- return _nextTick . call ( this , wrap_callback ( callback , 'process.nextTick' ) ) ;
182+ var args = Array . prototype . slice . call ( arguments ) ;
183+ args [ 0 ] = wrap_callback ( callback , 'process.nextTick' ) ;
184+ return _nextTick . apply ( this , args ) ;
177185} ;
178186
179187
180188
181189var _setTimeout = global . setTimeout
182190 , _setInterval = global . setInterval ;
183191
184- global . setTimeout = function ( callback , interval ) {
185- return _setTimeout . call ( this , wrap_callback ( callback , 'process.nextTick' ) , interval ) ;
192+ global . setTimeout = function ( callback ) {
193+ var args = Array . prototype . slice . call ( arguments ) ;
194+ args [ 0 ] = wrap_callback ( callback , 'process.nextTick' ) ;
195+ return _setTimeout . apply ( this , args ) ;
186196} ;
187197
188- global . setInterval = function ( callback , interval ) {
189- return _setInterval . call ( this , wrap_callback ( callback , 'process.nextTick' ) , interval ) ;
198+ global . setInterval = function ( callback ) {
199+ var args = Array . prototype . slice . call ( arguments ) ;
200+ args [ 0 ] = wrap_callback ( callback , 'process.nextTick' ) ;
201+ return _setInterval . apply ( this , args ) ;
190202} ;
0 commit comments