]> git.lyx.org Git - features.git/commitdiff
small bugfixes
authorAndré Pönitz <poenitz@gmx.net>
Mon, 23 Jul 2001 16:08:41 +0000 (16:08 +0000)
committerAndré Pönitz <poenitz@gmx.net>
Mon, 23 Jul 2001 16:08:41 +0000 (16:08 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2312 a592a061-630c-0410-9148-cb99ea01b6c8

src/mathed/formulabase.C
src/mathed/math_cursor.C

index 11a8cb3461609884e8acfdc0706be7c74b21ebc6..44a40e4335be57a0882b2252b9ec14d6ebfd8ec6 100644 (file)
@@ -623,34 +623,43 @@ InsetFormulaBase::localDispatch(BufferView * bv, kb_action action,
        case LFUN_MATH_DELIM:
        {
                bv->lockedInsetStoreUndo(Undo::INSERT);
-               int ilt = '(';
-               int irt = '.';
                static const string vdelim("(){}[]./|");
                //lyxerr << "formulabase::LFUN_MATH_DELIM, arg: '" << arg << "'\n";
 
                if (arg.empty())
                        break;
 
+               // try to read integers first
+               int ilt = '(';
+               int irt = '.';
                istringstream is(arg.c_str());
-               string lt;
-               string rt;
-               is >> lt >> rt;
-               //lyxerr << "formulabase::LFUN_MATH_DELIM, lt: '" << lt << "'\n";
-               //lyxerr << "formulabase::LFUN_MATH_DELIM, rt: '" << rt << "'\n";
-
-               if (lt.size() > 1) {
-                       latexkeys const * l = in_word_set(lt);
-                       if (l)
-                               ilt = l->id;
-               } else if (vdelim.find(lt[0]) != string::npos)
-                               ilt = lt[0];
-
-               if (rt.size() > 1) {
-                       latexkeys const * l = in_word_set(rt);
-                       if (l)
-                               irt = l->id;
-               } else if (vdelim.find(rt[0]) != string::npos)
-                               irt = rt[0];
+               is >> ilt >> irt;
+
+               if (!is) { // ok, the beasties are no integers... try something else
+                       ilt = '(';
+                       irt = '.';
+
+                       istringstream is(arg.c_str());
+                       string lt;
+                       string rt;
+                       is >> lt >> rt;
+                       //lyxerr << "formulabase::LFUN_MATH_DELIM, lt: '" << lt << "'\n";
+                       //lyxerr << "formulabase::LFUN_MATH_DELIM, rt: '" << rt << "'\n";
+
+                       if (lt.size() > 1) {
+                               latexkeys const * l = in_word_set(lt);
+                               if (l)
+                                       ilt = l->id;
+                       } else if (vdelim.find(lt[0]) != string::npos)
+                                       ilt = lt[0];
+
+                       if (rt.size() > 1) {
+                               latexkeys const * l = in_word_set(rt);
+                               if (l)
+                                       irt = l->id;
+                       } else if (vdelim.find(rt[0]) != string::npos)
+                                       irt = rt[0];
+               }
 
                handleDelim(bv, ilt, irt);
                updateLocal(bv, true);
index f4939022018abba450b516afbff0f4a8f83b03c5..27bb3006f04a424cb3bd89ae0d64fa3bdf9205bc 100644 (file)
@@ -1109,9 +1109,9 @@ MathUpDownInset * MathCursor::nearbyUpDownInset() const
        MathInset * p = array().prevInset(cursor().pos_);
        if (p && p->isUpDownInset())
                return static_cast<MathUpDownInset *>(p);
-       p = array().nextInset(cursor().pos_);
-       if (p && p->isUpDownInset())
-               return static_cast<MathUpDownInset *>(p);
+       //p = array().nextInset(cursor().pos_);
+       //if (p && p->isUpDownInset())
+       //      return static_cast<MathUpDownInset *>(p);
        return 0;
 }