Lisp_Object list;
Lisp_Object prev, next, last_boundary;
EMACS_INT size_so_far = 0;
- ptrdiff_t count = SPECPDL_INDEX ();
+ dynwind_begin ();
static const size_t sizeof_cons = sizeof (scm_t_cell);
/* Make the buffer current to get its local values of variables such
{
/* The function is responsible for making
any desired changes in buffer-undo-list. */
- unbind_to (count, Qnil);
+ dynwind_end ();
return;
}
/* That function probably used the minibuffer, and if so, that
else
bset_undo_list (b, Qnil);
- unbind_to (count, Qnil);
+ dynwind_end ();
}
\f
void
syms_of_undo (void)
{
+#include "undo.x"
+
DEFSYM (Qinhibit_read_only, "inhibit-read-only");
DEFSYM (Qapply, "apply");
last_undo_buffer = NULL;
last_boundary_buffer = NULL;
- defsubr (&Sundo_boundary);
-
DEFVAR_INT ("undo-limit", undo_limit,
doc: /* Keep no more undo information once it exceeds this size.
This limit is applied when garbage collection happens.