On 28-Mar-2000 Jean-Marc Lasgouttes wrote:
>
> Hello,
>
> I just commited a fix to cvs which fixes for me the backspace-crash
> that has been plaguing LyX for some time. Go try latest cvs and tell
> me what happens. I am interested to know whether your favourite way of
> crashing LyX still works and whether editing still works as intended.
Well Jean-Marc I guess we need this to otherwise when doing Backspace()
in a situation like 'a | a' we get 'a|a' instead of 'a| a'. What do you
think?
Sorry no unified patch I only used my VC facility inside XEmacs to
visualize the diff of the actual Buffer to the last version ;)
++++++++++++++++ mail continues below!!! ++++++++++++++++++++++++++
Index: text.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/text.C,v
retrieving revision 1.43
diff -c -r1.43 text.C
*** text.C 2000/03/28 10:22:19 1.43
--- text.C 2000/03/28 11:04:54
***************
*** 3453,3459 ****
SetUndo(Undo::DELETE,
cursor.par->ParFromPos(cursor.pos)->previous,
cursor.par->ParFromPos(cursor.pos)->next);
! CursorLeftIntern();
// some insets are undeletable here
if (cursor.par->GetChar(cursor.pos) == LyXParagraph::META_INSET) {
--- 3453,3471 ----
SetUndo(Undo::DELETE,
cursor.par->ParFromPos(cursor.pos)->previous,
cursor.par->ParFromPos(cursor.pos)->next);
! // We used to do CursorLeftIntern() here, but it is
! // not a good idea since it triggers the auto-delete
! // mechanism. So we do a CursorLeftIntern()-lite,
! // without the dreaded mechanism. (JMarc)
! if (cursor.pos > 0) {
! SetCursorIntern(cursor.par, cursor.pos - 1);
! }
! else if (cursor.par->Previous()) {
! // steps into the above paragraph.
! SetCursorIntern(cursor.par->Previous(),
! cursor.par->Previous()->Last());
! }
! // CursorLeftIntern();
// some insets are undeletable here
if (cursor.par->GetChar(cursor.pos) == LyXParagraph::META_INSET) {
++++++++++++++++++++++++++++++++++++++
And one more CursorPositioning problem try to move the Cursor to the Right
in this situation 'a | a' you'll see that the cursor ends up blinking in the
middle of the second 'a'.
Jürgen
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._
Dr. Jürgen Vigna E-Mail: [EMAIL PROTECTED]
Italienallee 13/N Tel: +39-0471-450260
I-39100 Bozen Fax: +39-0471-450296
ITALY Web: http://www.sad.it/~jug
There seems no plan because it is all plan.
-- C.S. Lewis
-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._-._