eintr: Narrowing advantages

 
 The Advantages of Narrowing
 ===========================
 
 With narrowing, the rest of a buffer is made invisible, as if it weren’t
 there.  This is an advantage if, for example, you want to replace a word
 in one part of a buffer but not in another: you narrow to the part you
 want and the replacement is carried out only in that section, not in the
 rest of the buffer.  Searches will only work within a narrowed region,
 not outside of one, so if you are fixing a part of a document, you can
 keep yourself from accidentally finding parts you do not need to fix by
 narrowing just to the region you want.  (The key binding for
 ‘narrow-to-region’ is ‘C-x n n’.)
 
    However, narrowing does make the rest of the buffer invisible, which
 can scare people who inadvertently invoke narrowing and think they have
 deleted a part of their file.  Moreover, the ‘undo’ command (which is
 usually bound to ‘C-x u’) does not turn off narrowing (nor should it),
 so people can become quite desperate if they do not know that they can
 return the rest of a buffer to visibility with the ‘widen’ command.
 (The key binding for ‘widen’ is ‘C-x n w’.)
 
    Narrowing is just as useful to the Lisp interpreter as to a human.
 Often, an Emacs Lisp function is designed to work on just part of a
 buffer; or conversely, an Emacs Lisp function needs to work on all of a
 buffer that has been narrowed.  The ‘what-line’ function, for example,
 removes the narrowing from a buffer, if it has any narrowing and when it
 has finished its job, restores the narrowing to what it was.  On the
 other hand, the ‘count-lines’ function uses narrowing to restrict itself
 to just that portion of the buffer in which it is interested and then
 restores the previous situation.