emacs29 package.el 生成的autoload文件没有包含所有应该生成的autoload

最近才发现的问题,我在linux和windows上面自己编译的emacs都有这个问题,目前似乎只有安装consult的时候会出现。

复现步骤:

emacs -Q启动后,直接用melpa提供的最小配置在scratch buffer里面eval

(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
(package-initialize)

然后用 M-x package-install安装consult,这个时候按下M-x,consult的commands都会出现,然而关掉emacs重新emacs -Q并加载同样的最小配置后,再按下M-x,能补全出来的consult命令只有不到10个。。。

这时候检查package.el生成的consult-autoload.el,发现里面连consult-completion-in-region的autoload都没有,手动执行make-directory-autoload才能正确生成autoload。

我6月5号更新的,确实有这个问题。。发现之后直接require了

似乎跟最近loaddef-gen.el相关的修改有关,不过consult这种轻量的包确实也没必要懒加载,,先直接require着用吧…

似乎最近两天emacs 29修复了这个问题,现在生成的autoload是正确的。

2 个赞