光标与标记之间的文本称为区域(the region)。有多种函数可操作由光标与标记界定的文本,但本节仅介绍与区域本身直接相关的函数。
下面两个函数在标记未指向任何位置时会抛出错误。若启用了临时标记模式且 mark-even-if-inactive 为 nil,则在标记未激活时也会抛出错误。
该函数返回区域起始位置(整数形式)。该位置为光标与标记中较小的那个位置。
该函数返回区域结束位置(整数形式)。该位置为光标与标记中较大的那个位置。
设计用于操作区域的命令,通常不应直接使用 region-beginning 与 region-end,而应在 interactive 中使用 ‘r’ 声明来获取区域的起止位置。这样可让其他 Lisp 程序通过实参显式指定边界。See interactive 的代码字符。
若启用了临时标记模式、标记处于激活状态且缓冲区中存在有效区域,该函数返回 t。该函数供操作区域的命令使用,用于在标记激活时判断应作用于区域而非光标附近文本。
区域有效需满足非零长度,或用户选项 use-empty-active-region 非 nil(默认为 nil)。函数 region-active-p 与 use-region-p 类似,但会将所有区域视为有效。大多数情况下不应使用 region-active-p,因为区域为空时通常更适合仅操作光标位置。