Emacs 31.1 发布:unexec 时代终结
What's new in Emacs 31.1

Emacs 31.1 终于发布了!这次更新没有惊天动地的“大爆炸”功能,而是聚焦于提升用户体验的细节修复。最引人注目的变化是彻底移除了 deprecated 已久的 unexec dumper,标志着 Emacs 一个时代的结束,全面转向 portable dumper。此外,新版本引入了 user-lisp 目录自动加载功能,解决了长期困扰用户的包管理难题;Minibuffer 补全系统更加灵活,支持旋转窗口布局,并允许在交换 point 和 mark 时不激活 region。Tree-sitter 的语法安装也终于变得简单,不再需要手动处理复杂的 ABI 版本问题。对于终端用户,xterm-mouse-mode 默认开启,且 TTY 框架现在支持 child frames,让 Posframe 和 Corfu 等插件在终端也能流畅运行。
Daniel Colascione 构建了一个更优的解决方案,简单来说,就是将 Emacs 内部结构的序列化标准化,不再是对内存结构的 1:1 转储。
HN 评论区
116- Davidbrcz
TIL 关于 Emacs 的 antinews(如果你降级到 Emacs 30,哪些功能会消失)
https://www.gnu.org/software/emacs/manual/html_node/emacs/An...
- kstrauser
有了 treesitter 和 eglot(也就是 LSP),用 Emacs 时我几乎感觉不到其他编辑器的缺失。我最近一直在沉迷 Zed,但似乎听到了 GNU 的召唤。也许本周我就要宣布我的 .emacs 配置破产,从头开始搭建一个全新的环境,看看能有多少旧有的第三方配置可以被内置功能替代。
- wormius
我刚开始接触 Emacs,差不多就要完成我认为的最终配置了(正在添加 vertico、consult 和 marginalia,还没全部加完,但 vertico 和 consult 在默认状态下已经能用了,还需要微调一下)。
接下来我打算多学一些导航快捷键(我已经掌握了一些基础,主要是基础部分),但还需要更多超出基础的经验。我目前能用 C-c C-c 编译我的 odin/raylib 代码。我甚至从 GitHub 手动编译了 30.1 版本,以更新 Debian 上较旧的默认版本。我遇到的唯一问题是忘了当初是怎么配置的,结果启动客户端时,KDE 任务栏/面板上没有显示图标。卸载旧配置时肯定把我的启动规则/桌面窗口名称文件删掉了。不过搜索了一番后总算解决了。
我努力避免使用 EVIL,但它太有诱惑力了,因为我已经习惯了模态编辑。不过我想充分利用那些通过键位组合确立的强大功能。
我不确定这些功能对我有多大用处,因为我不确定自己是否充分利用了整个系统。任何能提升速度的功能都很棒。到目前为止一切都很流畅,但我确实怀疑通过 sysvinit 在 mx 上运行服务器是否会导致一些延迟,因为我感觉到系统偶尔会有小卡顿(不是在主动使用 Emacs 时,甚至客户端都没打开)。我确实尝试过调整我在某个提示中找到的 GC 设置,以减少延迟,并在负载不高时进行更多 GC。
最后,有人知道在哪里可以获取 […]
- kragen
glibc 移除对 unexec 的支持真是令人遗憾。虽然这并不是一个广泛使用的功能,但它似乎属于那种能区分不同平台的正交强大功能,就像 Unix 的 fork()、I/O 重定向、strace,或者不需要不同的系统调用来写入文本文件和二进制文件一样。在另一个平行宇宙中,你可以想象 unexec 支持被泛化,以支持更广泛类别的应用程序,用于进程迁移、高可用性故障转移和错误复现(就像 rr 那样),而不是被移除。
- rtpg
有点跑题,但有没有关于如何使用 Emacs Lisp 进行开发的好学习材料,而不只是盯着包的源码看?
我有《Mastering Emacs》这本书,大部分都读过了,这让我对一些东西有了不错的了解……但我真的很希望能获得关于常见任务的正确设计模式的好点子。
- markstos
我从 `vi` 到 `vim`,再到 `neovim`,最后到了精神继承者 `helix`,而 Emacs 在发布 31 版时,依然是 Emacs 编辑器家族中主导的分支。令人印象深刻。
- bpye
除了内置教程,还有更好的入门 Emacs 的方法吗?我试过几次(因为对 VS Code 越来越烦),但一直难以达到让我觉得足够高效的状态。
- uutangohotel
> 一如既往,为庆祝发布,我的书《Mastering Emacs》下周打 6.9 折。
最终,《Mastering Emacs》将会免费!