Emacs 29 を Emacs 30 にバージョンアップしたら tamago が動かなくなった話

2025/3/14 夜、久々に pkg upgrade を実行したら、Emacs が 29 系列から 30.1 に更新された。

それはいいのだが(?)、起動しようとしたらエラーを吐いた。

Warning (initialization): An error occurred while loading ‘/home/hogehoge/.emacs’:

Wrong type argument: obarrayp, [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil]

上記に続いて「--debug-init 付きで起動して確認するがよいよ」と書かれていたのでその通りにしてみると、どうやらたまごが腐った様子。

バックトレースを見てみる

調べてみると、ドンピシャの情報が見つかった。そのスレッドにある FreeBSD への PR に添付されているパッチ↓に従って /usr/local/share/emacs/site-lisp/egg/its.el を書き換えたところ、無事に復旧した。やれやれ:-(

パッチを見る