comparison src/undo.c @ 223:2c611d1463a6 r20-4b10

Import from CVS: tag r20-4b10
author cvs
date Mon, 13 Aug 2007 10:10:54 +0200
parents d44af0c54775
children 558f606b08ae
comparison
equal deleted inserted replaced
222:aae4c8b01452 223:2c611d1463a6
429 if (mod_time != current_buffer->modtime) 429 if (mod_time != current_buffer->modtime)
430 break; 430 break;
431 #ifdef CLASH_DETECTION 431 #ifdef CLASH_DETECTION
432 Funlock_buffer (); 432 Funlock_buffer ();
433 #endif /* CLASH_DETECTION */ 433 #endif /* CLASH_DETECTION */
434 Fset_buffer_modified_p (Qnil, Fcurrent_buffer ()); /* may GC under ENERGIZE */ 434 /* may GC under ENERGIZE: */
435 Fset_buffer_modified_p (Qnil, Qnil);
435 } 436 }
436 else if (EXTENTP (car)) 437 else if (EXTENTP (car))
437 { 438 {
438 /* Element (extent start end) means that EXTENT was 439 /* Element (extent start end) means that EXTENT was
439 detached, and we need to reattach it. */ 440 detached, and we need to reattach it. */
471 if (XINT (car) < BUF_BEGV (current_buffer) 472 if (XINT (car) < BUF_BEGV (current_buffer)
472 || XINT (cdr) > BUF_ZV (current_buffer)) 473 || XINT (cdr) > BUF_ZV (current_buffer))
473 error ("Changes to be undone are outside visible portion of buffer"); 474 error ("Changes to be undone are outside visible portion of buffer");
474 /* Set point first thing, so that undoing this undo 475 /* Set point first thing, so that undoing this undo
475 does not send point back to where it is now. */ 476 does not send point back to where it is now. */
476 Fgoto_char (car, Fcurrent_buffer ()); 477 Fgoto_char (car, Qnil);
477 Fdelete_region (car, cdr, Fcurrent_buffer ()); 478 Fdelete_region (car, cdr, Qnil);
478 } 479 }
479 else if (STRINGP (car) && INTP (cdr)) 480 else if (STRINGP (car) && INTP (cdr))
480 { 481 {
481 /* Element (STRING . POS) means STRING was deleted. */ 482 /* Element (STRING . POS) means STRING was deleted. */
482 Lisp_Object membuf = car; 483 Lisp_Object membuf = car;