diff options
Diffstat (limited to 'src/coding.c')
| -rw-r--r-- | src/coding.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/coding.c b/src/coding.c index 08633d8bcff..c601a18b26e 100644 --- a/src/coding.c +++ b/src/coding.c | |||
| @@ -7102,6 +7102,15 @@ decode_coding (struct coding_system *coding) | |||
| 7102 | set_buffer_internal (XBUFFER (coding->dst_object)); | 7102 | set_buffer_internal (XBUFFER (coding->dst_object)); |
| 7103 | if (GPT != PT) | 7103 | if (GPT != PT) |
| 7104 | move_gap_both (PT, PT_BYTE); | 7104 | move_gap_both (PT, PT_BYTE); |
| 7105 | |||
| 7106 | /* We must disable undo_list in order to record the whole insert | ||
| 7107 | transaction via record_insert at the end. But doing so also | ||
| 7108 | disables the recording of the first change to the undo_list. | ||
| 7109 | Therefore we check for first change here and record it via | ||
| 7110 | record_first_change if needed. */ | ||
| 7111 | if (MODIFF <= SAVE_MODIFF) | ||
| 7112 | record_first_change (); | ||
| 7113 | |||
| 7105 | undo_list = BVAR (current_buffer, undo_list); | 7114 | undo_list = BVAR (current_buffer, undo_list); |
| 7106 | BSET (current_buffer, undo_list, Qt); | 7115 | BSET (current_buffer, undo_list, Qt); |
| 7107 | } | 7116 | } |