/[emacs]/emacs/src/undo.c
ViewVC logotype

Diff of /emacs/src/undo.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.63 by rms, Thu Dec 23 00:15:23 2004 UTC revision 1.64 by rms, Sat Jan 29 17:16:31 2005 UTC
# Line 519  Return what remains of the list.  */) Line 519  Return what remains of the list.  */)
519                  }                  }
520                else if (EQ (car, Qnil))                else if (EQ (car, Qnil))
521                  {                  {
522                    /* Element (nil prop val beg . end) is property change.  */                    /* Element (nil PROP VAL BEG . END) is property change.  */
523                    Lisp_Object beg, end, prop, val;                    Lisp_Object beg, end, prop, val;
524    
525                    prop = Fcar (cdr);                    prop = Fcar (cdr);
# Line 543  Return what remains of the list.  */) Line 543  Return what remains of the list.  */)
543                    Fgoto_char (car);                    Fgoto_char (car);
544                    Fdelete_region (car, cdr);                    Fdelete_region (car, cdr);
545                  }                  }
546                  else if (SYMBOLP (car))
547                    {
548                      Lisp_Object oldlist = current_buffer->undo_list;
549                      /* Element (FUNNAME . ARGS) means call FUNNAME to undo.  */
550                      apply1 (car, cdr);
551                      /* Make sure this produces at least one undo entry,
552                         so the test in `undo' for continuing an undo series
553                         will work right.  */
554                      if (EQ (oldlist, current_buffer->undo_list))
555                        current_buffer->undo_list
556                          = Fcons (list2 (Qcdr, Qnil), current_buffer->undo_list);
557                    }
558                else if (STRINGP (car) && INTEGERP (cdr))                else if (STRINGP (car) && INTEGERP (cdr))
559                  {                  {
560                    /* Element (STRING . POS) means STRING was deleted.  */                    /* Element (STRING . POS) means STRING was deleted.  */
# Line 589  Return what remains of the list.  */) Line 601  Return what remains of the list.  */)
601    UNGCPRO;    UNGCPRO;
602    return unbind_to (count, list);    return unbind_to (count, list);
603  }  }
604    
605  void  void
606  syms_of_undo ()  syms_of_undo ()
607  {  {

Legend:
Removed from v.1.63  
changed lines
  Added in v.1.64

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26