【发布时间】:2014-05-20 00:08:11
【问题描述】:
为了从使用 2 秒空闲计时器(自定义函数梳理缓冲区)设置的自定义函数的运行时间减少大约 .3 秒,我使用 (font-lock-mode -1) 禁用字体锁定模式。副作用是我的flyspell-incorrect 和flyspell-duplicate 被删除。用(flyspell-region (window-start) (window-end)) 重新放回那些flyspell 字体的成本远远超过 .3 秒。因此,我正在考虑通过删除所有字体锁定字体 except flyspell-incorrect 和 flyspell-duplicate 来采取中间立场。有没有办法从font-core 向以下代码 sn-p 添加一个条件,以保留 flyspell 字体,但删除其他所有内容?
;; Turn off Font Lock mode.
(unless mode
;; Remove `font-lock-face' as an alias for the `face' property.
(set (make-local-variable 'char-property-alias-alist)
(copy-tree char-property-alias-alist))
(let ((elt (assq 'face char-property-alias-alist)))
(when elt
(setcdr elt (remq 'font-lock-face (cdr elt)))
(when (null (cdr elt))
(setq char-property-alias-alist
(delq elt char-property-alias-alist))))))
【问题讨论】: