33.1 Просмотр текста рядом с точкой

Предоставлено множество функций для просмотра символов вокруг точки. Здесь описаны несколько простых функций. См. также looking-at в Поиск с помощью регулярных выражений.

В следующих четырех функциях «начало» или «конец» буфера относится к началу или концу доступной части.

Функция: char-after &необязательная позиция

Эта функция возвращает символ в текущем буфере в (то есть, сразу после) позиции position. Если position выходит за пределы для этой цели, то либо перед началом буфера, либо в конце или за ним, то значением будет nil. По умолчанию для position используется точка.

В следующем примере предположим, что первый символ в буфере — «@»:

(string (char-after 1))
     ⇒ "@"
Функция: char-before &необязательная позиция

Эта функция возвращает символ в текущем буфере непосредственно перед позицией position. Если position выходит за пределы для этой цели, то либо в начале буфера или до него, либо за его концом, то значением будет nil. По умолчанию для position используется точка.

Функция: following-char

Эта функция возвращает символ, следующий за точкой в текущем буфере. Это похоже на (char-after (point)). Однако, если точка находится в конце буфера, то following-char возвращает 0.

Помните, что точка всегда находится между символами, и курсор обычно отображается над символом, следующим за точкой. Поэтому символ, возвращаемый following-char, — это символ, над которым находится курсор.

В этом примере точка находится между символами «a» и «c».

---------- Буфер: foo ----------
Gentlemen may cry ``Pea∗ce! Peace!,''
but there is no peace.
---------- Буфер: foo ----------

(string (preceding-char))
     ⇒ "a"
(string (following-char))
     ⇒ "c"
Функция: preceding-char

Эта функция возвращает символ, предшествующий точке в текущем буфере. См. выше, в following-char, для примера. Если точка находится в начале буфера, preceding-char возвращает 0.

Функция: bobp

Эта функция возвращает t, если точка находится в начале буфера. Если включен режим сужения, это означает начало доступной части текста. См. также point-min в Точка.

Функция: eobp

Эта функция возвращает t, если точка находится в конце буфера. Если включен режим сужения, это означает конец доступной части текста. См. также point-max в См. Точка.

Функция: bolp

Эта функция возвращает t, если точка находится в начале строки. См. Перемещение по строкам текста. Начало буфера (или его доступной части) всегда считается началом строки.

Функция: eolp

Эта функция возвращает t, если точка находится в конце строки. Конец буфера (или его доступной части) всегда считается концом строки.