Emacs 30
It's official; Emacs 30 has been released! Let's try it!
If you've never compiled Emacs before, make sure you have the dependencies first.
❯ cd ~/Downloads
❯ wget https://ftpmirror.gnu.org/emacs/emacs-30.1.tar.xz
❯ wget https://ftpmirror.gnu.org/emacs/emacs-30.1.tar.xz.sig
❯ wget https://ftp.gnu.org/gnu/gnu-keyring.gpg
❯ gpgv --keyring ./gnu-keyring.gpg emacs-30.1.tar.xz.sig emacs-30.1.tar.xz
gpgv: Signature made Sun 23 Feb 2025 12:01:12 PM EST
gpgv: using RSA key BB02E407AE9EAA87C9E72A1D2D4E1FE95957135D
gpgv: issuer "stefankangas@gmail.com"
gpgv: Good signature from "Stefan Kangas <stefan@marxist.se>"
gpgv: aka "Stefan Kangas <skangas@skangas.se>"
Looks good. Thanks, Stefan!
❯ cd ~/Emacs
❯ tar xf ~/Downloads/emacs-30.1.tar.xz
❯ cd emacs-30.1
❯ ./autogen.sh
...
❯ ./configure
...
❯ make -j$(nproc)
...
❯ src/emacs -Q
Now if we M-x describe-variable RET system-configuration-features RET
, we see
"ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ
JPEG LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES
NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3
THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM
XINPUT2 XPM GTK3 ZLIB"
we have NATIVE_COMP
, SQLITE3
, and TREE_SITTER
without any arguments to configure
. Nice!
❯ sudo make install
Now before we blindly copy our Emacs 29 configuration, let's think about it. For example, Emacs 30 includes which-key, so our configuration changes from
(use-package which-key
:ensure t
:config
(which-key-mode))
to just
(which-key-mode)
That is, which-key
is included, but we still have turn it on, I guess.
I took the opportunity to go through my whole configuration and tidy up a bit.
A couple of things I haven't had a chance to try yet are RustOwl, which should make use of the new :vc
attribute in use-package
and perl-ts-mode, which requires Emacs 30 for some reason.
Philip Kaludercic gave a nice talk on Emacs 30 Highlights at EmacsConf last year.

Thanks to everyone involved in the development and release of Emacs 30! This is the best release ever!