看起来 Emacs 28 要发布了

同步代码的时候刚好看到:

29都出来了,看来要发布了啊~~~ 不过,连击的问题解决了吗?

难道现在发布节奏加快了,之前等 27 发布可是等的花都谢了😄。

另外 org 9.5 已经 已经合并到 28 https://orgmode.org/Changes.html

pgtk 还没有合并吧? 按之前 Eli 的邮件来看 pgtk 应该会合并才对啊。

pgtk分支已经一个多月没更新过了,邮件列表里关于pgtk的bug也基本没人回复,怕不是作者弃坑了?

还没合并。pgtk 上次更新还是 8.16。 不过也许现在只是把 emacs-28 分支拉出来,到真正发布不知道还要多久。

  commit 4c49ec7f865bdad1629d2f125f71f4e506b258f2 (origin/feature/pgtk)
  Author: Yuuki Harano <[email protected]>
  Date:   Mon Aug 16 23:01:11 2021 +0900

看这里的邮件,预计几周后发布第一个 28的 pretest 版本,还有得等。 https://mail.gnu.org/archive/html/emacs-devel/2021-09/msg02290.html

1 个赞

回复 @mkvoya @wuyanzu 不至于吧,印象中 pgtk 基本上已经完工了,不至于弃坑吧。之前一直零零散散的有更新,Eli 向 pgtk 作者询问合并相关的问题后 pgtk 才开始停止更新,看当时邮件列表的回复应该是在为进入 master 做调整才对。

弃坑应该不至于,可能只是最近更新少

就是不知道pgtk能不能在28版本中发布了,因为按说一个版本cut了,就会进入bug-fix only的阶段,不会有新功能加进来了:

In mid September we’ll evaluate the situation again, and if things look OK, we’ll cut the emacs-28 branch (which will then be “bug fix only” after that), and then move “master” to 29.0.50.

关于pgtk,reddit上Eli的回复

It didn’t look ready, and we didn’t want to delay the branching any longer.

有点可惜呀!

基本上处于无欲无求状态

快是因为 Emacs 28 之于 Emacs 27 多了太多东西了,你看 NEWS.27NEWS.28 的行数

4570 NEWS.28
3256 NEWS.27

说几点可感受到的变化:

  1. emoji 的原生支持,可以用单个的 glyph 来显示了,原来则是通过多个 glyph 拼接起来的
  2. interactive 里可以写当前命令可应用的 mode, 这样搭配 (setq read-extended-command-predicate #'command-completion-default-include-p) 可以将那些不适用当前 mode 的函数在 M-x 时过滤掉.
  3. context-menu-mode,可以按 S-F10C-鼠标右击 对比一下
  4. dired-kill-when-opening-new-dired-buffer 终于 dired 在 RET 时不会产生新的 buffer 了
  5. tab-bar-show 终于可以隐藏 tab-bar 了
  6. C-x x 前缀被用起来了,现在里面包含 buffer 相关的操作
  7. redisplay-skip-fontification-on-input 缓解在快速移动时大量代码的语法高亮
  8. word-wrap-by-category 解决了 CJK 字符在 auto-fill-mode 时的问题。由 @casouri 贡献
  9. isearch 更现代化。isearch 的 C-s C-r 之后会继续搜索,而不是仅仅换了个搜索方向; isearch 里可以按 M-< 和 M-> 来回到搜索关键字的首次/末尾出现地方,最后而不是回到当前 buffer 的开头和末尾;
    1. isearch-motion-changes-direction
    2. isearch-allow-motion
  10. eshell 的 keymap 可以直接定义在 eshell-mode-map 里,以前必须要每次都在 eshell-first-time-mode-hook 里用 define-key 来定义一遍,非常奇怪
  11. 自带 icomplete-vertical-mode 了
  12. eldoc 支持多个后端函数
  13. cc-mode 支持注释中 doxygen 的高亮
  14. 内置的 project.el 进步很多
  15. xref 提升非常大
    1. 可以用 rg 了(xref-search-program),这样在调用 project-find-regexp (C-x p g) 时会比 grep 快许多
    2. xref-show-xrefs-functionxref-show-definitions-function 可以设置成 xref-show-definitions-completing-read 了,表示 xref 的选择定义时可以原生使用 minibuffer,以前 ivy 的话得用 ivy-xref, vertico/selectrum 的话得设置成 consult-xref.
  16. rcirc 提升非常大
    1. 支持 sasl 了
    2. 颜色支持好了
    3. 异步化
    4. IRCv3 协议支持
  17. erc 不熟悉,似乎是达到了单独在 ELPA 上发布的程度了。 PS: Emacs 开发者也是正在为 Emacs 的瘦身做准备中
  18. repeat-mode, C-x o C-x o 到 C-x o o. 没错正是在下提议的
  19. native-comp 合并了

其他的话可以自己看 NEWS.28 这个文件。

29 个赞

你好,请问内置的project这样是不是可以替代projectile了?

写得真详细,你字多信你 :smile:

3 个赞

谢谢,只能期待 29 的时候可以上了。

如果你依赖的只是在项目里切换文件,那么自带的 project.el 就足够了。但是如果涉及到编译项目,那么 project.el 目前只是单纯的调用 compile 命令而已。反观 projectile,其自带了许多项目管理工具的识别,如 cmake, meson 等等

1 个赞

对,主要还是生态。projectile和很多包都做了集成,project还差很多

多谢回复,我没有那么大需求,看来我可以研究下project.el.

emacs28有 undo-redo命令 吗,我查了一下有些说有,有些是说移到了undo-fu

https://github.com/emacs-mirror/emacs/blob/317eb2d5b54e6c65a3bdcf2964d2b8d2232b4a13/etc/NEWS#L958-L961