Emacs 26.1 on Mac OS X El Capitan

先日、TeX Live 2018 を導入した 際に brew update したことによって、最近あまり触ることのなかった Emacs が 26.1 にバージョンアップしていることに気づきました。GNU Emacs 開発プロジェクトの公式アナウンスは こちら です。私は以前から Mac での Emacs は Mitsuharu Yamamoto さんの Emacs Mac Port を利用させていただいていました。

以前は brew linkapps emacs-mac で Applications フォルダに Emacs.app へのリンクが作成されましたが、今は、

Error: Unknown command: linkapps

となります。残念ながら brew linkapps は “deprecated” となったようです (cf. how install emacs 26 (or whatever latest ver) on mac)。

さて、私の環境での M-x emacs-version は以下の通り。

GNU Emacs 26.1 (build 1, x86_64-apple-darwin15.6.0, Carbon Version 157 AppKit 1404.47) of 2018-07-04

emacs_26.png

公式サイト によると、26.1 の新しい特徴の主なものは以下のようにあります (cf. こちら も参照)。

- Limited form of concurrency with Lisp threads
- Support for optional display of line numbers in the buffer
- Emacs now uses double buffering to reduce flicker on the X Window System
- Flymake has been completely redesigned
- TRAMP has a new connection method for Google Drive
- New single-line horizontal scrolling mode
- A systemd user unit file is provided
- Support for 24-bit colors on capable text terminals

バージョンアップによって、いくつか困ったことがあったので、ここにメモしておきます。まず、 org-mode で Message バッファに以下のエラーが出ました。

org-element--cache-find: Wrong type argument: avl-tree-, [cl-struct-avl-tree- [nil nil nil 0] org-element--cache-compare]

ググると ここ がヒットしました。設定ファイル (~/.emacs.d/init.el) に、

(setq org-element-use-cache nil)

を加えるとエラーメッセージは出なくなりました。

もう一つ。 org2blog で記事を書いていると、push 時に以下のエラーが出ました。

error in process sentinel: url-http-create-request: Multibyte text in HTTP request: POST /????/xmlrpc.php HTTP/1.1 …

これも こちら の指示通り、 xml-rpc.el を修正することで回避できました。

                                         " encoding=\"UTF-8\"?>\n"
                                         (with-temp-buffer
                                           (xml-print xml)
-                                          (when xml-rpc-allow-unicode-string
-                                            (encode-coding-region
-                                             (point-min) (point-max) 'utf-8))
-                                          (buffer-string))
+                                          (if xml-rpc-allow-unicode-string
+                                              (encode-coding-string (buffer-string) 'utf-8)
+                                            (buffer-string)))
                                         "\n"))
               (url-mime-charset-string "utf-8;q=1, iso-8859-1;q=0.5")
               (url-request-coding-system xml-rpc-use-coding-system)

Emacs 26.1 の新しい機能はゆっくり見てみるとして、ひとまずバージョンアップすることでいくつかエラーが出たので、ここに自分用にメモしておきます。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください