我用 Emacs 27,自己从 git 编译的,每次一打开一个任意 JS 文件就会报错,Emacs -Q 也这样:
Eval error in the c-lang-defvar' or
c-lang-setvar’ for font-lock-comment-end-skip' (fallback source eval - js-mode compiled with CC Mode 5.34 but loaded with 5.34.1): (error "
c-font-lock-comment-end-skip’ got no (prior) value in js-mode (might be a cyclic reference)") [2 times]
目前就是烦人,不知道具体有没有影响。有没有小伙伴遇到同样问题?知不知道报错里提到的 CC Mode 版本是怎么回事?
1 个赞
试了一下,我的没有问题,我编译的是 master commit 75bb40b163cdc4a5fffa873c1b430dc222f921ee
我是从 Emacs Mac 大约最新的 work 分支编译的,不知道重新(一个干净的环境)编译有没有帮助,等有机会重新 clone 编译试试。
emacs-version
;; => "27.0.91"
emacs-repository-branch
;; => "work"
emacs-repository-version
;; => "b71b8b1e831adac24490706a9085ee9a9954fdbd"
应该是某些lisp没有重新编译,我删除elc后重新编译解决的
哦,我等下试试 make clean && make。
果然,我试过了 make clean && make,还是同样问题。随后又重新 clone 没这个问题了。
make distclean
更彻底。
clean
只清除 build 产生的文件,distclean
把 configure 产生的文件也一并清除。
也可以用git clean,也很彻底,不过具体命令忘了
我只知道:
-
git clean -fd
删除所有 untracked 文件。
-
git restore --source=HEAD --staged --worktree .
丢弃所有未提交的修改。
-
git checkout .
同上。
但 configure/make 生成的目标文件不受影响,因为它们都被 .gitignore 规则排除了。