Migrate from Emacs 28.2 to 29.4
- Refer to Install Emacs and download Emacs from here.
-
Configure and compile
./configure --with-native-compilation --with-x-toolkit=lucid --with-tree-sitter --with-wide-int --with-json --with-modules --without-dbus --with-gnutls --with-mailutils --without-pop --with-cairo --with-imagemagick CFLAGS="-O2 -pipe -mtune=native -march=native -fomit-frame-pointer"
Initially, I used the option
--with-pgtk --with-x-toolkit=gtk3
. However, the compiled Emacs intermittently crashed with the following error. Therefore, I finally resorted to the option--with-x-toolkit=lucid
.The program 'emacs' received an X Window System error. This probably reflects a bug in the program. The error was 'BadMatch (invalid parameter attributes)'. (Details: serial 23499 error_code 8 request_code 18 (core protocol) minor_code 0) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the GDK_SYNCHRONIZE environment variable to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.)
- Because I’m migrating from Emacs 28.2 in Debian Bookworm to Emacs 29.4, after the installation, some packages need to be manually reinstalled or required.
- Add
(require 'recentf)
to.emacs
. helm-recentf
was previously bound toC-x C-r
. In Emacs 29.4,helm
is not installed, so I replacehelm-recentf
withrecentf-open
.- Install the
session
package from ELPA, then the previous configuration(add-hook 'after-init-hook 'session-initialize)
in.emacs
will work. -
Add the path of previously installed ELPA packages
pyim
andpyim-wbdict
toload-path
:(add-to-list 'load-path "~/.emacs.d/elpa/pyim-wbdict-20220604.1340") (add-to-list 'load-path "~/.emacs.d/elpa/pyim-20240508.256")
- Remove
(require 'org-install)
,(require 'ox-freemind)
,(require 'ox-taskjuggler)
fromtjh-org.el
. They are not available in theorg
packaged with Emacs 29.4.
- Add