elisp: The Region

 
 30.8 The Region
 ===============
 
 The text between point and the mark is known as “the region”.  Various
 functions operate on text delimited by point and the mark, but only
 those functions specifically related to the region itself are described
 here.
 
    The next two functions signal an error if the mark does not point
 anywhere.  If Transient Mark mode is enabled and ‘mark-even-if-inactive’
 is ‘nil’, they also signal an error if the mark is inactive.
 
  -- Function: region-beginning
      This function returns the position of the beginning of the region
      (as an integer).  This is the position of either point or the mark,
      whichever is smaller.
 
  -- Function: region-end
      This function returns the position of the end of the region (as an
      integer).  This is the position of either point or the mark,
      whichever is larger.
 
    Instead of using ‘region-beginning’ and ‘region-end’, a command
 designed to operate on a region should normally use ‘interactive’ with
 the ‘r’ specification to find the beginning and end of the region.  This
 lets other Lisp programs specify the bounds explicitly as arguments.
 SeeInteractive Codes.
 
  -- Function: use-region-p
      This function returns ‘t’ if Transient Mark mode is enabled, the
      mark is active, and there is a valid region in the buffer.  This
      function is intended to be used by commands that operate on the
      region, instead of on text near point, when the mark is active.
 
      A region is valid if it has a non-zero size, or if the user option
      ‘use-empty-active-region’ is non-‘nil’ (by default, it is ‘nil’).
      The function ‘region-active-p’ is similar to ‘use-region-p’, but
      considers all regions as valid.  In most cases, you should not use
      ‘region-active-p’, since if the region is empty it is often more
      appropriate to operate on point.