macOS MojaveにしてEmacs 26.1とかEmacs 26.2をビルドしてみる
Emacs 26.2リリース記念
GNU Emacs 26.2がリリース
2019年4月12日、Emacs 26.2がリリースされました。このバージョンではmacOSでEmacsを使うのに重要な問題がさらっと修正されています。その問題とは以前記事にしたMojaveでレンダリングがおかしい問題(https://tsuu32.hatenablog.com/entry/2018/09/29/023117)です。
emacsのリポジトリとかメーリングリストとか見てたので、Emacs 26.2のリリースで上の記事に書いた問題が修正されるのはわかってたのですが、Emacs 26.2はなかなかリリースされずにいました。GNU Emacsなので、プロプライエタリなOSでの問題のためにリリースを早めるとかはしないんでしょう。
とにかく、とうとうEmacs 26.2がリリースされたので、Mojaveにアップデートしてこの問題を確認してみました。
Mojaveにアップデート
High SierraからMojaveにアップデートします。
macOSをアップデートしたらいつもやることとして、Command Line Toolsをインストールします。 自分はXcode.appを使う機会はないので、下を端末で実行してCommand Line Toolsのみをインストールします。
$ xcode-select --install
それと、これはEmacs 26.1のビルド中に気づいたので順番が前後してしまうのですが、Mojaveでは上をしただけでは/usr/includeが存在しません。
このためxml2のヘッダが見つからずmakeが途中でコケます。(同じことを言っている記事を見つけました→https://blog.shibayu36.org/entry/2018/12/25/193000)
/usr/includeを出現させるには以下を参考にしてください。これはCommand Line Toolsのアプデがあるたびにする必要がありそう(?)です。
MojaveでEmacs.app
MojaveでいろんなEmacsを実行してみます。全部-q
オプション付きで実行しました。
High SierraでビルドしたEmacs 26.1
以前書いた記事でよくわかってないこととして書いた、Mojaveより前でビルドしたEmacs 26.1のMojaveでの起動を試してみました。
たまたまHigh Sierraでビルドした Emacs 26.1があったので起動したら、私の環境では普通に表示されてレンダリングの問題は起こりませんでした。
レンダリング問題が起こると思ってたので意外でした。
emacsformacosx.comからダウンロードしたEmacs 26.1
emacsformacosx.comに置かれているEmacs 26.1を試してみます。https://emacsformacosx.com/buildsのEmacs-26.1-universal.dmgを利用しました。
これも私の環境では普通に表示されてレンダリングの問題は起こりませんでした。
emacsformacosx.comで置かれているEmacs 26.1はOS X Yosemite(10.10.5)でビルドされたもののようです。
MojaveでEmacs 26.1のビルド
emacs-26.1のtarballをダウンロードして、展開したディレクトリで./configure && make
します。
これを起動するとレンダリング問題が起こりました。
C-x b RET
するとタイトルバーの文字が*GNU Emacs*から*scratch*に切り替わります。Emacsはしっかり動いてるけれど、内容が表示されないようです。
MojaveでEmacs 26.2のビルド
Emacs 26.1と同様の手順をしてEmacs 26.2を起動したら、レンダリングの問題は発生しませんでした。
やはり、MojaveでのEmacs.appレンダリングの問題はEmacs 26.2で修正されたようです。
brew upgrade emacs
でEmacs 26.2がビルドされてMojaveでも正常に利用できそうです。