つーさにブログ

つうさにのメモ用ブログ

macOS MojaveにしてEmacs 26.1とかEmacs 26.2をビルドしてみる

Emacs 26.2リリース記念

GNU Emacs 26.2がリリース

2019年4月12日、Emacs 26.2がリリースされました。このバージョンではmacOSEmacsを使うのに重要な問題がさらっと修正されています。その問題とは以前記事にした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のアプデがあるたびにする必要がありそう(?)です。

apple.stackexchange.com

MojaveでEmacs.app

MojaveでいろんなEmacsを実行してみます。全部-qオプション付きで実行しました。

High SierraでビルドしたEmacs 26.1

以前書いた記事でよくわかってないこととして書いた、Mojaveより前でビルドしたEmacs 26.1のMojaveでの起動を試してみました。

たまたまHigh Sierraでビルドした Emacs 26.1があったので起動したら、私の環境では普通に表示されてレンダリングの問題は起こりませんでした。

f:id:tsuu_mmj:20190420033718p:plain
Mojaveで実行したHigh SierraでビルドしたEmacs 26.1

レンダリング問題が起こると思ってたので意外でした。

emacsformacosx.comからダウンロードしたEmacs 26.1

emacsformacosx.comに置かれているEmacs 26.1を試してみます。https://emacsformacosx.com/buildsEmacs-26.1-universal.dmgを利用しました。

これも私の環境では普通に表示されてレンダリングの問題は起こりませんでした。

f:id:tsuu_mmj:20190420044345p:plain
Mojaveで実行したemacsformacosx.comからダウンロードしたEmacs 26.1

emacsformacosx.comで置かれているEmacs 26.1はOS X Yosemite(10.10.5)でビルドされたもののようです。

MojaveでEmacs 26.1のビルド

emacs-26.1のtarballをダウンロードして、展開したディレクトリで./configure && makeします。

これを起動するとレンダリング問題が起こりました。

f:id:tsuu_mmj:20190420034728p:plain
Mojaveで実行したMojaveでビルドしたEmacs 26.1

C-x b RETするとタイトルバーの文字が*GNU Emacs*から*scratch*に切り替わります。Emacsはしっかり動いてるけれど、内容が表示されないようです。

MojaveでEmacs 26.2のビルド

Emacs 26.1と同様の手順をしてEmacs 26.2を起動したら、レンダリングの問題は発生しませんでした。

やはり、MojaveでのEmacs.appレンダリングの問題はEmacs 26.2で修正されたようです。

f:id:tsuu_mmj:20190420035527p:plain
Mojaveで実行したMojaveでビルドしたEmacs 26.2
HomebrewのFormulaも更新されたので(これこれ)、brew upgrade emacsEmacs 26.2がビルドされてMojaveでも正常に利用できそうです。

おしまい

macOS向けのEmacsのportをメンテされている方に圧倒的感謝。