Команды для кнопок в буфере
Это команды и функции для поиска кнопок в буфере Emacs и работы с ними.
push-button — это команда, с помощью которой пользователь активирует кнопку; по умолчанию она привязана в самой кнопке к клавишам RET и mouse-2 с помощью локальной карты клавиш в оверлее кнопки или её текстовых свойствах. Команды, полезные вне самих кнопок, такие как forward-button и backward-button, также доступны в карте клавиш, хранящейся в button-buffer-map; режим, использующий кнопки, может использовать button-buffer-map в качестве родительской карты клавиш для своей карты клавиш. В качестве альтернативы можно включить button-mode, что даёт практически тот же эффект: это дополнительный режим, который только устанавливает button-buffer-map в качестве карты клавиш дополнительного режима (обратите внимание, что отключение button-mode удалит все кнопки из текущего буфера).
Если у кнопки есть свойство follow-link, отличное от nil, и установлено mouse-1-click-follows-link, быстрый щелчок mouse-1 также активирует команду push-button. См. раздел Определение текста, на который можно нажать.
- Команда: push-button &optional pos use-mouse-action
Выполнить действие, заданное кнопкой в позиции pos. pos может быть позицией в буфере или событием мыши. Если use-mouse-action отлично от
nilили pos является событием мыши (см. раздел События мыши), попытаться вызвать свойствоmouse-actionкнопки вместоaction; если у кнопки нет свойстваmouse-action, использовать обычное свойствоaction. По умолчанию pos равен точке, за исключением случаев, когдаpush-buttonвызывается интерактивно в результате события мыши; в этом случае используется позиция события мыши. Если в позиции pos нет кнопки, ничего не делать и вернутьnil; в противном случае вернутьt.
- Команда: forward-button n &optional wrap display-message no-error
Перейти к следующей кнопке с номером n или к предыдущей кнопке с номером n, если n отрицательно. Если n равно нулю, перейти к началу любой кнопки в точке. Если wrap отлично от
nil, при достижении любого конца буфера переход продолжается с другого конца. Если display-message отлично отnil, отображается строка help-echo кнопки. Любая кнопка со свойствомskip, отличным отnil, пропускается. Возвращает найденную кнопку и сигнализирует об ошибке, если кнопки не найдены. Если no-error отлично отnil, возвращаетnilвместо того, чтобы сигнализировать об ошибке.
- Команда: backward-button n &optional wrap display-message no-error
Перейти к предыдущей кнопке с номером n или к следующей кнопке с номером n, если n отрицательно. Если n равно нулю, перейти к началу любой кнопки в точке. Если wrap отлично от
nil, при достижении любого конца буфера переход продолжается с другого конца. Если display-message отлично отnil, отображается строка help-echo кнопки. Любая кнопка со свойствомskip, отличным отnil, пропускается. Возвращает найденную кнопку и сигнализирует об ошибке, если кнопки не найдены. Если no-error отлично отnil, возвращаетnilвместо того, чтобы сигнализировать об ошибке.
- Функция: next-button pos &optional count-current
- Функция: previous-button pos &optional count-current
Возвращает следующую после (для
next-button) или предыдущую перед (дляprevious-button) позицией pos кнопку в текущем буфере. Если count-current отлично отnil, при поиске учитывается любая кнопка в позиции pos, а не только следующая кнопка.
Copyright © 1990-1996, 1998-2026 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Button-Buffer-Commands.html