André, I have a warning when compiling math_data.C. Wouldn't it be more elegant/comprehensible to define a MathCursor::npos if you're saying that the value is now invalid?
cxx: Warning: ../../../src/mathed/math_data.C, line 411: #68-D integer conversion resulted in a change of sign mathcursor->adjust(i, -1); ----------------------------------------------^ class MathCursor { + static size_type const npos = static_cast<size_type>(-1); /// adjust position after deletion/insertion void adjust(pos_type from, size_type size); }; Angus