bugMIT/GNU Scheme - Bugs: bug #14918, Undoing sometimes moves the point...

 
 

bug #14918: Undoing sometimes moves the point randomly.

Submitted by:  Taylor R. Campbell <riastradh>
Submitted on:  Fri 04 Nov 2005 10:37:40 PM UTC  
 
Category: edwinSeverity: 2 - Minor
Priority: 5 - NormalItem Group: Suboptimal behavior
Status: FixedPrivacy: Public
Assigned to: NoneOriginator Name: 
Open/Closed: Closed
Keywords: 

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Sun 25 Dec 2005 07:07:44 PM UTC, comment #4:

OK, after a couple months of testing and forgetting about this,
the fixes seem to work.

Taylor R. Campbell <riastradh>
Project Member
Sun 06 Nov 2005 04:44:06 PM UTC, comment #3:

OK, I've made the changes suggested by your comments. Please test.

Chris Hanson <cph>
Project Administrator
Sat 05 Nov 2005 07:39:21 PM UTC, comment #2:

Nope, doesn't seem to fix it. The new code is easier to follow, but I
think the problem is that somewhere else, not in the undo code, the
group point is becoming inconsistent with the window point. I still
don't recognize any pattern in this inconsistency, though; it is only
by chance that I happen upon locations in text where it happens. It
doesn't happen reliably in the same places, too, so the only plausible
suspicion I can think of is that it has something to do with gap
movement. (I notice that GROUP-DELETE! moves the group's gap without
updating the gap start & end fields, which seems wrong, but I can't
find any connection to the group point there, and if it were really
wrong undo probably wouldn't work at all.)

Taylor R. Campbell <riastradh>
Project Member
Sat 05 Nov 2005 06:21:24 AM UTC, comment #1:

Please try latest cvs version of undo.scm and see if it helps.

Chris Hanson <cph>
Project Administrator
Fri 04 Nov 2005 10:37:40 PM UTC, original submission:

Somewhere, a glitch occurs in the undo-recording of deletions, so that
the group's point is not the same as the point from which the deletion
is occurring, even though the deletion occurs from the current point.
Because of this, a bogus mark index is recorded in the undo history
after the deleted text, and, when you undo, the current point is set to
a mark with that bogus mark index, leading to random jumpage of point,
when the point should be set to what it was originally. This is
sometimes exhibited, for example, simply by typing C-k C-/ to kill a
line and then to undo (when there is something on the line and the
pointis in the middle of the line), but its reproduction appears
random: I have not yet figured out the pattern which it follows. A
similar behaviour, though I don't know whether it is internally the
same as what I described above (a bogus mark index recorded because the
group point differs from the point of deletion), is exhibited with some
other commands, too.

Taylor R. Campbell <riastradh>
Project Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

Do you think this task is very important?
If so, you can click here to add your encouragement to it.
This task has 0 encouragements so far.

Only logged-in users can vote.

 

Please enter the title of George Orwell's famous dystopian book (it's a date):

 

 

Follow 3 latest changes.

Date Changed By Updated Field Previous Value => Replaced By
Sun 25 Dec 2005 07:07:44 PM UTCriastradhStatusReady For Test=>Fixed
  Open/ClosedOpen=>Closed
Sun 06 Nov 2005 04:44:06 PM UTCcphStatusNone=>Ready For Test

Back to the top


Powered by Savane 3.1-cleanup1