diff --git a/lib/ace/lib/lang.js b/lib/ace/lib/lang.js index 863bbb55..13b76f77 100644 --- a/lib/ace/lib/lang.js +++ b/lib/ace/lib/lang.js @@ -89,13 +89,24 @@ exports.deepCopy = function (obj) { return obj; var copy = cons(); - for (var key in obj) { - if (typeof obj[key] === "object") { - copy[key] = exports.deepCopy(obj[key]); - } else { - copy[key] = obj[key]; + if (Array.isArray(obj)) { + for (var key = 0; key < obj.length; key++) { + if (typeof obj[key] === "object") { + copy[key] = exports.deepCopy(obj[key]); + } else { + copy[key] = obj[key]; + } + } + } else { + for (var key in obj) { + if (typeof obj[key] === "object") { + copy[key] = exports.deepCopy(obj[key]); + } else { + copy[key] = obj[key]; + } } } + return copy; };