为啥我的use-package下的包名都不高亮显示,每次安装都显示编码错误,重启后就不报错了

这是包名不高亮(不知道这个图片到底能不能上传) (主要是use-packaage后面的包名都无法高亮)

{9721F1D1-D4BA-4CB3-93DA-93BA5239055F}

另外出现的编码错误(之前也有Waring(bytecomp)但是后面的内容不一样没有截图,下次打开就不报错了)

不太确定你的主题是什么,但是 use-package 的高亮规则是在这里定义的

1 个赞

警告等于没事儿

编译的结果会缓存下来,下次就没报错了。如果不影响使用可以忽略。

1 个赞

这个就是我的主题 {2012EA7B-CDF9-4ECF-A1B3-CE7DD4F43373}

似乎26以后就废弃掉了。看注释说已经高亮macro name,但实际并没有。加上这句 (font-lock-add-keywords 'emacs-lisp-mode use-package-font-lock-keywords) 实测可以高亮。

参考:

;; Redundant in Emacs 26 or later, which already highlights macro names.
(defconst use-package-font-lock-keywords
  '(("(\\(use-package\\)\\_>[ \t']*\\(\\(?:\\sw\\|\\s_\\)+\\)?"
     (1 font-lock-keyword-face)
     (2 font-lock-constant-face nil t))))
(make-obsolete-variable 'use-package-font-lock-keywords
                        'lisp-el-font-lock-keywords "30.1")
(when (< emacs-major-version 26)
  (font-lock-add-keywords 'emacs-lisp-mode use-package-font-lock-keywords))
2 个赞

我这样干了,但是情况并没有改变。 {1A1A9CF2-74A4-4C06-870B-F53AF85BF7D0}

你用的Emacs是什么版本?直接用我给出的那句试试呢?

版本

改写后

效果较以前并没有变化 {D7C2794E-79AA-4F7B-804F-6189A08E7951}

仔细看我发的,只需要这句

 (font-lock-add-keywords 'emacs-lisp-mode use-package-font-lock-keywords)