Commit a6d81c93 authored by Miles Bader's avatar Miles Bader
Browse files

(Narrowing): Get rid of warning about now-fixed save-restriction bug.

parent 96f71a49
@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@setfilename ../info/positions
......@@ -911,29 +911,6 @@ restored with temporary narrowing still in effect. If the old point
value were outside the limits of the temporary narrowing, this would
fail to restore it accurately.
The @code{save-restriction} special form records the values of the
beginning and end of the accessible portion as distances from the
beginning and end of the buffer. In other words, it records the amount
of inaccessible text before and after the accessible portion.
This method yields correct results if @var{body} does further narrowing.
However, @code{save-restriction} can become confused if the body widens
and then makes changes outside the range of the saved narrowing. When
this is what you want to do, @code{save-restriction} is not the right
tool for the job. Here is what you must use instead:
@example
@group
(let ((beg (point-min-marker))
(end (point-max-marker)))
(unwind-protect
(progn @var{body})
(save-excursion
(set-buffer (marker-buffer beg))
(narrow-to-region beg end))))
@end group
@end example
Here is a simple example of correct use of @code{save-restriction}:
@example
......
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