1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-07 04:10:27 -08:00

(Fprimitive_undo): Handle (FUNNAME . ARGS) by calling FUNNAME.

This commit is contained in:
Richard M. Stallman 2005-01-29 17:16:31 +00:00
parent 2da637a538
commit 6887bce515

View file

@ -519,7 +519,7 @@ Return what remains of the list. */)
}
else if (EQ (car, Qnil))
{
/* Element (nil prop val beg . end) is property change. */
/* Element (nil PROP VAL BEG . END) is property change. */
Lisp_Object beg, end, prop, val;
prop = Fcar (cdr);
@ -543,6 +543,18 @@ Return what remains of the list. */)
Fgoto_char (car);
Fdelete_region (car, cdr);
}
else if (SYMBOLP (car))
{
Lisp_Object oldlist = current_buffer->undo_list;
/* Element (FUNNAME . ARGS) means call FUNNAME to undo. */
apply1 (car, cdr);
/* Make sure this produces at least one undo entry,
so the test in `undo' for continuing an undo series
will work right. */
if (EQ (oldlist, current_buffer->undo_list))
current_buffer->undo_list
= Fcons (list2 (Qcdr, Qnil), current_buffer->undo_list);
}
else if (STRINGP (car) && INTEGERP (cdr))
{
/* Element (STRING . POS) means STRING was deleted. */
@ -589,7 +601,7 @@ Return what remains of the list. */)
UNGCPRO;
return unbind_to (count, list);
}
void
syms_of_undo ()
{