1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-21 12:27:59 +01:00

Use JSON.parse rather than eval to parse strings.

--HG--
branch : mode-refactoring
This commit is contained in:
Kris Maglione
2010-10-06 23:28:42 -04:00
parent 41335adaae
commit 76e331afea
2 changed files with 2 additions and 4 deletions

View File

@@ -917,7 +917,7 @@ const Commands = Module("commands", {
if ((res = re2.exec(str)))
arg += keepQuotes ? res[0] : res[2].replace(/\\(.)/g, "$1");
else if ((res = /^(")((?:[^\\"]|\\.)*)("?)/.exec(str)))
arg += keepQuotes ? res[0] : window.eval(res[0] + (res[3] ? "" : '"'));
arg += keepQuotes ? res[0] : JSON.parse(res[0] + (res[3] ? "" : '"'));
else if ((res = /^(')((?:[^']|'')*)('?)/.exec(str)))
arg += keepQuotes ? res[0] : res[2].replace("''", "'", "g");
else

View File

@@ -478,9 +478,7 @@ const JavaScript = Module("javascript", {
// The top of the stack is the sting we're completing.
// Wrap it in its delimiters and eval it to process escape sequences.
let string = this._str.substring(this._get(-1).offset + 1, this._lastIdx);
// This is definitely a properly quoted string.
// Just eval it normally.
string = window.eval(this._last + string + this._last);
string = JSON.parse(this._last + string + this._last);
// Is this an object accessor?
if (this._get(-2).char == "[") { // Are we inside of []?