今天更新Emacs 的包,flymake调用了 defvar-keymap
, 但我的Emacs 版本是GNU Emacs 28.1 (build 2, aarch64-apple-darwin21.3.0, NS appkit-2113.30 Version 12.2 (Build 21D49)) of 2022-05-18
,没有这个函数。
我在doom-emacs 里面找不到哪里安装了flymake,packages.el
里面也没有安装,但我的straight文件夹里面的两个子文件夹repos和build-28.1里面都有最新的flymake,不知道哪里安装的。
肯定是某个包依赖了,然后 straight 给下载下来了.
加这一行:
(straight-use-package '(flymake :type built-in))
感谢感谢!可以啦!
defvar-emacs 是 Emacs 29 新增的宏,Emacs 28 自带有兼容的 flymake,一般情况下不必从 ELPA 下载。
抱歉,Emacs 29 的 Flymake 最低兼容 emacs 26.1,我已经去除了其中调用 defvar-keymap 的部分。
他们是因为用了 straight,straight 会自动下载一些内置的包,比如 flymake jsonrpc org project xref 。
需要通过下面的设置,明确声明这些包使用内置的:
(dolist (pkg '(eldoc flymake jsonrpc org project xref))
(add-to-list 'straight-built-in-pseudo-packages pkg))
我的emacs版本还是25.1.1,请教一下有没有那个函数可以替代defvar-keymap。
,可以了,感谢!