commit f7d502d02435bac8769ecefc5a1b84bfc4aed200
Author: Richard Heck <[email protected]>
Date:   Mon Apr 16 22:32:04 2018 -0400

    Use FuncRequest::getArg instead of splitting the argument
    ourselves.
---
 src/Text3.cpp                |   11 +++++++----
 src/mathed/InsetMathNest.cpp |   12 ++++++++----
 2 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/src/Text3.cpp b/src/Text3.cpp
index 195879a..833a7ed 100644
--- a/src/Text3.cpp
+++ b/src/Text3.cpp
@@ -1699,12 +1699,14 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
        case LFUN_UNICODE_INSERT: {
                if (cmd.argument().empty())
                        break;
-               // splits on whitespace
-               vector<docstring> args =
-                       getVectorFromString(cmd.argument(), from_ascii(" "), 
false, true);
-               for (auto const & arg : args) {
+               int i = 0;
+               while (true) {
+                       docstring const arg = from_utf8(cmd.getArg(i));
+                       if (arg.empty())
+                               break;
                        if (!isHex(arg)) {
                                LYXERR0("Not a hexstring: " << arg);
+                               ++i;
                                continue;
                        }
                        char_type c = hexToInt(arg);
@@ -1712,6 +1714,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
                                LYXERR(Debug::KEY, "Inserting c: " << c);
                                lyx::dispatch(FuncRequest(LFUN_SELF_INSERT, 
docstring(1, c)));
                        }
+                       ++i;
                }
                break;
        }
diff --git a/src/mathed/InsetMathNest.cpp b/src/mathed/InsetMathNest.cpp
index ec46413..6f41591 100644
--- a/src/mathed/InsetMathNest.cpp
+++ b/src/mathed/InsetMathNest.cpp
@@ -1249,20 +1249,24 @@ void InsetMathNest::doDispatch(Cursor & cur, 
FuncRequest & cmd)
        case LFUN_UNICODE_INSERT: {
                if (cmd.argument().empty())
                        break;
-               // splits on whitespace
-               vector<docstring> args =
-                       getVectorFromString(cmd.argument(), from_ascii(" "), 
false, true);
-               for (auto const & arg : args) {
+               int i = 0;
+               while (true) {
+                       docstring const arg = from_utf8(cmd.getArg(i));
+                       if (arg.empty())
+                               break;
                        if (!isHex(arg)) {
                                LYXERR0("Not a hexstring: " << arg);
+                               ++i;
                                continue;
                        }
                        char_type c = hexToInt(arg);
                        if (c >= 32 && c < 0x10ffff) {
+                               LYXERR(Debug::KEY, "Inserting c: " << c);
                                FuncCode code = currentMode() == MATH_MODE ?
                                        LFUN_MATH_INSERT : LFUN_SELF_INSERT;
                                lyx::dispatch(FuncRequest(code, docstring(1, 
c)));
                        }
+                       ++i;
                }
                break;
        }

Reply via email to