use-package 要进elpa了

今天看到这个PR,看起来use-package马上要进elpa了。Copyright已经改为FSF。

Prepare for submission to ELPA by bhankas · Pull Request #1005 · jwiegley/use-package (github.com)

6 个赞

是要打算进 emacs master,进 elpa 是第一步。但 John 比较忙,目前有个热心的哥们愿意帮忙推进, 不过要做的事情还不少,估计是赶不上 emacs 29.1 了。

邮件列表中关于推进 use-package 加入Emacs 核心的讨论:

https://lists.gnu.org/archive/html/emacs-devel/2022-09/msg01715.html

这是要转正了,好事啊

支持 use-package 进 Emacs 核心,我自己的配置还有很多用了 use-package 的地方没改,给别人讲解配置怎么写的时候还得手动改成无 use-package 版本的,太麻烦

为什么不是leaf进emacs core

use-packageeglot 更应该进核心。

7 个赞

leaf 并不好用,没有特别的优势。

我也这么认为

你直接展开宏就行了呀 :joy:

use-package 比起手动写 autoload,require,add-hook,with-eval-after-load,customize-set-variable之类的真的有显而易见的优势吗?

我用use-package经常遇到困惑(与预期不一致)的地方,常常要宏展开到底来看看它到底展开成什么样子了。 主要use-package很多选项 (:xxx) 的行为太过于dwim了,不好猜测到底要做什么。

用的时候看看文档,use-package函数的docstring写得很详细,看下基本就能明白做什么,还不明白就看看例子。比起其他几个包管理器算是简单易懂的。理解了概念用起来就简单多了。你展开宏看也是学习途径之一。用use-package比起手动写要简单明了,也更好管理一些,本质上并没有不同。

2 个赞

确实。 zsbd

内置 eglot 只解决一个包的安装问题。
内置 use-package 解决无数个包的配置问题。

3 个赞

就安装包来说,use-package并没有提供比Emacs的package更多的能力;而eglot能提供Emacs本来不具备的能力。

我个人把use-package用作配置工具,用了之后init.el看起来更清晰,但不用它来安装包。

1 个赞

use-package 从来就没有过安装包的功能。:ensure t 也是用的 package.el 去安装,use-package 就是用来管理配置的。

4 个赞

是啊,所以我的意思就是它没有提供什么额外的安装能力,只是对package的封装。我说的不用它来安装包就是说没用:ensure

用来管理配置还是很好用的。

为什么不是 leaf 呢?leaf 在 elpa 都有些年份了,也很直观

1 个赞

可能是因为 use-package 更加流行,各大流行的包(如 vertico , corfu 等) 都是用 use-package 举例。

为了凑个排比句,我扩大解释了安装概念。

但是要说它没有解决安装问题我不太同意,只要是对安装做了有益的改进,哪怕让用户少些几行代码,都算是在解决问题,包括 purcell 的 require-package 函数。

为了避免引起更多异议,我会改掉前面回帖的用词。

3 个赞

确实。使用的范围比eglot更广,也更急不同的用户之刚需。