先日、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
公式サイト によると、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 の新しい機能はゆっくり見てみるとして、ひとまずバージョンアップすることでいくつかエラーが出たので、ここに自分用にメモしておきます。