diff options
author | Karl Heuer <kwzh@gnu.org> | 1994-03-03 20:12:01 +0000 |
---|---|---|
committer | Karl Heuer <kwzh@gnu.org> | 1994-03-03 20:12:01 +0000 |
commit | 4e665715b9645a4c381f66f01c2cf5f93f97aabc (patch) | |
tree | 0ee84cbb936953436691865a8a1203c1b02bc3ab /src/undo.c | |
parent | 01314b95faa6b1223345782b3ff568d742411989 (diff) | |
download | emacs-4e665715b9645a4c381f66f01c2cf5f93f97aabc.tar.gz |
(record_delete): Save last_point_position in the undo record, rather than the
current value of point.
Diffstat (limited to 'src/undo.c')
-rw-r--r-- | src/undo.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/undo.c b/src/undo.c index a0e9f84f7c9..64f773d62c8 100644 --- a/src/undo.c +++ b/src/undo.c @@ -22,6 +22,7 @@ and this notice must be preserved on all copies. */ #include <config.h> #include "lisp.h" #include "buffer.h" +#include "commands.h" /* Last buffer for which undo information was recorded. */ Lisp_Object last_undo_buffer; @@ -95,10 +96,10 @@ record_delete (beg, length) XFASTINT (lbeg) = beg; XFASTINT (lend) = beg + length; - /* If point isn't at start of deleted range, record where it is. */ - if (PT != XFASTINT (sbeg)) + /* If point wasn't at start of deleted range, record where it was. */ + if (last_point_position != XFASTINT (sbeg)) current_buffer->undo_list - = Fcons (make_number (PT), current_buffer->undo_list); + = Fcons (make_number (last_point_position), current_buffer->undo_list); current_buffer->undo_list = Fcons (Fcons (Fbuffer_substring (lbeg, lend), sbeg), |