From 4681b1e80006028ed4939f05378982296c216742 Mon Sep 17 00:00:00 2001 From: Mark Waddingham Date: Fri, 12 Apr 2013 18:34:27 +0100 Subject: [PATCH] Fixed bug 10837 - literals that look like numbers must eval as 'both' (string and number). --- engine/src/literal.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/engine/src/literal.cpp b/engine/src/literal.cpp index 0d71a826fb2..fa3a735d6a5 100644 --- a/engine/src/literal.cpp +++ b/engine/src/literal.cpp @@ -44,9 +44,11 @@ Parse_stat MCLiteralNumber::parse(MCScriptPoint &sp, Boolean the) Exec_stat MCLiteralNumber::eval(MCExecPoint &ep) { + // MW-2013-04-12: [[ Bug 10837 ]] Make sure we set 'both' when evaluating the + // literal. Not doing this causes problems for things like 'numberFormat'. if (nvalue == BAD_NUMERIC) ep.setnameref_unsafe(value); else - ep.setnvalue(nvalue); + ep.setboth(MCNameGetOldString(value), nvalue); return ES_NORMAL; }