so the buffer is truly empty after this. */)
(void)
{
+ labeled_restrictions_remove_in_current_buffer ();
Fwiden ();
del_range (BEG, Z);
{
/* No need to save restrictions since we delete everything
anyway. */
+ labeled_restrictions_remove_in_current_buffer ();
Fwiden ();
del_range (BEG, Z);
}
XSETCDR (restrictions, list1 (XCDR (XCAR (XCDR (restrictions)))));
}
+/* Unconditionally remove all labeled restrictions in current_buffer. */
+void
+labeled_restrictions_remove_in_current_buffer (void)
+{
+ labeled_restrictions_remove (Fcurrent_buffer ());
+}
+
static void
unwind_reset_outermost_restriction (Lisp_Object buf)
{
}
record_unwind_protect (save_restriction_restore, save_restriction_save ());
+ labeled_restrictions_remove_in_current_buffer ();
/* Special kludge to simplify auto-saving. */
if (NILP (start))
{
record_unwind_protect (save_restriction_restore,
save_restriction_save ());
+ labeled_restrictions_remove_in_current_buffer ();
Fwiden ();
saved_restriction = true;
}
ptrdiff_t, bool);
extern void labeled_narrow_to_region (Lisp_Object, Lisp_Object, Lisp_Object);
extern void reset_outermost_restrictions (void);
+extern void labeled_restrictions_remove_in_current_buffer (void);
extern void init_editfns (void);
extern void syms_of_editfns (void);
record_unwind_protect_excursion ();
/* Save ZV in it. */
record_unwind_protect (save_restriction_restore, save_restriction_save ());
+ labeled_restrictions_remove_in_current_buffer ();
/* Those get unbound after we read one expression. */
/* Set point and ZV around stuff to be read. */
ptrdiff_t val;
specpdl_ref pdl_count = SPECPDL_INDEX ();
record_unwind_protect (save_restriction_restore, save_restriction_save ());
+ labeled_restrictions_remove_in_current_buffer ();
Fwiden ();
val = display_count_lines (start_byte, limit_byte, count, byte_pos_ptr);
unbind_to (pdl_count, Qnil);