我正在阅读Elisp手册中有关Invisible Text的内容。它定义了变量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)
之间在语法上有什么区别。
这可能是一个愚蠢的问题,但是我不是Lisp方面的专家或专家,我正在使用Emacs配置。
答案 0 :(得分:1)
如果您要进行(setq my-symbol "...")
,则只需将变量my-symbol
的值设置为该字符串。
Elisp手册描述的是规范的形式,即Lisp数据结构(在这种情况下为列表),导致缓冲区文本的某些部分不可见。这是因为Emacs自动处理了这样的规范。
就像@jenesaisquoi在评论中说的那样,是Emacs的C代码自动执行了缓冲区不可见性规范。要使用该规范,请参阅Elisp手册的节点Invisible Text。