diff -r 48c4eec2b7e6 -r 8c2e4d02f4ef wp/wp-includes/js/underscore.js --- a/wp/wp-includes/js/underscore.js Fri Sep 05 18:40:08 2025 +0200 +++ b/wp/wp-includes/js/underscore.js Fri Sep 05 18:52:52 2025 +0200 @@ -7,13 +7,13 @@ exports.noConflict = function () { global._ = current; return exports; }; }())); }(this, (function () { - // Underscore.js 1.13.6 + // Underscore.js 1.13.7 // https://underscorejs.org - // (c) 2009-2022 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors + // (c) 2009-2024 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors // Underscore may be freely distributed under the MIT license. // Current version. - var VERSION = '1.13.6'; + var VERSION = '1.13.7'; // Establish the root object, `window` (`self`) in the browser, `global` // on the server, or `this` in some virtual machines. We use `self` @@ -150,8 +150,11 @@ // In IE 10 - Edge 13, `DataView` has string tag `'[object Object]'`. // In IE 11, the most common among them, this problem also applies to // `Map`, `WeakMap` and `Set`. - var hasStringTagBug = ( - supportsDataView && hasObjectTag(new DataView(new ArrayBuffer(8))) + // Also, there are cases where an application can override the native + // `DataView` object, in cases like that we can't use the constructor + // safely and should just rely on alternate `DataView` checks + var hasDataViewBug = ( + supportsDataView && (!/\[native code\]/.test(String(DataView)) || hasObjectTag(new DataView(new ArrayBuffer(8)))) ), isIE11 = (typeof Map !== 'undefined' && hasObjectTag(new Map)); @@ -159,11 +162,13 @@ // In IE 10 - Edge 13, we need a different heuristic // to determine whether an object is a `DataView`. - function ie10IsDataView(obj) { + // Also, in cases where the native `DataView` is + // overridden we can't rely on the tag itself. + function alternateIsDataView(obj) { return obj != null && isFunction$1(obj.getInt8) && isArrayBuffer(obj.buffer); } - var isDataView$1 = (hasStringTagBug ? ie10IsDataView : isDataView); + var isDataView$1 = (hasDataViewBug ? alternateIsDataView : isDataView); // Is a given value an array? // Delegates to ECMA5's native `Array.isArray`. @@ -376,7 +381,7 @@ var className = toString.call(a); if (className !== toString.call(b)) return false; // Work around a bug in IE 10 - Edge 13. - if (hasStringTagBug && className == '[object Object]' && isDataView$1(a)) { + if (hasDataViewBug && className == '[object Object]' && isDataView$1(a)) { if (!isDataView$1(b)) return false; className = tagDataView; }