24.4.6 Свойства в строке режима

Некоторые текстовые свойства имеют значение в строке режима. Свойство face влияет на внешний вид текста; свойство help-echo связывает строки справки с текстом, а keymap может сделать текст чувствительным к мыши.

Существует четыре способа указания текстовых свойств для текста в строке режима:

  1. Поместить строку с текстовым свойством непосредственно в структуру данных строки режима, но см. Структуру данных строки режима для замечаний по этому поводу.
  2. Указать текстовое свойство на %-конструкции строки режима, например, ‘%12b’; тогда расширение %-конструкции будет иметь то же текстовое свойство.
  3. Использовать конструкцию (:propertize elt props…) для присвоения elt текстового свойства, указанного в props.
  4. Использовать список, содержащий :eval form в структуре данных строки режима, и заставить form вычисляться в строку, имеющую текстовое свойство.

Вы можете использовать свойство keymap для указания карты клавиш. Эта карта клавиш действительно действует только для кликов мыши; привязка клавиш символов и функциональных клавиш к ней не имеет эффекта, поскольку невозможно переместить точку в строку режима.

Когда строка режима ссылается на переменную, у которой нет свойства risky-local-variable, не равного nil, любые заданные или указанные в значениях этой переменной текстовые свойства игнорируются. Это связано с тем, что такие свойства могли бы указывать на вызываемые функции, а эти функции могли бы поступать из локальных переменных файла.