わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

Windows版Emacs 29.1を試す

 これまでの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を終了して起動し直すと,エラーは表示されなくなりました.
 以下で紹介されている機能も,試してみました.うまくいきました.