まずはよく参照させていただいている金子邦彦さんの ♣ OUT02: MSYS2 のインストール... (Windows 上) に従い作業しました. 環境変数の設定や導入するパッケージも例のままです. (私の場合 Fortran などは使わないのですが取捨選択するのも面倒なので 入れちゃいました.)
MSYS2 で採用しているパッケージマネージャー(その名も pacman), Arch Linux からの流れだとのことですが便利ですね. MSYS2 が普及するのも納得できます.
ここで MSYS2 の機能が生きます. シェル(MSYS2 MINGW64)から以下を実行するだけ. この時点で最新の Emacs 28.2 がインストールされました.
pacman -S mingw-w64-x86_64-emacs
シェルから emacs[RET] として起動確認. OK, 簡単です.
作業に先立って「Mozc サーバー」は MSYS2 パッケージの中に無い様なので 例によって ♥ 「Google 日本語入力」をインストールしました.
続いて ♥ mozc_emacs_helper のインストールも問題なし. emacs は C:\msys64\mingw64\bin (= /mingw64/bin) 以下にインストールされているので, mozc_emacs_helper も同じディレクトリにコピー.
そして ♥ (Emacs の) Mozc パッケージのインストール. ここから問題が発生しました. ~/emacs.d/init.el に melpa などのアドレスを設定して 'M-x package-list-packages' コマンドを実行. すると エコー領域に 「Importing package-keyring.gpg...」と表示されたまま, いつまで経っても done にならない(= プログラムが進まない). gpg の問題? firewall に何か引っかかっている? などあれこれ調べましたが 直りません. どうもサーバーとの間の signature が正しくチェックできないようです. 最終的に init.el に signature のチェックをしないようにする記述を加えて 逃げました.
[~/.emacs.d/init.el] (先頭の 1 行はエラー対策. 更にアドレスは melpa のみに) (setq package-check-signature nil) (require 'package) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/")) ;; (add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/")) ;; (add-to-list 'package-archives '("marmalade" . "https://marmalade-repo.org/packages/")) ;; (add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/")) (package-initialize)
これで何とか mozc パッケージを入れ終わりました.
次に ♥ boiled_mozc のインストール. これは問題なし.
これで準備完了. ♥ Emacs での Mozc の設定 & 動作確認を行います. 設定の方はほとんど今まで通り, 違いと言えば init.el の中の mozc_emacs_helper.exe のディレクトリ指定が変わった程度...
そして動作確認. ここでまたもや問題発生. 'C-\' で Mozc モードに移行するはずがいつまで経っても 'mozc.el: Starting mozc-helper-process...' のまま. 'done' となりません. どうも Google IME に限らず, どの IME にも接続できない様です. これじゃ IME 対応していない頃の古い Emacs に逆戻りです... ん, 待てよ. もしかして IME 対応部分を外してコンパイルしているんじゃ...
試しに本家のダウンロードページ♠ DL01: GNU Emacs - Download & installationから 最新の Windows 版をダウンロードして(MSYS2 の Emacs とぶつからないように) C:\emacs 以下に展開, こちらも同じように Mozc 設定をして実行してみました. (実際には MSYS2 で設定したのと同じ init.el を読み込むので何もする必要なし.) 問題なく Mozc モードが動きます. boiled-mozc も OK.
MSYS2 でインストールされる Emacs とファイルサイズを比べてみると, 本家からダウンロードしたものに比べ MSYS2 版は明らかにファイルが小さい. きっと MSYS2 版 Emacs は IME 非対応なんだろうと思い, 利用を断念. 結局, MSYS2 から mingw64 関連のパッケージを全部削除し, その後で C:\msys64\mingw64 以下に C:\emacs 以下をゴソッと移動させました. (一旦全て mingw64 関係を削除したのは, 参照するライブラリのバージョン違い などの問題を避けたかったためです.)
pacman -h (Help, ヘルプ) pacman -h -S ( 'S' コマンドのヘルプ) pacman -Qqe (Query, 'q' は quiet(verbose の逆), 'e' は explicit で明示的の意. 自分でインストールしたパッケージのリスト) pacman -Syu (Sync, 'y' は refresh, 'u' は sysupgrade, システム更新) pacman -S XX ( パッケージ XX のインストール) pacman -Si XX ( 'i' は info, パッケージ XX の情報表示) pacman -Ss XX ( 's' は search, XX 関連のパッケージを表示) pacman -Rs XX (Remove, 's' は recursive, パッケージ XX の削除)
このような紆余曲折を経て, 今は問題なく Emacs を動かしています. 結局は MSYS2 には mingw64 関係のパッケージを入れずに, 自分で mingw64 以下に Emacs を展開したことになります.
私の推測では MSYS2 の Emacs は IME 非対応ですが, うまく動かせなかったのは 別の理由かもしれません. ご存知の方はお教えください. 本当は MSYS2 で mingw64 でのコンパイル環境を整え, そこで Emacs の ソースコンパイルを行えばいいのでしょうが, 「簡単に導入」と言う 主旨からは外れてしまうので, 今回はここまでとします. (今後もネットで MSYS2 Emacs の動向は追いかけます :-)
MSYS2 のパッケージに mingw-w64-x86_64-emacs の他に mingw-w64-x86_64-liberime なんてのを見つけました. Rime は中国語関連の IME の様で, その関連の emacs ライブラリ群のようです. こんなものが存在するなら, 日本語 IME 非対応はありうるかも...
MSYS2 のパッケージ削除も 'pacman -Rs <パッケージ>' で実行 できるのですが, 依存関係もあり面倒でした. 一旦 MSYS2 を削除し 最低限のインストールからやり直したほうが良かったかもしれません. 一応頻繁に使った pacman オプションを列挙しておきます.