GNU 项目发布了 GNU Emacs 30.1(30.x 系列的第一个版本,30.0 分支用于开发)。直到 GNU Emacs 24.5 发布之前,该项目一直由 Richard Stallman 亲自领导,他于 2015 年秋季将项目负责人的职位移交给了 John Wiegley。该项目代码用 C 和 Lisp 编写,并根据 GPLv3 许可证分发。
其中的变化:
- 默认情况下,使用 libgccjit 库将 Lisp 文件编译为可执行代码的功能是启用的,而不是使用 JIT 编译。要在构建期间禁用本机编译,您必须指定“--with-native-compilation = no”选项,否则 Emacs 提供的所有 Elisp 包都将被预编译为可执行代码。
- 适用于Android平台的编辑器端口已经准备好。
- 包含对 JSON 格式的内置支持,不受 libjansson 库的约束。
- 在 NetBSD 和 OpenBSD 平台上,默认使用 ossaudio 库来处理声音。
- 添加选项“--disable-gc-mark-trace”来禁用垃圾收集器跟踪缓冲区。禁用它可以使垃圾收集速度提高约 5%,但会使调试问题更加困难。
- 添加了对 Unicode 15.1 规范的支持。
- Org 模式实现已更新至 9.7 版。
- 提高了触摸屏设备的性能。已实现对多种控制手势的支持。
- 添加属性来控制下划线样式(例如双下划线、点和破折号)。已实现对彩色下划线的支持。
- 在除 macOS 和 GNUstep(Nextstep)之外的所有平台上,都实现了向下移动工具栏的功能。
- 修复了手册页处理程序中的漏洞 CVE-2025-1244,允许 shell 命令替换。
- 修复了 Flymake 语法检查器中的漏洞 CVE-2024-53920,该漏洞允许在查看或编辑特殊格式的 Lisp 代码时执行任意代码。

来源: opennet.ru

