comparison src/undo.c @ 30961:78ce106d272e

(record_first_change, record_marker_adjustment): Don'use XBUFFER on last_undo_buffer which might not be a buffer.
author Gerd Moellmann <gerd@gnu.org>
date Sat, 19 Aug 2000 12:33:00 +0000
parents 5583737fcf85
children 8d46095169e8
comparison
equal deleted inserted replaced
30960:c598e9bfdce2 30961:78ce106d272e
165 165
166 /* Allocate a cons cell to be the undo boundary after this command. */ 166 /* Allocate a cons cell to be the undo boundary after this command. */
167 if (NILP (pending_boundary)) 167 if (NILP (pending_boundary))
168 pending_boundary = Fcons (Qnil, Qnil); 168 pending_boundary = Fcons (Qnil, Qnil);
169 169
170 if (current_buffer != XBUFFER (last_undo_buffer)) 170 if (!BUFFERP (last_undo_buffer)
171 || current_buffer != XBUFFER (last_undo_buffer))
171 Fundo_boundary (); 172 Fundo_boundary ();
172 XSETBUFFER (last_undo_buffer, current_buffer); 173 XSETBUFFER (last_undo_buffer, current_buffer);
173 174
174 current_buffer->undo_list 175 current_buffer->undo_list
175 = Fcons (Fcons (marker, make_number (adjustment)), 176 = Fcons (Fcons (marker, make_number (adjustment)),
199 struct buffer *base_buffer = current_buffer; 200 struct buffer *base_buffer = current_buffer;
200 201
201 if (EQ (current_buffer->undo_list, Qt)) 202 if (EQ (current_buffer->undo_list, Qt))
202 return; 203 return;
203 204
204 if (current_buffer != XBUFFER (last_undo_buffer)) 205 if (!BUFFERP (last_undo_buffer)
206 || current_buffer != XBUFFER (last_undo_buffer))
205 Fundo_boundary (); 207 Fundo_boundary ();
206 XSETBUFFER (last_undo_buffer, current_buffer); 208 XSETBUFFER (last_undo_buffer, current_buffer);
207 209
208 if (base_buffer->base_buffer) 210 if (base_buffer->base_buffer)
209 base_buffer = base_buffer->base_buffer; 211 base_buffer = base_buffer->base_buffer;