如何调试自定义FACE

自定义FACE之后,对前一次FACE中的色值进行修改,可修改并对其求值之后再次调用并没有变化。 例如,现在定义了FACE如下

(defface demo-title
  '((t (:foreground "#ff3300" :weight bold)))
  "DEMO标题界面设置."
  :group 'demo-faces)

对上面的FACE求值,之后在 Fundamental 模式中调用 (insert (propertize "HELLO WORLD\n" 'face 'demo-title)) 去插入文本。

将FACE修改为

(defface demod-title
  '((t (:foreground "#00EE00" :weight bold)))
  "DEMO标题界面设置."
  :group 'demo-faces)

在Fundamental模式中再次调用 (insert (propertize "HELLO WORLD\n" 'face 'demo-title)) 去插入文本,看到的foreground并没有改变。

能不能贴个代码,举个例子啥的?就光这么说看不懂啊。

更新了一下问题的描述

看起来是个笔误:demo-title V.S. demod-title

另外,重定义 defface 需要用 C-M-x (eval-defun),普通的 C-x C-e (eval-last-sexp) 不会生效,defvar 亦如此。

3 个赞

嗯嗯,好的。感谢!