Определение переменной для невидимого текста - PullRequest
0 голосов
/ 16 ноября 2018

Я читаю о Невидимый текст в руководстве по Elisp. Он определяет переменную my-symbol для добавления или не добавления ... вместо скрытого текста.

 ;; If you want to display an ellipsis:
 (add-to-invisibility-spec '(my-symbol . t))
 ;; If you don't want ellipsis:
 (add-to-invisibility-spec 'my-symbol)

Однако я не понимаю. Как получается, что вы не используете (setq my-symbol "..."). В чем разница в синтаксисе между (setq my-symbol "...") и '(my-symbol . t).

Это может быть глупый вопрос, но я не эксперт или что-то еще в Лиспе, и я играю с конфигурациями Emacs.

1 Ответ

0 голосов
/ 16 ноября 2018

Если бы вы сделали (setq my-symbol "..."), это просто установило бы значение переменной my-symbol для этой строки.

То, что описывает руководство Elisp, представляет собой форму спецификации, то есть Lispструктура данных (в данном случае список), которая делает некоторые части текста буфера невидимыми.Это вызывает такое поведение, потому что такая спецификация обрабатывается Emacs автоматически.

Как сказал @jenesaisquoi в комментарии, именно C-код Emacs выполняет эту автоматическую обработку спецификации невидимости буфера.Чтобы использовать спецификацию, обратитесь к руководству Elisp, узел Невидимый текст .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...