本日 Emacs-25.1 がリリースされていました。

いつもであれば、[2015-04-12-1] のように Mac port パッチを当てます
が、Emacs 25 からほとんどの機能が本体にマージされるという話 があっ
たので、パッチを当てずにアップデートしてみました。

ちなみに私が Mac port パッチを当てていたのは、Emacs が頻繁に強制終
了していたからです。素の Emacs が安定していれば、今後もパッチを当
てないと思います。

すでに Emacs-25.1 対応の Mac port パッチは出ています。早い…。
ftp://ftp.math.s.chiba-u.ac.jp/emacs/emacs-25.1-mac-6.0.tar.gz

素晴らしいことに、Homebrew も速攻対応されており
$ brew cask install emacs でインストール出来ます。

アップデート時のエラーや警告対応

init.el がエラーになったのは、1 の php-mode だけでした。

参考までに修正後の init.el はこちらです。
https://gist.github.com/masutaka/8177244/8d4e0d1364b401d65480d52e00555820a7a1d0df

1. (require ‘php-mode) が謎のエラーを吐く

バイトコンパイル要因のエラーっぽかったので、Emacs-25.1 でパッケー
ジを再インストールしたら直りました。

2. init.el に custom-set-variables の設定がべた書きされる

どうやら新設された変数 package-selected-packages にインストールし
たパッケージ名を保持するようになった影響のようです。

抑制方法が分からなかったので、custom-set-variables の書き出し先を
~/.emacs.d/custom.el に変更しました。

;; Avoid to write `package-selected-packages` in init.el
(load (setq custom-file (expand-file-name "custom.el" user-emacs-directory)))

こちらの記事を参考にしました。
“package-selected-packages” always appear after upgrading to 25.0 rc1 : emacs

3. ElScreen の非アクティブタブの色が変わる

これは Emacs-25.1 とは関係なく、Mac port パッチを当てなかった影響
でした。せっかくなので PR 出しておきました。

https://github.com/knu/elscreen/pull/21

4. flet の Obsolete warning

‘flet’ is an obsolete macro (as of 24.3); use either ‘cl-flet’ or ‘cl-letf’.

起動時にこんな warning が出ました。すでに Emacs-24.3 で obsolete
になっていたようなので、warning が大げさになったのでしょうか。

init.el で flet 使っている箇所があったので、cl-letf を使うように修
正しました。

;; 修正前
(flet ((message (format-string &rest args)
                (eval `(format ,format-string ,@args))))
  ...

;; 修正後
(cl-letf (((symbol-function 'message)
           (lambda (format-string &rest args)
             (eval `(format ,format-string ,@args)))))
  ...

単純な関数名置換ではうまく行かず、少々難儀しました。cl-flet では期
待する動作はしませんでした。

こちらの記事が大変参考になりました。
Understanding letf and how it replaces flet · Endless Parentheses

アップデート内容

日本語記事出てました。

【速報】「Emacs 25.1」がリリース – ネイティブウィジェットをEmacsバッファに埋め込めるXwidgets機能がサポートされる

正直 Xwidgets 機能なんてどうでも良いので、もっとテキストエディタと
しての使い勝手を高めて欲しいですね…。未だにタブ機能がネイティブ
でサポートされてないのは時代遅れだと思います。

(最後に愚痴っぽくなってしまったw)

以下は個人的に良いと思った変更点です。

追加情報

当日 @takaxp さんからこんな情報が。

さらに次の日にこんな情報も。

mac-auto-ascii-mode のバグ [2015-01-04-1] も直っていたので、Mac
port パッチを当てた Emacs に戻ってきました。ところが、、

自分でビルドすれば良いのですが、最近意識が低くなっているので、
https://github.com/railwaycat/homebrew-emacsmacport を使わせて
頂きました。

$ brew cask install railwaycat/emacsmacport/emacs-mac

@watson1978 さんから、モダンな(?)アイコンのバイナリを教えて頂きま
した。