diff options
| author | Richard M. Stallman <rms@gnu.org> | 1993-03-15 06:03:33 +0000 |
|---|---|---|
| committer | Richard M. Stallman <rms@gnu.org> | 1993-03-15 06:03:33 +0000 |
| commit | bdbe6f28567c2bd4aa86bd171111821e597f11ea (patch) | |
| tree | 749a9b5fc0145078c458e6f6551ef1f66ce73822 /src | |
| parent | cdaa87fd065ddd2431ce9ff21c5b9de4f4b6419b (diff) | |
| download | emacs-bdbe6f28567c2bd4aa86bd171111821e597f11ea.tar.gz | |
(record_property_change, record_delete, record_insert):
Don't make boundary or touch last_undo_buffer if cur buf has no undo.
Diffstat (limited to 'src')
| -rw-r--r-- | src/undo.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/undo.c b/src/undo.c index d004410a71e..c8ba54580cb 100644 --- a/src/undo.c +++ b/src/undo.c @@ -36,12 +36,13 @@ record_insert (beg, length) { Lisp_Object lbeg, lend; + if (EQ (current_buffer->undo_list, Qt)) + return; + if (current_buffer != XBUFFER (last_undo_buffer)) Fundo_boundary (); XSET (last_undo_buffer, Lisp_Buffer, current_buffer); - if (EQ (current_buffer->undo_list, Qt)) - return; if (MODIFF <= current_buffer->save_modified) record_first_change (); @@ -75,12 +76,13 @@ record_delete (beg, length) { Lisp_Object lbeg, lend, sbeg; + if (EQ (current_buffer->undo_list, Qt)) + return; + if (current_buffer != XBUFFER (last_undo_buffer)) Fundo_boundary (); XSET (last_undo_buffer, Lisp_Buffer, current_buffer); - if (EQ (current_buffer->undo_list, Qt)) - return; if (MODIFF <= current_buffer->save_modified) record_first_change (); @@ -135,13 +137,13 @@ record_property_change (beg, length, prop, value, buffer) struct buffer *obuf = current_buffer; int boundary = 0; + if (EQ (current_buffer->undo_list, Qt)) + return; + if (!EQ (buffer, last_undo_buffer)) boundary = 1; last_undo_buffer = buffer; - if (EQ (current_buffer->undo_list, Qt)) - return; - /* Switch temporarily to the buffer that was changed. */ current_buffer = XBUFFER (buffer); |
