Hi, I came up with this problem, and managed to get a fix to it. I am using jquery-1.2.6.
Follows the code of the makeArray function: makeArray: function( array ) { var ret = []; if( array != null ){ var i = array.length; //the window, strings and functions also have 'length' if( i == null || array.split || array.setInterval || (array.call && array.call != Array.prototype.call) ) ret[0] = array; else while( i ) ret[--i] = array[i]; } return ret; } Here is the fix: if ( ... (array.call && array.call != Array.prototype.call) ) before it was: if ( ... array.call ) Basically what I did was only to test whether array.call was defined and make sure it is not Array.prototype.call, so that branch will only be true if "array" is a function With this quick fix, the test case in http://dev.jquery.com/ticket/3129 obtains the expected result. Hope this helps Bye