http://bugzilla.lyx.org/show_bug.cgi?id=1254
This patch fixes the problem reported as bug 1254. Deleted blanks (in change tracking mode) are handled as such by the code that forbids and the code that deletes consecutive blanks. OK? Jürgen
Index: text.C =================================================================== RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/text.C,v retrieving revision 1.622 diff -p -u -r1.622 text.C --- text.C 18 Jul 2005 17:12:23 -0000 1.622 +++ text.C 29 Jul 2005 14:38:43 -0000 @@ -1170,8 +1170,9 @@ void LyXText::insertChar(LCursor & cur, return; } BOOST_ASSERT(cur.pos() > 0); - if (par.isLineSeparator(cur.pos() - 1) - || par.isNewline(cur.pos() - 1)) { + if ((par.isLineSeparator(cur.pos() - 1) + || par.isNewline(cur.pos() - 1)) + && par.lookupChange(cur.pos() - 1) != Change::DELETED) { static bool sent_space_message = false; if (!sent_space_message) { cur.message(_("You cannot type two spaces this way. " Index: text2.C =================================================================== RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/text2.C,v retrieving revision 1.625 diff -p -u -r1.625 text2.C --- text2.C 29 Jul 2005 10:00:43 -0000 1.625 +++ text2.C 29 Jul 2005 14:38:45 -0000 @@ -1218,7 +1218,8 @@ bool LyXText::deleteEmptyParagraphMechan if (old.pos() > 0 && old.pos() < oldpar.size() && oldpar.isLineSeparator(old.pos()) - && oldpar.isLineSeparator(old.pos() - 1)) { + && oldpar.isLineSeparator(old.pos() - 1) + && oldpar.lookupChange(old.pos() - 1) != Change::DELETED) { // We need to set the text to Change::INSERTED to // get it erased properly pars_[old.pit()].setChange(old.pos() -1,