Функции для разбора слов, описанные ниже, используют таблицу синтаксиса
и char-script-table для определения, является ли данный символ
частью слова. См. Таблицы синтаксиса и см. Свойства символов.
Эта функция перемещает точку вперед на count слов (или назад, если
count отрицателен). Если count опущен или равен
nil, по умолчанию используется 1. При интерактивном вызове
count указывается с помощью числового префикса.
«Перемещение на одно слово» означает перемещение до тех пор, пока точка не
пересечет символ, составляющий слово, который указывает на начало слова,
а затем продолжение перемещения до конца слова. По умолчанию символы,
начинающие и заканчивающие слова, известные как границы слов,
определяются таблицей синтаксиса текущего буфера (см. Таблица классов синтаксиса),
но режимы могут переопределить это, настроив подходящую
find-word-boundary-function-table, описанную ниже. Символы,
принадлежащие к разным скриптам (как определено в
char-script-table), также определяют границу слова (см.
Свойства символов). В любом
случае эта функция не может переместить точку за пределы доступной части
буфера или через границу поля (см. Определение и использование полей).
Наиболее распространенный случай границы поля — это конец подсказки в
миньюбуфере.
Если возможно переместить count слов, без преждевременной
остановки из-за границы буфера или границы поля, возвращаемое значение
равно t. В противном случае возвращаемое значение равно
nil, и точка останавливается на границе буфера или границы
поля.
Если inhibit-field-text-motion не равно nil,
эта функция игнорирует границы полей.
Эта функция аналогична forward-word, за исключением того,
что она перемещается назад до обнаружения начала слова, а не вперед.
Эта переменная влияет на поведение forward-word и
backward-word и на все, что их использует. Если она не равна
nil, то символы в синтаксических классах экранирования и
цитирования считаются частью слов. В противном случае они не считаются.
Если эта переменная не равна nil, некоторые функции
перемещения, включая forward-word, forward-sentence
и forward-paragraph, игнорируют границы полей.
Эта переменная влияет на поведение forward-word и
backward-word и на все, что их использует. Ее значение — это
таблица символов (см. Таблицы символов)
функций для поиска границ слов. Если символ имеет не-nil запись в
этой таблице, то когда слово начинается или заканчивается этим символом, будет
вызвана соответствующая функция с 2 аргументами: pos и
limit. Функция должна вернуть позицию другой границы слова.
В частности, если pos меньше, чем limit,
то pos находится в начале слова, и функция должна вернуть
позицию после последнего символа слова; в противном случае pos
находится в последнем символе слова, и функция должна вернуть позицию первого
символа этого слова.
Эта функция похожа на forward-word, но она не зависит от
find-word-boundary-function-table. Программы Lisp, которые не
должны менять свое поведение при изменении перемещения по словам режимами, которые
устанавливают эту таблицу, например subword-mode, должны
использовать эту функцию вместо forward-word.
Эта функция похожа на backward-word, но она не зависит от
find-word-boundary-function-table. Как и в случае с
forward-word-strictly, используйте эту функцию вместо
backward-word, когда перемещение по словам должно учитывать
только таблицы синтаксиса.