- 「Unicode 15.0」に対応した「GNU Emacs 29.1」、高速パーサー「tree-sitter」の採用も - 窓の杜
- GNU Emacs 29.1がリリース - PGTKサポートや非常に長い行を含むテキストファイルの取り扱いが改善 | ソフトアンテナ
これまでのEmacs 28.2から乗り換えました.Windows 11での使用です.本記事も,Emacs 29.1で書いてから,はてなブログの記事編集ページに貼り付けています.
インストールに,話を戻します.https://www.gnu.org/software/emacs/download.htmlより「nearby GNU mirror」をクリックし,/emacs/windows/emacs-29/の中のemacs-29.1_1-installer.exeをダウンロードして,インストールしました.Emacs 28.2の各ファイルは,そのまま残っています.
エクスプローラーでC:\Program Files\Emacs\emacs-29.1\binのフォルダに移動して,runemacs.exeをダブルクリックすると,無事にEmacsは起動したものの,エラーメッセージが表示されました.
■ Warning (initialization): An error occurred while loading ‘c:/(略)/init.el’: Symbol's function definition is void: eieio--defgeneric-init-form To ensure normal operation, you should investigate and remove the cause of the error in your initialization file. Start Emacs with the ‘--debug-init’ option to view a complete error backtrace.
eieio(えいえいおー?)とは,面白い名前です.init.elに書いた覚えはありません.少し調べて,Emacsのビルトインのパッケージに「eieio」「eieio-core」というのがあるのを知りました.
上記のうち「eieio--defgeneric-init-form」で検索したところ,10年前の,フォーラムのやりとりが見つかりました.
コメントの一つでは,cp -a /usr/share/emacs/site-lisp/ecb ~/tmpから始まるコマンドを実行して,バイトコンパイルしていないecbを使用する方法が書かれています.なのですが,今回インストールした中に,ecbは,通常ファイルにもディレクトリにも,入っていません.
パッケージリストを見ました.M-x package-list-packagesを実行して,対外通信が終わるまで待ち,ebcを探すと,ステータスは「available」となっており,未インストールでした.20170728.1921のバージョンをインストールし,ついでに古いパッケージを更新してから,Emacsを終了して起動し直すと,エラーは表示されなくなりました.
以下で紹介されている機能も,試してみました.うまくいきました.