(Lisp_Object n)
{
ptrdiff_t orig, orig_byte, end;
- ptrdiff_t count = SPECPDL_INDEX ();
+ dynwind_begin ();
specbind (Qinhibit_point_motion_hooks, Qt);
if (NILP (n))
SET_PT_BOTH (orig, orig_byte);
- unbind_to (count, Qnil);
+ dynwind_end ();
/* Return END constrained to the current input field. */
return Fconstrain_to_field (make_number (end), make_number (orig),
(Lisp_Object args)
{
register Lisp_Object val;
- ptrdiff_t count = SPECPDL_INDEX ();
+ dynwind_begin ();
record_unwind_protect (save_excursion_restore, save_excursion_save ());
val = Fprogn (args);
- return unbind_to (count, val);
+ dynwind_end ();
+ return val;
}
DEFUN ("save-current-buffer", Fsave_current_buffer, Ssave_current_buffer, 0, UNEVALLED, 0,
usage: (save-current-buffer &rest BODY) */)
(Lisp_Object args)
{
- ptrdiff_t count = SPECPDL_INDEX ();
+ dynwind_begin ();
record_unwind_current_buffer ();
- return unbind_to (count, Fprogn (args));
+ Lisp_Object tem0 = Fprogn (args);
+ dynwind_end ();
+ return tem0;
}
\f
DEFUN ("buffer-size", Fbuffer_size, Sbuffer_size, 0, 1, 0,
ptrdiff_t changed = 0;
unsigned char fromstr[MAX_MULTIBYTE_LENGTH], tostr[MAX_MULTIBYTE_LENGTH];
unsigned char *p;
- ptrdiff_t count = SPECPDL_INDEX ();
+ dynwind_begin ();
#define COMBINING_NO 0
#define COMBINING_BEFORE 1
#define COMBINING_AFTER 2
update_compositions (changed, last_changed, CHECK_ALL);
}
- unbind_to (count, Qnil);
+ dynwind_end ();
return Qnil;
}
(Lisp_Object body)
{
register Lisp_Object val;
- ptrdiff_t count = SPECPDL_INDEX ();
+ dynwind_begin ();
record_unwind_protect (save_restriction_restore, save_restriction_save ());
val = Fprogn (body);
- return unbind_to (count, val);
+ dynwind_end ();
+ return val;
}
\f
DEFUN ("message", Fmessage, Smessage, 1, MANY, 0,
Fadd_text_properties (make_number (0),
make_number (SCHARS (string)),
properties, string);
- RETURN_UNGCPRO (string);
+ return string;
}
DEFUN ("format", Fformat, Sformat, 1, MANY, 0,