emacs 29.0.5

Archlinux 系统下 emacs 已经升级到 29 了(archlinuxcn 源);

GNU Emacs NEWS -- history of user-visible changes.

Copyright (C) 2021 Free Software Foundation, Inc.
See the end of the file for license conditions.

Please send Emacs bug reports to '[email protected]'.
If possible, use 'M-x report-emacs-bug'.

This file is about changes in Emacs version 29.

See file HISTORY for a list of GNU Emacs versions and release dates.
See files NEWS.28, NEWS.27, ..., NEWS.18, and NEWS.1-17 for changes
in older Emacs versions.

You can narrow news to a specific version by calling 'view-emacs-news'
with a prefix argument or by typing 'C-u C-h C-n'.

Temporary note:
+++ indicates that all relevant manuals in doc/ have been updated.
--- means no change in the manuals is needed.
When you add a new item, use the appropriate mark if you are sure it
applies, and please also update docstrings as needed.

* Installation Changes in Emacs 29.1

* Startup Changes in Emacs 29.1

* Changes in Emacs 29.1

** Help

*** Jumping to function/variable source now saves mark before moving point.
Jumping to source from "*Help*" buffer moves the point when the source
buffer is already open.  Now, the old point is pushed to mark ring.

* Editing Changes in Emacs 29.1

** Indentation of 'cl-flet' and 'cl-labels' has changed.
These forms now indent like this:

    (cl-flet ((bla (x)
		(* x x)))
      (bla 42))

This change also affects 'cl-macrolet', 'cl-flet*' and

** New user option 'translate-upper-case-key-bindings'.
This can be set to nil to inhibit translating upper case keys to lower
case keys.

** New command 'ensure-empty-lines'.
This command increases (or decreases) the number of empty lines before

*** Improved mouse behavior with auto-scrolling modes.
When clicking inside the `scroll-margin' or `hscroll-margin' region
the point is now moved only when releasing the mouse button.  This no
longer results in a bogus selection, unless the mouse has been
effectively dragged.

* Changes in Specialized Modes and Packages in Emacs 29.1

** image-dired

*** New command for the thumbnail buffer.
The new command 'image-dired-unmark-all-marks' has been added with a
binding in the menu.

*** info-look specs can now be expanded at run time instead of a load time.
The new ':doc-spec-function' element can be used to compute the
':doc-spec' element when the user asks for info on that particular
mode (instead of at load time).

** subr-x

*** New macro 'with-memoization' provides a very primitive form of memoization

** ansi-color.el

*** Support for ANSI 256-color and 24-bit colors.
256-color and 24-bit color codes are now handled by ANSI color
filters and displayed with the specified color.

** term-mode

*** Support for ANSI 256-color and 24-bit colors, italic and other fonts.
Term-mode can now display 256-color and 24-bit color codes.  It can
also handle ANSI codes for faint, italic and blinking text, displaying
it with new 'ansi-term-faint/italic/slow-blinking/fast-blinking'

* New Modes and Packages in Emacs 29.1

** New mode 'erts-mode'.
This mode is used to edit files geared towards testing actions in
Emacs buffers, like indentation and the like.  The new ert function
'ert-test-erts-file' is used to parse these files.

* Incompatible Lisp Changes in Emacs 29.1

** The 'inhibit-changing-match-data' variable is now obsolete.
Instead, functions like 'string-match' and 'looking-at' now take an
optional 'inhibit-modify' argument.

** 'gnus-define-keys' is now obsolete.
Use 'define-keymap' instead.

** MozRepl has been removed from js.el.
MozRepl was removed from Firefox in 2017, so this code doesn't work
with recent versions of Firefox.

* Lisp Changes in Emacs 29.1

** New major mode 'clean-mode'.
This is a new major mode meant for debugging.  It kills absolutely all
local variables and removes overlays and text properties.

** 'kill-all-local-variables' can now kill all local variables.
If given the new optional KILL-PERMANENT argument, also kill permanent
local variables.

** Third 'mapconcat' argument 'separator' is now optional.
An explicit nil always meant the empty string, now it can be left out.

** Themes can now be made obsolete.
Using 'make-obsolete' on a theme is now supported.  This will make
'load-theme' issue a warning when loading the theme.

** New function 'define-keymap'.
This function allows defining a number of keystrokes with one form.

** New macro 'defvar-keymap'.
This macro allows defining keymap variables more conveniently.

* Changes in Emacs 29.1 on Non-Free Operating Systems

This file is part of GNU Emacs.

GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Emacs.  If not, see .

Local variables:
coding: utf-8
mode: outline
paragraph-separate: "[ 	]*$"
6 个赞

这版本真是够猛的,是arch linux独立维护的版本吗?

cn 源自己打包的

1 个赞


应该就是对应现在 emacs 的 master 吧?

Org mode 有 breaking change,目前最新的 org 9.5 版本瘦身了,把一些功能放到 nongnu 上,需要用户安装 contrib 。详见 Release notes | Org mode

使用 Purcell 配置的用户需要更新才能用 29.0.50, `ob-ledger` may be deprecated in the git branch emacs29 · Issue #791 · purcell/emacs.d · GitHub


他的配置,入门学习下还是不错的,用了有近一年。可以掌握一些基础的 elisp 用法。

不过这个配置缺点很明显,不支持lsp,而且 Windows下 启动太慢(8s),Mac和Linux 上需要3.5s 还能接受。

我现在也是基于他的配置,使用 use-package 自己攒配置了,控制在 Mac/Linux 启动 1s,Windows 3s 以内。

1 个赞


orgmode 变动确实大呀

看 nongnu 仓库 org-contrib 的介绍叫 unmaintained org addons ,看起来被摘出去也是不维护了

估计只是 org-mode 不再维护,让社区的所有人都可以参与维护这些包(在 nongnu 没了限制),减轻 org-mode 的维护负担。

反正这些包我是一个还用不到,对 org 的使用还不深入 :smile:

我连 org-modules 里面的几个包都一个用不到,不知道大家有没用到?

(ol-doi ol-w3m ol-bbdb ol-bibtex ol-docview ol-gnus ol-info ol-irc ol-mhe ol-rmail ol-eww)


换成了arch里面的gcc emacs,好像默认就是最新版编译出来的

最近刚升级到了 29,使用起来好像没什么区别。