Skip to content

Japanese IME patch and others for building with MinGW on Windows

Notifications You must be signed in to change notification settings

msnoigrs/emacs-on-windows-patches

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Japanese IME patch and others for building with MinGW on Windows

GNU Emacs 29.4をWindows向けにMinGW(MSYS2)でコンパイルして使う人のためのパッチ - W32-IME組み込み

飛躍的に高速化した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をコンパイルして使うための情報が丁寧に記されています。

00-emacs-29.4-w32-ime.patch

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無効

01-emacs-29.4-disable-w32-ime.patch

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 を返す

02-emacs-29.4-dontusereg.patch

addpm.exeの処理において各種パスのレジストリ登録処理を省きます。addpm.exeにはスタートメニューにemacsのショートカットを作成するといった機能があります。

03-emacs-29.4-cmigemo.patch

emacs-26.1-rc1-cmigemo.diffと意味的に同じものです。

以下、abount patches and how to build emacs on Windows. (Japanese)からの引用です。

GNU emacs(x64)でダイナミックロード機能が独自に実装される前のcmigemo組み込み部分です。

私はこのcmigemo組み込みパッチを好んで使っていますが、他に同rzl24ozi氏によるdynamic module版を使う方法もあります。

04-emacs-29.4-mingw32-remove-check.patch

configureスクリプトで行われる、imagemagickとlibgccjitに対するチェック処理がWindowsでは正常に行われないため、それらチェック処理を省きます。

001-ucrt.patch

UCRT版のソースに付属するパッチです。

Fix-MinGW-build-with-GCC14-and-later.patch

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環境を想定しています。

Windows上のemacsを使用するときに、同時に設定しておくと便利かもしれないもの

MISC.orgにまとめました。

About

Japanese IME patch and others for building with MinGW on Windows

Resources

Stars

Watchers

Forks

Packages

No packages published