(Finsert_file_contents): Don't reset undo_list if no change

is made to the buffer.
This commit is contained in:
Stefan Monnier 2008-02-27 04:10:15 +00:00
parent d379ff015f
commit 18a9f8d9bc
2 changed files with 11 additions and 2 deletions

View file

@ -1,3 +1,8 @@
2008-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
* fileio.c (Finsert_file_contents): Don't reset undo_list if no change
is made to the buffer.
2008-02-26 Stefan Monnier <monnier@iro.umontreal.ca>
* dispextern.h (face_at_buffer_position, face_for_overlay_string)

View file

@ -3716,6 +3716,7 @@ variable `last-coding-system-used' to the coding system actually used. */)
struct stat st;
register int fd;
int inserted = 0;
int nochange = 0;
register int how_much;
register int unprocessed;
int count = SPECPDL_INDEX ();
@ -4281,7 +4282,10 @@ variable `last-coding-system-used' to the coding system actually used. */)
{
specpdl_ptr--;
/* Truncate the buffer to the size of the file. */
del_range_byte (same_at_start, same_at_end, 0);
if (same_at_start == same_at_end)
nochange = 1;
else
del_range_byte (same_at_start, same_at_end, 0);
inserted = 0;
unbind_to (this_count, Qnil);
@ -4628,7 +4632,7 @@ variable `last-coding-system-used' to the coding system actually used. */)
if (!NILP (visit))
{
if (!EQ (current_buffer->undo_list, Qt))
if (!EQ (current_buffer->undo_list, Qt) && !nochange)
current_buffer->undo_list = Qnil;
if (NILP (handler))