diff --git a/IPython/html/static/base/js/utils.js b/IPython/html/static/base/js/utils.js
index 4e60a96..044a045 100644
--- a/IPython/html/static/base/js/utils.js
+++ b/IPython/html/static/base/js/utils.js
@@ -61,7 +61,7 @@ define([
* matched. Fixes browser bugs compared to the native
* `String.prototype.split` and can be used reliably cross-browser.
* @param {String} str String to split.
- * @param {RegExp|String} separator Regex or string to use for separating
+ * @param {RegExp} separator Regex to use for separating
* the string.
* @param {Number} [limit] Maximum number of items to include in the result
* array.
@@ -81,20 +81,15 @@ define([
* // -> ['..', 'word', '1', ' ', 'word', '2', '..']
*/
var regex_split = function (str, separator, limit) {
- // If `separator` is not a regex, use `split`
- if (Object.prototype.toString.call(separator) !== "[object RegExp]") {
- return split.call(str, separator, limit);
- }
var output = [],
flags = (separator.ignoreCase ? "i" : "") +
(separator.multiline ? "m" : "") +
(separator.extended ? "x" : "") + // Proposed for ES6
(separator.sticky ? "y" : ""), // Firefox 3+
lastLastIndex = 0,
- // Make `global` and avoid `lastIndex` issues by working with a copy
- separator = new RegExp(separator.source, flags + "g"),
separator2, match, lastIndex, lastLength;
- str += ""; // Type-convert
+ // Make `global` and avoid `lastIndex` issues by working with a copy
+ separator = new RegExp(separator.source, flags + "g");
var compliantExecNpcg = typeof(/()??/.exec("")[1]) === "undefined";
if (!compliantExecNpcg) {
@@ -111,7 +106,7 @@ define([
limit = typeof(limit) === "undefined" ?
-1 >>> 0 : // Math.pow(2, 32) - 1
limit >>> 0; // ToUint32(limit)
- while (match = separator.exec(str)) {
+ for (match = separator.exec(str); match; match = separator.exec(str)) {
// `separator.lastIndex` is not reliable cross-browser
lastIndex = match.index + match[0].length;
if (lastIndex > lastLastIndex) {
@@ -226,7 +221,7 @@ define([
var r,g,b;
if (index_or_rgb == "5") {
// 256 color
- var idx = parseInt(numbers.shift());
+ var idx = parseInt(numbers.shift(), 10);
if (idx < 16) {
// indexed ANSI
// ignore bright / non-bright distinction
@@ -310,10 +305,9 @@ define([
}
var span = "";
}
});
@@ -324,11 +318,6 @@ define([
// are set in the css file.
function fixConsole(txt) {
txt = xmlencode(txt);
- var re = /\033\[([\dA-Fa-f;]*?)m/;
- var opened = false;
- var cmds = [];
- var opener = "";
- var closer = "";
// Strip all ANSI codes that are not color related. Matches
// all ANSI codes that do not end with "m".
@@ -363,7 +352,7 @@ define([
* A reasonably good way of converting between points and pixels.
*/
var test = $('');
- $(body).append(test);
+ $('body').append(test);
var pixel_per_point = test.width()/10000;
test.remove();
return Math.floor(points*pixel_per_point);
@@ -547,7 +536,7 @@ define([
var get_url_param = function (name) {
// get a URL parameter. I cannot believe we actually need this.
// Based on http://stackoverflow.com/a/25359264/938949
- var match = new RegExp('[\?&]' + name + '=([^&]*)').exec(window.location.search);
+ var match = new RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);
if (match){
return decodeURIComponent(match[1] || '');
}
@@ -754,35 +743,6 @@ define([
});
};
- var WrappedError = function(message, error){
- /**
- * Wrappable Error class
- *
- * The Error class doesn't actually act on `this`. Instead it always
- * returns a new instance of Error. Here we capture that instance so we
- * can apply it's properties to `this`.
- */
- var tmp = Error.apply(this, [message]);
-
- // Copy the properties of the error over to this.
- var properties = Object.getOwnPropertyNames(tmp);
- for (var i = 0; i < properties.length; i++) {
- this[properties[i]] = tmp[properties[i]];
- }
-
- // Keep a stack of the original error messages.
- if (error instanceof WrappedError) {
- this.error_stack = error.error_stack;
- } else {
- this.error_stack = [error];
- }
- this.error_stack.push(tmp);
-
- return this;
- };
-
- WrappedError.prototype = Object.create(Error.prototype, {});
-
var reject = function(message, log) {
/**
* Creates a wrappable Promise rejection function.