Commit 6887bce5 authored by Richard M. Stallman's avatar Richard M. Stallman
Browse files

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

parent 2da637a5
......@@ -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 ()
{
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment