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,

Reply via email to