gpt4 book ai didi

emacs - 如何通过覆盖 Emacs 中的 set-face-attribute 来禁用粗体字体?

转载 作者:行者123 更新时间:2023-12-02 01:07:43 24 4
gpt4 key购买 nike

想法是重新定义set-face-attribute 以便它正常设置人脸属性,除了:weight 属性,该属性应始终设置为 normal(我认为是默认值)。有了这个,我希望一劳永逸地在 Emacs 中禁用粗体。

我明白了:

(fset 'original-set-face-attribute (symbol-function 'set-face-attribute))

(defun set-face-attribute (face frame &rest args)
(progn
(original-set-face-attribute face frame args)))

到目前为止,它不起作用。如果我执行 (make-face-bold 'default) 我会得到 Wrong type argument: symbolp, (:weight bold)。我想我所拥有的要做的是从参数列表中删除包含 :weight 的元素参数

最佳答案

这里有一些代码可以让你开始:

(defadvice set-face-attribute
(before no-bold (face frame &rest args) activate)
(setq args
(mapcar (lambda(x) (if (eq x 'bold) 'normal x))
args)))

除了 basic-faces 之外,我已经看到大多数情况下都有效不要调用 set-face-attribute,例如 error face。

关于emacs - 如何通过覆盖 Emacs 中的 set-face-attribute 来禁用粗体字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20682244/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com