diff --git a/src/ChangeLog b/src/ChangeLog index da09b99cfc..c9634c15e4 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2006-02-26 Georg Baum + + * text3.C (mathDispatch): fix math inset creation from string (bug 2315) + 2006-02-28 Martin Vermeer * cursor.C (niceInsert): fix (properly) insertion of diff --git a/src/text3.C b/src/text3.C index e93a70b008..9acb2a7610 100644 --- a/src/text3.C +++ b/src/text3.C @@ -158,16 +158,21 @@ namespace { // create a macro if we see "\\newcommand" // somewhere, and an ordinary formula // otherwise + istringstream is(sel); if (sel.find("\\newcommand") == string::npos && sel.find("\\def") == string::npos) { - cur.insert(new MathHullInset("simple")); - cur.dispatch(FuncRequest(LFUN_RIGHT)); - cur.dispatch(FuncRequest(LFUN_INSERT_MATH, sel)); - } else { - istringstream is(sel); + MathHullInset * formula = new MathHullInset; + LyXLex lex(0, 0); + lex.setStream(is); + formula->read(cur.buffer(), lex); + if (formula->getType() == "none") + // Don't create pseudo formulas if + // delimiters are left out + formula->mutate("simple"); + cur.insert(formula); + } else cur.insert(new MathMacroTemplate(is)); - } } cur.message(N_("Math editor mode")); }