Emacs Lisp: Save narrow-to-region
Emacs has a
narrow-to-region
command. It lets users make the buffer show only the selected region, as if
the entire buffer is just that text.
This is convenient when you want to do some editing only in this region.
Alt + x
widen
will make buffer show whole buffer again.
The
narrow-to-region
is also super useful
in elisp code.
However, when you command is done, you should return to the narrow region state of the user before
the command was called.
Emacs lisp provides
save-restriction
for this purpose.
save-restriction
-
(save-restriction &rest BODY)
Execute BODY, saving and restoring user'snarrow-to-region
.
;; preserve user's narrow-to-region ;; useful when you want to narrow-to-region in your code to work in just that region (save-restriction (narrow-to-region pos1 pos2) ;; lisp code here )