Install Emacs29.1 on Debian12

Debian12 「bookworm」に Emacs29.1 をインストール

Debianのバージンが12.7になったのを機にEmacs28.2からEmacs29.1にupdateした。

インストールは以下の通りで問題なく完了、念の為に Pacskage群も全て削除して再インストールした。

sudo apt-get build-dep emacs-gtk
cd ${HOME}/src
wget http://ftp.gnu.org/gnu/Emacs/emacs-29.1.tar.xz
tar xvf emacs-29.1.tar.xz
cd emacs-29.1
./autogen.sh 
./configure --with-native-compilation 
sudo make
sudo make install
make clean
rm -rf ${HOME}/.emacs.d/elpa

インストール後にわかったこと

melpのファイルの全て再インストールして無事Emacs29.1が立ち上がったが以下のトラブルに遭遇した。

Package autoload is deprecated

インストールはスムーズに完了したがEmacs起動後エコーエリアに「Package autoload is deprecated」というエラーメッセージがでる。

ネット検索すると以下の記事が見つかった。

Howto fix: package autoload is deprecated

Slackのemacs-jpで質問したら以下のようなレスを頂いた。

(require ‘autoload)がしばらく前に非奨励となったようで、loaddefs-gen.elで置き換えられたとありますね。 init.elのどこかでautoload.elを使っている、あるいは古いヴァージョンのライブラリがこれを使っている場合は書き換えるか、ある>いはより最近のヴァージョンにアップデートすれば、メッセージが消えるかもしれません。

自分のinit.elではautoload.elは使っていないので パッケージフォルダの ~/.emacs.d/elpa/ 内を ag で検索した処、el-getに (require ‘autoload) の記述があることがわかった。

さらにEmacs29からは、package-vc-installが使えるのでel-getは不要との情報を入手、Leaf.elでも :vc コマンドで使えることがわかったので全て書き直してel-getを削除することで無事エラーがなくなった。

その他の感想

  • init.elの改善をよく行うので restart-emacs.el は必須のパッケージだったがEmacs29.1には標準で内包されることがわかった。
  • 以前開発版のEmacs29を試したときは起動時にちらつきがでていたが、今回はそのようなこともなくスムーズになっていた。
  • 設定の関係かも知れないが、Emacs28.2よりごくわずかだが起動時間が短縮された。目出度し!