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

 
 

bug #14918: Undoing sometimes moves the point randomly.

Submitter:  Taylor R. Campbell <riastradh>
Submitted:  Fri 04 Nov 2005 10:37:40 PM UTC
   
 
Category:  edwin Severity:  2 - Minor
Priority:  5 - Normal Item Group:  Suboptimal behavior
Status:  Fixed Privacy:  Public
Assigned to:  None Originator Name: 
Open/Closed:  Closed
Keywords: 
* Mandatory Fields

Add a New Comment Rich Markup
   

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>
Group 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>
Group 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>
Group 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>
Group 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>
Group Member

 

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

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

Only logged-in users can vote.

 

Follow 3 latest changes.

Date Changed by Updated Field Previous Value => Replaced by
2005-12-25 riastradh StatusReady For Test Fixed
    Open/ClosedOpen Closed
2005-11-06 cph StatusNone Ready For Test

Back to the top

Powered by Savane 3.13-f8d8.
Corresponding source code