# 32 文本

本章将介绍处理缓冲区内文本的函数．大多数的检查，插入，以及删除操作都发生在某个位置点附近的文本．其中很多函数都是可交互的．所有的修改文本的函数都提供一个对应的撤回操作．

很多文本相关的函数都需要接收两个参数，用来确定它们作用的文本范围．这个两个参数分别是　起始点（start）和结束点（end）．这两个参数应当是 标记，或作为数字字符解释的位置．这两个参数的位置并不重要．你可以把 start 当作 end 参数传入，也可以把 end 当成 start 的参数传入．举个例子, (delete-region 1 10) 和 (delete-region 10 1) 是等价的. 不过,如果其中任一参数如果超出了缓冲区的编辑范围,那么 Emcas 会抛出 args-out-of-range 错误.如果交互式地调用这些函数,那么它们会默认使用 当前位置 (point) 和 标记 (mark) 作为参数传入.

"文本" (text) 是指缓冲区的字符, 以及这些字符相关的属性, 这个概念将贯穿本章. 另外请牢记, 位置点 (point) 是指两个字符中间的那个空隙, 而 Emacs 中的光标总处在位置点后面一位的那个字符上.
