Simplify 'without-restriction'
This simplification is symmetrical to 01fb898420
.
* src/editfns.c: (Finternal__labeled_widen): Add a call to
'Fwiden', and rename from 'internal--unlabel-restriction'.
(unwind_labeled_narrow_to_region): Use the renamed function, and
remove the call to 'Fwiden'.
(syms_of_editfns): Rename the symbol.
* lisp/subr.el (internal--without-restriction): Use the renamed
function.
This commit is contained in:
parent
d622602452
commit
9e9e11648d
2 changed files with 11 additions and 10 deletions
|
@ -4146,8 +4146,9 @@ by `with-restriction' with the same LABEL argument are lifted.
|
|||
(defun internal--without-restriction (body &optional label)
|
||||
"Helper function for `without-restriction', which see."
|
||||
(save-restriction
|
||||
(if label (internal--unlabel-restriction label))
|
||||
(widen)
|
||||
(if label
|
||||
(internal--labeled-widen label)
|
||||
(widen))
|
||||
(funcall body)))
|
||||
|
||||
(defun find-tag-default-bounds ()
|
||||
|
|
|
@ -2691,7 +2691,7 @@ DEFUN ("delete-and-extract-region", Fdelete_and_extract_region,
|
|||
labeled restriction was entered (which may be a narrowing that was
|
||||
set by the user and is visible on display). This alist is used
|
||||
internally by narrow-to-region, internal--labeled-narrow-to-region,
|
||||
widen, internal--unlabel-restriction and save-restriction. For
|
||||
widen, internal--labeled-widen and save-restriction. For
|
||||
efficiency reasons, an alist is used instead of a buffer-local
|
||||
variable: otherwise reset_outermost_restrictions, which is called
|
||||
during each redisplay cycle, would have to loop through all live
|
||||
|
@ -2867,8 +2867,7 @@ labeled_restrictions_restore (Lisp_Object buf_and_restrictions)
|
|||
static void
|
||||
unwind_labeled_narrow_to_region (Lisp_Object label)
|
||||
{
|
||||
Finternal__unlabel_restriction (label);
|
||||
Fwiden ();
|
||||
Finternal__labeled_widen (label);
|
||||
}
|
||||
|
||||
/* Narrow current_buffer to BEGV-ZV with a restriction labeled with
|
||||
|
@ -2991,7 +2990,7 @@ argument. To gain access to other portions of the buffer, use
|
|||
|
||||
DEFUN ("internal--labeled-narrow-to-region", Finternal__labeled_narrow_to_region,
|
||||
Sinternal__labeled_narrow_to_region, 3, 3, 0,
|
||||
doc: /* Restrict editing in this buffer to START-END, and label the restriction with LABEL.
|
||||
doc: /* Restrict this buffer to START-END, and label the restriction with LABEL.
|
||||
|
||||
This is an internal function used by `with-restriction'. */)
|
||||
(Lisp_Object start, Lisp_Object end, Lisp_Object label)
|
||||
|
@ -3009,9 +3008,9 @@ This is an internal function used by `with-restriction'. */)
|
|||
return Qnil;
|
||||
}
|
||||
|
||||
DEFUN ("internal--unlabel-restriction", Finternal__unlabel_restriction,
|
||||
Sinternal__unlabel_restriction, 1, 1, 0,
|
||||
doc: /* If the current restriction is labeled with LABEL, remove its label.
|
||||
DEFUN ("internal--labeled-widen", Finternal__labeled_widen,
|
||||
Sinternal__labeled_widen, 1, 1, 0,
|
||||
doc: /* Remove the current restriction if it is labeled with LABEL, and widen.
|
||||
|
||||
This is an internal function used by `without-restriction'. */)
|
||||
(Lisp_Object label)
|
||||
|
@ -3019,6 +3018,7 @@ This is an internal function used by `without-restriction'. */)
|
|||
Lisp_Object buf = Fcurrent_buffer ();
|
||||
if (EQ (labeled_restrictions_peek_label (buf), label))
|
||||
labeled_restrictions_pop (buf);
|
||||
Fwiden ();
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
|
@ -4958,7 +4958,7 @@ it to be non-nil. */);
|
|||
defsubr (&Swiden);
|
||||
defsubr (&Snarrow_to_region);
|
||||
defsubr (&Sinternal__labeled_narrow_to_region);
|
||||
defsubr (&Sinternal__unlabel_restriction);
|
||||
defsubr (&Sinternal__labeled_widen);
|
||||
defsubr (&Ssave_restriction);
|
||||
defsubr (&Stranspose_regions);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue