Merge branch 'explain-map-concat' of https://github.com/ajpiano/jquery into ajpiano...
authorjeresig <jeresig@gmail.com>
Thu, 9 Dec 2010 17:51:14 +0000 (12:51 -0500)
committerjeresig <jeresig@gmail.com>
Thu, 9 Dec 2010 17:51:14 +0000 (12:51 -0500)
1  2 
src/core.js

diff --combined src/core.js
@@@ -215,7 -215,7 +215,7 @@@ jQuery.fn = jQuery.prototype = 
                        this.toArray() :
  
                        // Return just the object
 -                      ( num < 0 ? this.slice(num)[ 0 ] : this[ num ] );
 +                      ( num < 0 ? this[ this.length + num ] : this[ num ] );
        },
  
        // Take an array of elements and push it onto the stack
  jQuery.fn.init.prototype = jQuery.fn;
  
  jQuery.extend = jQuery.fn.extend = function() {
 -      // copy reference to target object
 -      var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options, name, src, copy, copyIsArray;
 +       var options, name, src, copy, copyIsArray, clone,
 +              target = arguments[0] || {},
 +              i = 1,
 +              length = arguments.length,
 +              deep = false;
  
        // Handle a deep copy situation
        if ( typeof target === "boolean" ) {
@@@ -417,21 -414,18 +417,21 @@@ jQuery.extend(
                        // If there are functions bound, to execute
                        if ( readyList ) {
                                // Execute all of them
 -                              var fn, i = 0;
 -                              while ( (fn = readyList[ i++ ]) ) {
 -                                      fn.call( document, jQuery );
 -                              }
 +                              var fn,
 +                                      i = 0,
 +                                      ready = readyList;
  
                                // Reset the list of functions
                                readyList = null;
 -                      }
  
 -                      // Trigger any bound ready events
 -                      if ( jQuery.fn.triggerHandler ) {
 -                              jQuery( document ).triggerHandler( "ready" );
 +                              while ( (fn = ready[ i++ ]) ) {
 +                                      fn.call( document, jQuery );
 +                              }
 +
 +                              // Trigger any bound ready events
 +                              if ( jQuery.fn.trigger ) {
 +                                      jQuery( document ).trigger( "ready" ).unbind( "ready" );
 +                              }
                        }
                }
        },
        },
  
        isEmptyObject: function( obj ) {
 +
 +    // Fixes #7413 Check to see if obj passes isPlainObject
 +    if ( !jQuery.isPlainObject( obj ) ) {
 +      return false;
 +    }
 +      
                for ( var name in obj ) {
                        return false;
                }
        },
  
        merge: function( first, second ) {
 -              var i = first.length, j = 0;
 +              var i = first.length,
 +                      j = 0;
  
                if ( typeof second.length === "number" ) {
                        for ( var l = second.length; j < l; j++ ) {
                        }
                }
  
+               // Flatten any nested arrays
                return ret.concat.apply( [], ret );
        },