From 476a752a08b640a02cab8b08bef620a85fc52279 Mon Sep 17 00:00:00 2001 From: Jason Turner Date: Fri, 2 Mar 2018 15:09:52 -0700 Subject: [PATCH] Fix last merge --- .../chaiscript/language/chaiscript_parser.hpp | 17 ++++++----------- unittests/string_unicode_unicode.chai | 2 +- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/include/chaiscript/language/chaiscript_parser.hpp b/include/chaiscript/language/chaiscript_parser.hpp index 101d0883..649f6f21 100644 --- a/include/chaiscript/language/chaiscript_parser.hpp +++ b/include/chaiscript/language/chaiscript_parser.hpp @@ -1062,15 +1062,12 @@ namespace chaiscript process_hex(); } - if (unicode_size > 0) { - process_unicode(); - } - } - - void finalize_unicode() - { - if (unicode_size > 0) { - process_unicode(); + if (unicode_size > 0) { + process_unicode(); + } + } catch (const std::invalid_argument &) { + } catch (const exception::eval_error &) { + // Something happened with parsing, we'll catch it later? } } @@ -1307,7 +1304,6 @@ namespace chaiscript } } - cparser.finalize_unicode(); return cparser.is_interpolated; }(); @@ -1366,7 +1362,6 @@ namespace chaiscript for (auto s = start + 1, end = m_position - 1; s != end; ++s) { cparser.parse(*s, start.line, start.col, *m_filename); } - cparser.finalize_unicode(); } if (match.size() != 1) { diff --git a/unittests/string_unicode_unicode.chai b/unittests/string_unicode_unicode.chai index d79dcaf3..93364f05 100644 --- a/unittests/string_unicode_unicode.chai +++ b/unittests/string_unicode_unicode.chai @@ -9,7 +9,7 @@ assert_equal("\xF0\x9F\x8D\x8C", "🍌") assert_equal("\U0001F34C", "🍌") assert_throws("Invalid 16 bit universal character", fun(){ parse("\"\\uD83C\""); }); -assert_throws("Incomplete unicode escape sequence", fun(){ parse("\"\\uD83\""); }); +assert_throws("Incomplete unicode escape sequence", fun(){ parse("\"\\uD83 \""); }); assert_equal("\U00024B62", "𤭢")