diff src/insdel.c @ 77621:beb7c0b976bd

(replace_range): For undo, record insertion first.
author Richard M. Stallman <rms@gnu.org>
date Sun, 29 Apr 2007 21:56:23 +0000
parents f8d6199cdf00
children 922696f363b0 70bf32a0f523
line wrap: on
line diff
--- a/src/insdel.c	Sun Apr 29 21:10:46 2007 +0000
+++ b/src/insdel.c	Sun Apr 29 21:56:23 2007 +0000
@@ -1603,8 +1603,12 @@
 
   if (! EQ (current_buffer->undo_list, Qt))
     {
+      /* Record the insertion first, so that when we undo,
+	 the deletion will be undone first.  Thus, undo
+	 will insert before deleting, and thus will keep
+	 the markers before and after this text separate.  */
+      record_insert (from + SCHARS (deletion), inschars);
       record_delete (from, deletion);
-      record_insert (from, inschars);
     }
 
   GAP_SIZE -= outgoing_insbytes;