我成功测试过:(message "%s" (propertize "foo" 'face '(:foreground "red"))) 你可能有 (message (propertize ...)),它将带属性的字符串解释为格式控制字符串,因此会剥离其属性。
(defun lawlist-message (input) (interactive) (message (propertize input 'face 'font-lock-warning-face)))
- lawlist*Messages*
缓冲区中是否有保留颜色的方法? - AdrieanKhisbe#("foo" 0 3 (face (:foreground "red")))
,而不是看到一个红色的foo
,可以查看这里的解释。原因是消息被显示出来后,表达式的结果也被打印出来,导致消息被隐藏。将其放在(interactive)
中可以使其按预期工作。 - Suzanne Soy