eintr: fwd-sentence re-search

 
 The regular expression search
 -----------------------------
 
 The ‘re-search-forward’ function searches for the end of the sentence,
 that is, for the pattern defined by the ‘sentence-end’ regular
 expression.  If the pattern is found—if the end of the sentence is
 found—then the ‘re-search-forward’ function does two things:
 
   1. The ‘re-search-forward’ function carries out a side effect, which
      is to move point to the end of the occurrence found.
 
   2. The ‘re-search-forward’ function returns a value of true.  This is
      the value received by the ‘if’, and means that the search was
      successful.
 
 The side effect, the movement of point, is completed before the ‘if’
 function is handed the value returned by the successful conclusion of
 the search.
 
    When the ‘if’ function receives the value of true from a successful
 call to ‘re-search-forward’, the ‘if’ evaluates the then-part, which is
 the expression ‘(skip-chars-backward " \t\n")’.  This expression moves
 backwards over any blank spaces, tabs or carriage returns until a
 printed character is found and then leaves point after the character.
 Since point has already been moved to the end of the pattern that marks
 the end of the sentence, this action leaves point right after the
 closing printed character of the sentence, which is usually a period.
 
    On the other hand, if the ‘re-search-forward’ function fails to find
 a pattern marking the end of the sentence, the function returns false.
 The false then causes the ‘if’ to evaluate its third argument, which is
 ‘(goto-char par-end)’: it moves point to the end of the paragraph.
 
    (And if the text is in a form or equivalent, and point may not move
 fully, then the ‘constrain-to-field’ function comes into play.)
 
    Regular expression searches are exceptionally useful and the pattern
 illustrated by ‘re-search-forward’, in which the search is the test of
 an ‘if’ expression, is handy.  You will see or write code incorporating
 this pattern often.