This is the diff of my tree against current CVS head (i.e. basically small
bugfixes for bugs from Dekel's list).

Items marked with // should be fixed, ?? means I am uncertain whether the
fix is correct. Unmarked items are not fixed.

---------------------------- Dekel's list -------------------------
Dekel:
?? *- After mutation from eqnarray to align, the cursor goes into a random
??  position, and LyX sometimes crashes.

// *- When pressing ctrl+enter in eqnarray, a row is appended at the end of the
//   array instead of at the cursor position

//*- Pressing <tab> in an eqnarray, will only move the cursor between the cells
//in the current row, namely when pressing tab at the last cell of the row,
//the cursor isn't moved to the next row

*- It is not possible to convert an eqnarray to display math (the message
"need to delete rows first" is printed to stderr), while it is possible to 
convert eqnarray to inline.

- No selection of multiple cells in array/eqnarray

//- C-tab doesn't do anything.
//It should move the contents of current cell (which is to the right of the
//cursor) to the next cell.
//
//For example, pressing C-tab when cursor is between x & y in
//xy & & \\
//   & &
//
//should result
//
//x & y & & \\
//  &    &

//- If you have an inline equation xy, the cursor is between x & y, and you press
//C-Return, then the result is
//xy & & \\
//   & &
//
//While the previous behavior was to create
//x & & \\
//y & &

?? - After mutation from eqnarray to align, the alignment of the middle column
?? is 'r' instead of 'c'.
??  0000 You mean the other way round? align->eqnarray?


Macros:

- If the screen font is large, than when you "open" a macro instance, the
argument number (#1) overlaps with the argument.

- If a macro instance appear inside a subscript, it is not drawn using a
smaller (subscript) font as it should.
Moreover, when you 'open' the instance to edit the argument, the argument
are drawn using the normal font, while it appears that the cursor moves
according to subscript size font.

Menus:

*- The toggle numbering menu is not disabled when not in math inset

- 'Insert->Display formula' inserts an inline formula
  (the lyxfunc should be changed to math-display)

- You should add add/delete column/row menus to Edit->Math

Misc:

// *- If I enter x^y^z, move the cursor before the y, and press backspace,
//    LyX crashes.

*- Text in superscript is not smaller than normal text.

//*- If I mark some text, e.g. abc, and then press M-m s (square root), then
//   the marked text is deleted, and an empty root appears.
//   The old behavior was to create \sqrt{abc}.
//    The same happens with \frac

*- When inserting an integral or summation symbol, an empty superscript appear.

*- In lyx1.1.6, when I type x^2 <backspace> then the 2 is erased, but the
cursor remains in superscript mode, namely there is an empty superscript box.
In CVS, when pressing backspace, the cursor returns to normal level, namely
the superscript box is erased.

*- If I change '\leq \alpha' to bold, the result is \mathbf{£}\mathbf{a} !

- The size of big operators in display equation is like in inline equation and
not bigger.
Also, when you enter super/subscript for big operator in display equation, they
appear like in inline equation (not above/below the operator).

?? - When inserting display math (S-C-M), it is numbered. The old behavior was
?? to insert unnumbered equation.

- Just moving the cursor in a math inset causes changing the buffer status
to (changed).
---------------------------- Dekel's list -------------------------

Andre'

-- 
André Pönitz ............................................. [EMAIL PROTECTED]
Index: LColor.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/LColor.C,v
retrieving revision 1.25
diff -u -p -r1.25 LColor.C
--- LColor.C    2001/06/27 14:10:22     1.25
+++ LColor.C    2001/07/03 17:11:25
@@ -72,8 +72,8 @@ LColor::LColor()
        { commandframe, N_("command inset frame"), "commandframe", "black", 
"commandframe" },
        { special, N_("special character"), "special", "RoyalBlue", "special" },
        { math, N_("math"), "math", "DarkBlue", "math" },
-       { mathbg, N_("math background"), "mathbg", "AntiqueWhite", "mathbg" },
-       { mathmacrobg, N_("Math macro background"), "mathmacrobg", "AntiqueWhite", 
"mathmacrobg" },
+       { mathbg, N_("math background"), "mathbg", "linen", "mathbg" },
+       { mathmacrobg, N_("Math macro background"), "mathmacrobg", "linen", 
+"mathmacrobg" },
        { mathframe, N_("math frame"), "mathframe", "Magenta", "mathframe" },
        { mathcursor, N_("math cursor"), "mathcursor", "black", "mathcursor" },
        { mathline, N_("math line"), "mathline", "Blue", "mathline" },
Index: mathed/formula.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/mathed/formula.C,v
retrieving revision 1.109
diff -u -p -r1.109 formula.C
--- mathed/formula.C    2001/06/28 10:25:20     1.109
+++ mathed/formula.C    2001/07/03 17:11:25
@@ -167,7 +167,7 @@ InsetFormula::localDispatch(BufferView *
 
                case LFUN_BREAKLINE: 
                        bv->lockedInsetStoreUndo(Undo::INSERT);
-                       par()->breakLine();
+                       mathcursor->breakLine();
                        updateLocal(bv);
                        break;
 
@@ -245,24 +245,23 @@ InsetFormula::localDispatch(BufferView *
                }
 
                case LFUN_MATH_EXTERN:
+                       bv->lockedInsetStoreUndo(Undo::EDIT);
                        handleExtern(arg, bv);
                        updateLocal(bv);
                        break;
 
                case LFUN_MATH_MUTATE:
+                       bv->lockedInsetStoreUndo(Undo::EDIT);
                        par()->mutate(arg);
+                       mathcursor->normalize();
                        updateLocal(bv);
                        break;
 
-               case LFUN_TABINSERT:
-                       lyxerr << "take index from cursor\n";
-                       par()->splitCell(0);
-                       updateLocal(bv);
-                       break;
-
                case LFUN_MATH_DISPLAY:
-                       if (par()->GetType() == LM_OT_SIMPLE)
+                       if (par()->GetType() == LM_OT_SIMPLE) {
                                par()->mutate(LM_OT_EQUATION);
+                               par()->numbered(0, false);
+                       }
                        else
                                par()->mutate(LM_OT_SIMPLE);
                        updateLocal(bv);
Index: mathed/formulabase.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/mathed/formulabase.C,v
retrieving revision 1.7
diff -u -p -r1.7 formulabase.C
--- mathed/formulabase.C        2001/07/03 07:56:55     1.7
+++ mathed/formulabase.C        2001/07/03 17:11:25
@@ -522,14 +522,18 @@ InsetFormulaBase::localDispatch(BufferVi
                break;
 
        case LFUN_TAB:
-               bv->lockedInsetStoreUndo(Undo::INSERT);
-               mathcursor->idxRight();
+               mathcursor->idxNext();
                updateLocal(bv);
                break;
 
+       case LFUN_SHIFT_TAB:
+               mathcursor->idxPrev();
+               updateLocal(bv);
+               break;
+
        case LFUN_TABINSERT:
-               bv->lockedInsetStoreUndo(Undo::INSERT);
-               mathcursor->idxRight();
+               bv->lockedInsetStoreUndo(Undo::EDIT);
+               mathcursor->splitCell();
                updateLocal(bv);
                break;
 
@@ -829,6 +833,9 @@ InsetFormulaBase::localDispatch(BufferVi
        default:
                if ((action == -1 || action == LFUN_SELFINSERT) && !arg.empty()) {
                        unsigned char c = arg[0];
+                       lyxerr << "char: '" << c << "'  int: " << int(c) << endl;
+                       //owner_->getIntl()->getTrans().TranslateAndInsert(c, lt);     
+ 
+                       lyxerr << "trans: '" << c << "'  int: " << int(c) << endl;
                        bv->lockedInsetStoreUndo(Undo::INSERT);
 
                        if (c == ' ' && mathcursor->getAccent() == LM_hat) {
Index: mathed/formulamacro.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/mathed/formulamacro.C,v
retrieving revision 1.59
diff -u -p -r1.59 formulamacro.C
--- mathed/formulamacro.C       2001/06/28 10:25:20     1.59
+++ mathed/formulamacro.C       2001/07/03 17:11:25
@@ -141,7 +141,8 @@ void InsetFormulaMacro::draw(BufferView 
        int const w = width(bv, font) - 2;
        int const h = ascent(bv, font) + descent(bv, font) - 2;
 
-       pain.fillRectangle(int(x), y , w, h, LColor::mathbg);
+       // LColor::mathbg used to be "AntiqueWhite" but is "linen" now, too
+       pain.fillRectangle(int(x), y , w, h, LColor::mathmacrobg);
        pain.rectangle(int(x), y, w, h, LColor::mathframe);
 
        if (mathcursor && mathcursor->formula() == this && mathcursor->Selection()) {
Index: mathed/math_cursor.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/mathed/math_cursor.C,v
retrieving revision 1.53
diff -u -p -r1.53 math_cursor.C
--- mathed/math_cursor.C        2001/07/03 07:56:55     1.53
+++ mathed/math_cursor.C        2001/07/03 17:11:25
@@ -20,6 +20,7 @@
 #endif
 
 #include <config.h>
+#include <cctype>
 
 #include "math_inset.h"
 #include "math_parser.h"
@@ -51,6 +52,7 @@
 using std::endl;
 using std::min;
 using std::max;
+using std::isalnum;
 
 
 namespace {
@@ -174,8 +176,8 @@ bool MathCursor::Left(bool sel)
                        result = array().next(anchor_);
                }
        } else {
-               MathInset * p = prevActiveInset();
-               if (p) {
+               MathInset * p = prevInset();
+               if (p && p->isActive()) {
                        // We have to move deeper into the previous inset
                        array().prev(cursor_);
                        push(p, false);
@@ -224,8 +226,8 @@ bool MathCursor::Right(bool sel)
                        result = array().next(cursor_);
                }
        } else {
-               MathInset * p = nextActiveInset();
-               if (p) {
+               MathInset * p = nextInset();
+               if (p && p->isActive()) {
                        push(p, true);
                        result = true;
                } else {
@@ -281,6 +283,7 @@ void MathCursor::SetPos(int x, int y)
        while (1) {
                idx_    = -1;
                cursor_ = -1;
+               lyxerr << "found idx: " << idx_ << " cursor: " << cursor_  << "\n";
                int distmin = 1 << 30; // large enough
                for (int i = 0; i < par_->nargs(); ++i) {
                        MathXArray const & ar = par_->xcell(i);
@@ -298,11 +301,11 @@ void MathCursor::SetPos(int x, int y)
                        }
                }
                lyxerr << "found idx: " << idx_ << " cursor: " << cursor_  << "\n";
-               if (nextIsActive() && nextInset()->covers(x, y)) {
-                       MathInset * p = nextActiveInset();
-                       push(p, true);
-               } else if (prevIsActive() && prevInset()->covers(x, y)) {
-                       MathInset * p = prevActiveInset();
+               MathInset * n = nextInset();
+               MathInset * p = prevInset();
+               if (n && (n->isActive() || n->isScriptInset()) && n->covers(x, y))
+                       push(n, true);
+               else if (p && (p->isActive() || p->isScriptInset()) && p->covers(x, 
+y)) {
                        array().prev(cursor_);
                        push(p, false);
                } else 
@@ -661,10 +664,15 @@ void MathCursor::Interpret(string const 
        }
 
        if (p) {
+               bool oldsel = selection;
+               if (oldsel) 
+                       SelCut();
                insert(p);
                if (p->nargs()) {
                        array().prev(cursor_);
                        push(p, true);
+                       if (oldsel) 
+                               SelPaste();
                }
                p->Metrics(p->size());
        }
@@ -920,10 +928,11 @@ void MathCursor::handleFont(MathTextCode
        if (selection)  {
                int const p1 = std::min(cursor_, anchor_);
                int const p2 = std::max(cursor_, anchor_);
-               for (int pos = p1; pos != p2; array().next(pos))
-                       if (!array().isInset(pos)) { 
-                               MathTextCodes c = array().GetCode(pos) == t ? 
LM_TC_VAR : t;
-                               array().setCode(pos, c);
+               MathArray & ar = array();
+               for (int pos = p1; pos != p2; ar.next(pos))
+                       if (!ar.isInset(pos) && isalnum(ar.GetChar(pos))) { 
+                               MathTextCodes c = ar.GetCode(pos) == t ? LM_TC_VAR : t;
+                               ar.setCode(pos, c);
                        }
        } else {
                if (lastcode == t)
@@ -1094,14 +1103,6 @@ MathInset * MathCursor::prevInset() cons
        return array().GetInset(c);
 }
 
-MathInset * MathCursor::prevActiveInset() const
-{
-       if (cursor_ <= 0 || !array().isInset(cursor_ - 1))
-               return 0;
-       MathInset * inset = prevInset();
-       return inset->isActive() ? inset : 0;
-}
-
 
 MathInset * MathCursor::nextInset() const
 {
@@ -1110,15 +1111,6 @@ MathInset * MathCursor::nextInset() cons
 }
 
 
-MathInset * MathCursor::nextActiveInset() const
-{
-       if (!array().isInset(cursor_))
-               return 0;
-       MathInset * inset = nextInset();
-       return inset->isActive() ? inset : 0;
-}
-
-
 MathScriptInset * MathCursor::nearbyScriptInset() const
 {
        normalize();
@@ -1160,24 +1152,12 @@ bool MathCursor::nextIsInset() const
 }
 
 
-bool MathCursor::nextIsActive() const
-{
-       return nextIsInset() && nextInset()->isActive();
-}
-
-
 bool MathCursor::prevIsInset() const
 {
        return cursor_ > 0 && MathIsInset(prevCode());
 }
 
 
-bool MathCursor::prevIsActive() const
-{
-       return prevIsInset() && prevInset()->isActive();
-}
-
-
 bool MathCursor::IsFont() const
 {
        return MathIsFont(nextCode());
@@ -1202,9 +1182,49 @@ void MathCursor::gotoX(int x)
        cursor_ = xarray().x2pos(x);    
 }
 
-void MathCursor::idxRight()
+void MathCursor::idxNext()
 {
-       par_->idxRight(idx_, cursor_);
+       par_->idxNext(idx_, cursor_);
+}
+
+void MathCursor::idxPrev()
+{
+       par_->idxPrev(idx_, cursor_);
+}
+
+void MathCursor::splitCell()
+{
+       if (idx_ == par_->nargs() - 1) 
+               return;
+       MathArray ar = array();
+       ar.erase(0, cursor_);
+       array().erase(cursor_, array().size());
+       ++idx_;
+       cursor_ = 0;
+       array().insert(0, ar);
+}
+
+void MathCursor::breakLine()
+{
+       MathMatrixInset * p = static_cast<MathMatrixInset *>(formula()->par());
+       if (p->GetType() == LM_OT_SIMPLE || p->GetType() == LM_OT_EQUATION)
+               p->mutate(LM_OT_EQNARRAY);
+       p->addRow(row());
+
+       // split line
+       const int r = row();
+       for (int c = col() + 1; c < p->ncols(); ++c) {
+               const int i1 = p->index(r, c);
+               const int i2 = p->index(r + 1, c);      
+               lyxerr << "swapping cells " << i1 << " and " << i2 << "\n";
+               p->cell(i1).swap(p->cell(i2));
+       }
+
+       // split cell
+       splitCell();
+       MathArray & halfcell = array();
+       idx_ += p->ncols() - 1;
+       halfcell.swap(array());
 }
 
 char MathCursor::valign() const
Index: mathed/math_cursor.h
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/mathed/math_cursor.h,v
retrieving revision 1.22
diff -u -p -r1.22 math_cursor.h
--- mathed/math_cursor.h        2001/07/03 07:56:55     1.22
+++ mathed/math_cursor.h        2001/07/03 17:11:25
@@ -117,13 +117,19 @@ public:
        void setLastCode(MathTextCodes t);
        ///
        void handleFont(MathTextCodes t);
+       /// Splits cells and shifts right part to the next cell
+       void splitCell();
+       /// Splits line and insert new row of cell 
+       void breakLine();
        ///
        MathTextCodes getLastCode() const;
        ///
        int idx() const { return idx_; }
        ///
-       void idxRight();
+       void idxNext();
        ///
+       void idxPrev();
+       ///
        void pullArg();
        ///
        bool isInside(MathInset *) const;
@@ -213,12 +219,8 @@ private:
        ///
        bool nextIsInset() const;
        ///
-       bool nextIsActive() const;
-       ///
        bool prevIsInset() const;
        ///
-       bool prevIsActive() const;
-       ///
        bool IsFont() const;
        ///
        bool IsScript() const;
@@ -227,11 +229,7 @@ private:
        ///
        MathInset * nextInset() const;
        ///
-       MathInset * nextActiveInset() const;
-       ///
        MathInset * prevInset() const;
-       ///
-       MathInset * prevActiveInset() const;
        ///
        MathScriptInset * nearbyScriptInset() const;
 
Index: mathed/math_deliminset.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/mathed/math_deliminset.C,v
retrieving revision 1.9
diff -u -p -r1.9 math_deliminset.C
--- mathed/math_deliminset.C    2001/06/28 10:25:20     1.9
+++ mathed/math_deliminset.C    2001/07/03 17:11:25
@@ -13,7 +13,7 @@
 
 
 MathDelimInset::MathDelimInset(int l, int r)
-       : MathInset("", LM_OT_DELIM, 1), left_(l), right_(r)
+       : MathInset("delim", LM_OT_DELIM, 1), left_(l), right_(r)
 {}
 
 
Index: mathed/math_grid.h
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/mathed/math_grid.h,v
retrieving revision 1.3
diff -u -p -r1.3 math_grid.h
--- mathed/math_grid.h  2001/06/28 10:25:20     1.3
+++ mathed/math_grid.h  2001/07/03 17:11:25
@@ -110,11 +110,10 @@ public: 
        void delCol(int);
        ///
        virtual void appendRow();
-
-protected:
        ///
        int index(int row, int col) const;
 
+protected:
        /// row info
        std::vector<RowInfo> rowinfo_;
        /// column info
Index: mathed/math_inset.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/mathed/math_inset.C,v
retrieving revision 1.29
diff -u -p -r1.29 math_inset.C
--- mathed/math_inset.C 2001/06/28 10:25:20     1.29
+++ mathed/math_inset.C 2001/07/03 17:11:25
@@ -202,7 +202,7 @@ void MathInset::draw(Painter & pain, int
 }
 
 
-bool MathInset::idxRight(int & idx, int & pos) const
+bool MathInset::idxNext(int & idx, int & pos) const
 {
        if (idx + 1 >= nargs())
                return false;
@@ -212,8 +212,14 @@ bool MathInset::idxRight(int & idx, int 
 }
 
 
-bool MathInset::idxLeft(int & idx, int & pos) const
+bool MathInset::idxRight(int & idx, int & pos) const
 {
+       return idxNext(idx, pos);
+}
+
+
+bool MathInset::idxPrev(int & idx, int & pos) const
+{
        if (idx == 0)
                return false;
        --idx;
@@ -221,6 +227,11 @@ bool MathInset::idxLeft(int & idx, int &
        return true;
 }
 
+
+bool MathInset::idxLeft(int & idx, int & pos) const
+{
+       return idxPrev(idx, pos);
+}
 
 bool MathInset::idxUp(int &, int &) const
 {
Index: mathed/math_inset.h
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/mathed/math_inset.h,v
retrieving revision 1.31
diff -u -p -r1.31 math_inset.h
--- mathed/math_inset.h 2001/06/28 10:25:20     1.31
+++ mathed/math_inset.h 2001/07/03 17:11:25
@@ -95,6 +95,11 @@ public: 
        /// The right key
        virtual bool idxRight(int & idx, int & pos) const;
 
+       /// Move one physical cell up
+       virtual bool idxNext(int & idx, int & pos) const;
+       /// Move one physical cell down
+       virtual bool idxPrev(int & idx, int & pos) const;
+
        /// Target pos when we enter the inset from the left by pressing "Right"
        virtual bool idxFirst(int & idx, int & pos) const;
        /// Target pos when we enter the inset from the left by pressing "Up"
Index: mathed/math_macroarg.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/mathed/math_macroarg.C,v
retrieving revision 1.12
diff -u -p -r1.12 math_macroarg.C
--- mathed/math_macroarg.C      2001/06/28 10:25:20     1.12
+++ mathed/math_macroarg.C      2001/07/03 17:11:25
@@ -59,8 +59,8 @@ void MathMacroArgument::WriteNormal(std:
 }
 
 
-void MathMacroArgument::substitute(MathArray & arr, MathMacro const & m) const
+void MathMacroArgument::substitute(MathArray & array, MathMacro const & m) const
 {
-       arr.push_back(m.cell(number_ - 1));
+       array.push_back(m.cell(number_ - 1));
 }
 
Index: mathed/math_matrixinset.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/mathed/math_matrixinset.C,v
retrieving revision 1.21
diff -u -p -r1.21 math_matrixinset.C
--- mathed/math_matrixinset.C   2001/06/28 10:25:20     1.21
+++ mathed/math_matrixinset.C   2001/07/03 17:11:25
@@ -379,25 +379,7 @@ void MathMatrixInset::delCol(int col)
        }
 }
 
-void MathMatrixInset::breakLine() 
-{
-       if (GetType() == LM_OT_SIMPLE || GetType() == LM_OT_EQUATION) 
-               mutate(LM_OT_EQNARRAY);
-       addRow(nrows() - 1);
-}
-
 
-void MathMatrixInset::splitCell(int idx)
-{
-       if (idx == nargs() - 1) {
-               lyxerr << "can't split last cell\n";
-               return;
-       }
-
-       lyxerr << "unimplemented\n";
-}
-
-
 string MathMatrixInset::nicelabel(int row) const
 {
        if (nonum_[row])
@@ -521,7 +503,7 @@ void MathMatrixInset::mutate(short newty
                                case LM_OT_EQNARRAY:
                                        MathGridInset::addCol(1);
                                        SetType(LM_OT_EQNARRAY);
-                                       halign("lrl");
+                                       halign("rcl");
                                        mutate(newtype);
                                        break;
                                
Index: mathed/math_matrixinset.h
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/mathed/math_matrixinset.h,v
retrieving revision 1.13
diff -u -p -r1.13 math_matrixinset.h
--- mathed/math_matrixinset.h   2001/06/28 10:25:20     1.13
+++ mathed/math_matrixinset.h   2001/07/03 17:11:25
@@ -31,8 +31,6 @@ public: 
        ///
        void Metrics(MathStyles st);
        ///
-       void breakLine();
-       ///
        void draw(Painter &, int, int);
        ///
        string label(int row) const;
@@ -69,9 +67,6 @@ public: 
        ///
        void mutate(short);
 
-       /// Splits cells and shifts right part to the next cell
-       void splitCell(int idx);
-       
 private:
        ///
        void Validate1(LaTeXFeatures & features);
Index: mathed/math_parser.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/mathed/math_parser.C,v
retrieving revision 1.56
diff -u -p -r1.56 math_parser.C
--- mathed/math_parser.C        2001/07/03 07:56:55     1.56
+++ mathed/math_parser.C        2001/07/03 17:11:25
@@ -834,6 +834,8 @@ void mathed_parse(MathArray & array, uns
                                        lyxerr << "reading cell " << i << " '" << 
m->cell(i) << "'\n";
                                }
                                do_insert(array, m);
+                               lyxerr << "macro: " << *m << "\n";
+                               m->Metrics(LM_ST_TEXT);
                        } else
                                do_insert(array, new MathFuncInset(yytext, 
LM_OT_UNDEF));
                        break;
Index: mathed/xarray.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/mathed/xarray.C,v
retrieving revision 1.2
diff -u -p -r1.2 xarray.C
--- mathed/xarray.C     2001/06/27 15:57:57     1.2
+++ mathed/xarray.C     2001/07/03 17:11:25
@@ -108,3 +108,9 @@ int MathXArray::width(int pos) const
        else 
                return mathed_char_width(data_.GetCode(pos), style_, 
data_.GetChar(pos));
 }
+
+std::ostream & operator<<(std::ostream & os, MathXArray const & ar)
+{
+       os << ar.data_;
+}
+
Index: mathed/xarray.h
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/mathed/xarray.h,v
retrieving revision 1.1
diff -u -p -r1.1 xarray.h
--- mathed/xarray.h     2001/06/25 00:06:32     1.1
+++ mathed/xarray.h     2001/07/03 17:11:25
@@ -61,6 +61,6 @@ public:
        MathStyles style_;
 };
 
-std::ostream & operator<<(std::ostream & os, MathArray const & ar);
+std::ostream & operator<<(std::ostream & os, MathXArray const & ar);
 
 #endif

Reply via email to