В этой главе описываются функции, работающие с текстом в буфере. Большинство из них анализируют, вставляют или удаляют текст в текущем буфере, часто работая по точке или с текстом, прилегающим к точке. Многие из них являются интерактивными. Все функции, изменяющие текст, предоставляют возможность отмены изменений (см. Отмена).
Многие функции, связанные с текстом, работают с областью текста, определяемой двумя позициями буфера, переданными в аргументах с именами start и end. Эти аргументы могут быть либо маркерами (см. Маркеры), либо числовыми позициями символов (см. Позиции). Порядок этих аргументов не имеет значения; совершенно нормально, если start будет концом области, а end — началом. Например, (delete-region 1
10) и (delete-region 10 1) эквивалентны. Если start или end находятся за пределами доступной части буфера, сигнализируется ошибка args-out-of-range. При интерактивном вызове для этих аргументов используются точка и маркер.
В этой главе под «текстом» подразумеваются символы в буфере вместе с их свойствами (когда это уместно). Имейте в виду, что точка всегда находится между двумя символами, а курсор появляется на символе после точки.