飛躍的に高速化したnative compileをするemacs、いわゆるgccemacsですが、Windowsでも自前でコンパイルすることで動作します。ビルド方法はBUILD.orgを参照してください。 今回からUCRT64環境でビルドすることにしました。
msys2のパッケージリポジトリには既にUCRT版が準備されていますので、以下のパッチを適用する必要がない場合は、それをインストールするとよいでしょう。https://packages.msys2.org/package/mingw-w64-ucrt-x86_64-emacs
IMEやcmigemoに関するパッチは、以下の情報由来のものです。Emacs 29.4のソースに適用できるように作成してあります。
- about patches and how to build emacs on Windows. (Japanese)
- 日本語Windows向けのIMEパッチやcmigemoを組み込むためのパッチ情報と、Windows上でemacsをコンパイルして使うための情報が丁寧に記されています。
emacs-26.1-rc1-w32-ime.diffと意味的に同じものです。
以下、abount patches and how to build emacs on Windows. (Japanese)からの引用です。
GNU emacs(x64)のIME関連部分を切り出したものです。
configureに以下のオプションを追加しています。
デフォルトでW32-IME, RECONVERSION, DOCUMENTFEEDが有効ですが無効にしたい場合に指定してください。
--without-w32-ime : W32-IME無効(同時にRECONVERSION、DOCUMENTFEEDも無効) --without-reconversion : RECONVERSION無効(同時にDOCUMENTFEEDも無効) --without-documentfeed : DOCUMENTFEED無効
emacs-26.1-rc1-disable-w32-ime.diffと意味的に同じものです。
以下、abount patches and how to build emacs on Windows. (Japanese)からの引用です。
以下の関数を追加します。
(disable-w32-ime) ; IME無効化(IMEをONにできなくなります) (enable-w32-ime) ; IME無効化を元に戻す (w32-ime-disabled-p) ; IMEが無効化されている場合 t を返す
addpm.exeの処理において各種パスのレジストリ登録処理を省きます。addpm.exeにはスタートメニューにemacsのショートカットを作成するといった機能があります。
emacs-26.1-rc1-cmigemo.diffと意味的に同じものです。
以下、abount patches and how to build emacs on Windows. (Japanese)からの引用です。
GNU emacs(x64)でダイナミックロード機能が独自に実装される前のcmigemo組み込み部分です。
私はこのcmigemo組み込みパッチを好んで使っていますが、他に同rzl24ozi氏によるdynamic module版を使う方法もあります。
configureスクリプトで行われる、imagemagickとlibgccjitに対するチェック処理がWindowsでは正常に行われないため、それらチェック処理を省きます。
UCRT版のソースに付属するパッチです。
MinGWのGCC14.1以降だとコンパイルに失敗する事象を回避します。 https://mail.gnu.org/archive/html/bug-gnu-emacs/2024-05/msg01179.html https://github.com/emacs-mirror/emacs/commit/5216903ae6c3f91ebefb1152af40753f723cbc39
ビルド方法はBUILD.orgを参照してください。日本の組織内では、プロキシを経由するネット環境が多いと思います。そういう環境の方にもつまずきが少なくなるように書きました。64bit環境を想定しています。
MISC.orgにまとめました。