diff -r 48c4eec2b7e6 -r 8c2e4d02f4ef wp/wp-includes/js/backbone.js --- a/wp/wp-includes/js/backbone.js Fri Sep 05 18:40:08 2025 +0200 +++ b/wp/wp-includes/js/backbone.js Fri Sep 05 18:52:52 2025 +0200 @@ -1,6 +1,6 @@ -// Backbone.js 1.5.0 +// Backbone.js 1.6.0 -// (c) 2010-2022 Jeremy Ashkenas and DocumentCloud +// (c) 2010-2024 Jeremy Ashkenas and DocumentCloud // Backbone may be freely distributed under the MIT license. // For all details and documentation: // http://backbonejs.org @@ -44,7 +44,7 @@ var slice = Array.prototype.slice; // Current version of the library. Keep in sync with `package.json`. - Backbone.VERSION = '1.5.0'; + Backbone.VERSION = '1.6.0'; // For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) owns // the `$` variable. @@ -1085,7 +1085,7 @@ var success = options.success; options.success = function(m, resp, callbackOpts) { if (wait) { - m.off('error', this._forwardPristineError, this); + m.off('error', collection._forwardPristineError, collection); collection.add(m, callbackOpts); } if (success) success.call(callbackOpts.context, m, resp, callbackOpts); @@ -1985,7 +1985,10 @@ current = this.getHash(this.iframe.contentWindow); } - if (current === this.fragment) return false; + if (current === this.fragment) { + if (!this.matchRoot()) return this.notfound(); + return false; + } if (this.iframe) this.navigate(current); this.loadUrl(); }, @@ -1995,14 +1998,22 @@ // returns `false`. loadUrl: function(fragment) { // If the root doesn't match, no routes can match either. - if (!this.matchRoot()) return false; + if (!this.matchRoot()) return this.notfound(); fragment = this.fragment = this.getFragment(fragment); return _.some(this.handlers, function(handler) { if (handler.route.test(fragment)) { handler.callback(fragment); return true; } - }); + }) || this.notfound(); + }, + + // When no route could be matched, this method is called internally to + // trigger the `'notfound'` event. It returns `false` so that it can be used + // in tail position. + notfound: function() { + this.trigger('notfound'); + return false; }, // Save a fragment into the hash history, or replace the URL state if the @@ -2133,5 +2144,12 @@ }; }; + // Provide useful information when things go wrong. This method is not meant + // to be used directly; it merely provides the necessary introspection for the + // external `debugInfo` function. + Backbone._debug = function() { + return {root: root, _: _}; + }; + return Backbone; });