週刊Emacs News 2016年11月28日

[emacs-tangents](http://lists.gnu.org/archive/html/emacs-tangents/)メーリングリストにまとめられたEmacs界隈のニュースに@tadsanが雑にコメントつけつつ紹介していくよ ヾ(〃＞＜)ﾉﾞ☆

**前回**： [週刊Emacs News 2016年11月21日](http://qiita.com/tadsan/items/cbe1cc601c665f0041f7)

リンクは主に[reddit.com/r/emacs](http://reddit.com/r/emacs/new)、[/r/orgmode](http://reddit.com/r/orgmode)、[/r/spacemacs](http://reddit.com/r/spacemacs)、[Hacker News](https://hn.algolia.com/?query=emacs&sort=byDate&prefix&page=0&dateRange=all&type=story)、[planet.emacsen.org](http://planet.emacsen.org)、[Youtube](https://www.youtube.com/results?search_query=emacs&search_sort=video_date_uploaded)、[Emacs NEWS file](http://git.savannah.gnu.org/cgit/emacs.git/log/etc/NEWS)の変更、[emacs-devel](http://lists.gnu.org/archive/html/emacs-devel/2016-11)あたりから採られてるよ。

## 注意

この記事の出典： [2016-11-28 Emacs News](http://lists.gnu.org/archive/html/emacs-tangents/2016-11/msg00004.html)

注釈が不要なひとは[emacs-news Archives - sacha chua :: living an awesome life](http://sachachua.com/blog/category/geek/emacs/emacs-news/)から読むと良いですよ。

## Org Mode

### [Mount org-mode files as FUSE file systems](https://github.com/vkazanov/toy-orgfuse) ([/r/emacs](https://www.reddit.com/r/emacs/comments/5emvh7/mount_orgmode_files_as_fuse_file_systems/), [/r/orgmode](https://www.reddit.com/r/orgmode/comments/5emuzc/mount_orgmode_files_as_fuse_file_systems/))</li>

**FUSE**([Filesystem in Userspace](https://ja.wikipedia.org/wiki/Filesystem_in_Userspace))とは、ユーザー権限でソフトウェアをファイルシステムとして利用するための仕組みのこと。実用的な例としてはSSHで接続したリモートサーバのディスクをマウントできる[SSHFS](https://en.wikipedia.org/wiki/SSHFS)、おふざけの例としては[ファイルシステムでズンドコキヨシ](http://qiita.com/rryu/items/272c08a4eae68d627151)などがある。

`toy-orgfuse`は、どうやらひとつのorgファイルをディレクトリにマウントし、それぞれのアウトラインに属するセクションをそれぞれファイルとして操作できるようです。これができると何が嬉しいかって？ ばかでかいひとつの`.org`ファイルを編集するときにEmacsのバッファが軽くなるかもしれないですね(試してないけど、保存と読み込みは重いかもしれない…)。

### [Presentations in Emacs](https://www.reddit.com/r/emacs/comments/5e71oz/presentations_in_emacs/)

「Emacsをプレゼンツールにするには、どうすりゃええのん？」 って話。紹介されてるのは[demo-it](https://github.com/howardabrams/demo-it)、[org-tree-slide](https://github.com/takaxp/org-tree-slide)、[bestowed](https://github.com/robrohan/bestowed)。ここに挙がってないのだと[org-ioslide](https://github.com/coldnew/org-ioslide)ってのもあります。

## 設定

### [GitHub - tarsius/no-littering: Help keeping ~/.emacs.d clean](https://github.com/tarsius/no-littering) ([Reddit](https://www.reddit.com/r/emacs/comments/5f66ak/github_tarsiusnolittering_help_keeping_emacsd/))

なんやかんやのEmacs Lispパッケージが勝手に保存していく設定とか一時ファイルを`~/.emacs.d/etc/`とか`~/.emacs.d/var/`とかに整理して配置してくれます。これのお蔭で`~/.emacs.d`の直下が汚れなくなるって寸法。

## [Emacs-Bootstrap: Your on-the-fly Emacs development environment!](http://emacs-bootstrap.com/) ([Reddit](https://www.reddit.com/r/emacs/comments/5ewt5x/emacsbootstrap_your_onthefly_emacs_development/))

選択肢をいくつか選ぶとzipファイルが落ちてきてEmacsの初期化ファイルが展開される。これでいいのか… なあ。うーん。

### [Asynchronous tangle and compile of config.org (question/issue)](https://www.reddit.com/r/emacs/comments/5ej8by/asynchronous_tangle_and_compile_of_configorg/)

Emacsの初期化ファイルを`config.org`ってファイルに書こうとして困ったらしい。先に`(package initialize)`を書いてなかったって落ちっぽい。まあそんな日もあるさ。

### [Emacs version manager](https://github.com/argentum47/everm)

バージョン指定でEmacsをインストールするツールっぽい。どっちも使ってないから筆者は評価できないけど、[evm](https://github.com/rejeep/evm)よりもシンプルなシェルスクリプトっぽい。

## Emacs Lisp

### [Cancel all timers calling some function](http://pragmaticemacs.com/emacs/cancel-all-timers-calling-some-function/)

`cancel-time`だとタイマーオブジェクトを指定して殺さないといけないけど、`cancel-function-timers`はタイマーに登録した函数の方で検索して殺せてべんりだよ、って話。

### [Emacs’s cask (a.k.a. bundler for Emacs) is looking for new maintainers](https://github.com/cask/cask/issues/376) ([Reddit](https://www.reddit.com/r/emacs/comments/5e41dr/emacss_cask_aka_bundler_for_emacs_is_looking_for/))

Emacs Lispパッケージの依存性を管理するツールである[Cask](https://github.com/cask/cask)の現在のメンテナのlunaryornたんとrejeepたんが時間とれないから辞任するよ、って話。どちらも高名なEmacsハッカーです。

## コーディング

### [Awesome vim-like folding for Evil-mode with {{{ markers](https://www.reddit.com/r/emacs/comments/5ei7wa/awesome_vimlike_folding_for_evilmode_with_markers/)

Vimには[マーカー文字列(`{{{`)を埋め込んでソースコードを折り畳み表示する](http://nanasi.jp/articles/howto/fold/fold-marker.html)機能があるのだけれど、`evil-vimish-fold`とか`vimish-fold`とか入れなくても実現できるよ、この設定入れときゃいいよ、……みたいなことだと思ふ。

一方で[origami](https://github.com/gregsexton/origami.el)とか入れたら勝手にEvilと統合されてくれるからそれでいいよ、みたいな感じ。(紹介: [origami.el : elisp,Clojure,C系言語(C,Java,JavaScript,C++,Perl)でorg-mode風の折畳みをする](http://emacs.rubikitch.com/origami/))

### [Have links in comments like Spacemacs - goto-address-mode](https://www.reddit.com/r/emacs/comments/5e94pg/have_links_in_comments_like_spacemacs/)

Spacemacsみたいにコメント中のURLクリックしたらリンクにするのはどうしたらいいの、と質問。それ[`goto-address-mode`](https://www.gnu.org/software/emacs/manual/html_node/emacs/Goto-Address-mode.html)だよ、って返答。

### [Disable Certain Pairs for electric-pair-mode - Top Bug Net](https://www.topbug.net/blog/2016/09/29/emacs-disable-certain-pairs-for-electric-pair-mode/)

`electric-pair-mode`はEmacs24から標準で入った機能で、括弧を入力すると自動で閉ぢ括弧も補完される機能。

### [Productive Emacs: clojure refactor (cljr-refactor)](https://www.youtube.com/watch?v=pKzIxtR0ElU) (16:42)

実践的なEmacs、Clojureでリファクタリングする方法の動画。

## Emacs本体開発

### [New variable while-no-input-ignore-events](http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=d9dd884c7c1940cacfcc2d86d47220b40c520bb5)

`while-no-input`はマクロで、現在キー入力じゃなかったら処理を実行するやつ、みたいな理解。で、今回追加された変数は特定のキーを無視してくれるんじゃないかって気がしてる。たぶん。

### [New input method polish-prefix](http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=8da61f884649e1fb98fc83f9401116df8f948a31)

[ポーランド語アルファベット](https://ja.wikipedia.org/wiki/%E3%83%9D%E3%83%BC%E3%83%A9%E3%83%B3%E3%83%89%E8%AA%9E%E3%82%A2%E3%83%AB%E3%83%95%E3%82%A1%E3%83%99%E3%83%83%E3%83%88)の入力方法が追加されたのかな？ (実装読んでない)

### [New option comint-move-point-for-matching-input](http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=afe2997119a5e6b108851f2e236037da1d4acef2)

**Comint**はEmacsからインタプリタの対話入力モード(REPL)を操作するモード。<kbd><kbd>C</kbd>-<kbd>c</kbd> <kbd>M</kbd>-<kbd>r</kbd></kbd>と<kbd><kbd>C</kbd>-<kbd>c</kbd> <kbd>M</kbd>-<kbd>s</kbd></kbd>キーを入力したあとに、実際にその入力をした場所に移動するオプション？ (現在のデフォルトは、一番下の入力行でコマンド履歴を辿れる)

### [New command for unmarking all buffers in buffer menu](http://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=27b754cb4432ece3efe3fc9d8e52a869ae061b7f)

Dired(ディレクトリ一覧モード)で複数の項目に削除マークを付けた状態で<kbd>U</kbd>を押すと選択が全部外れるんだけど、意外にもバッファリストではこの機能がなかったから追加したよ、ってことかな。

### [Discussion about conservative garbage collection](http://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00551.html)

保守的GCって安全じゃないし(いままではコンパイラが運良くいい感じにしてくれてたけど)良くないんじゃねーの、みたいな問題提起。せやな。

### [Work on replacement for ldefs-boot.el, which builds Emacs from temacs to bootstrap](http://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00456.html)

`ldefs-boot.el`はビルド時に依存するファイルなんだけど、これをぜんぶ自動ロードすれば要らなくなるはずだからパッチ書いてるおって話。

### [Volunteers welcome to work on Wayland support](http://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00549.html)

「Fedora 25がリリースされてディスプレイサーバが[Wayland](https://ja.wikipedia.org/wiki/Wayland)になったけどサポートの予定ある？」「おう、ボランティア待ってるぜ」

### [Follow up on overlays as AA-tree](http://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00475.html)

オーバーレイを[AA木](https://ja.wikipedia.org/wiki/AA%E6%9C%A8)にするって話？ (GCの話からの分岐？)

## そのほか

### [Bye Bye Emojis: Emacs Hates MacOS](http://www.lunaryorn.com/posts/bye-bye-emojis-emacs-hates-macos.html) ([Reddit](https://www.reddit.com/r/emacs/comments/5e3xpu/emojis_in_emacs_intentionally_disabled_for_osx/), [Hacker News](https://news.ycombinator.com/item?id=13011185))

じつはEmacs24系まではmacOSのカラー絵文字をサポートしてたんだけど、Emacs25では削除されちゃったんですよ。まあぶち切れる気持ちもわかる。

筆者(@tadsan)は、カラー絵文字はまともに描画しようと思ったら我慢しがたいほど重かったので仕方ないよね、と思ってる次第。

### [Mastering Emacs is 50% Off](http://irreal.org/blog/?p=5749)

Mastering Emacsの最新版がいまなら半額！！ (しばらく前に買ったけど読めてない…)

### [An idea - Emacs RPG mode](https://www.reddit.com/r/emacs/comments/5eyxhn/an_idea_emacs_rpg_mode/)

RPG仕立てのチュートリアル作ったらEmacsに馴染めるんじゃないの？ みたいな提案。そーなのかなー。

## 新しいパッケージ

## [counsel-gtags](http://melpa.org/#/counsel-gtags): ivy for GNU global

[Ivy/Counsel](https://github.com/abo-abo/swiper)で[GNU GLOBAL](https://www.gnu.org/software/global/)を引けるようにしたやつ、かな。

GNU GLOBALをよく知らないひとは[ソースコードを快適に読むための GNU GLOBAL 入門 (前編) - まちゅダイアリー(2009-03-07)](http://www.machu.jp/diary/20090307.html#p01)など参照。

## [evil-replace-with-register](http://melpa.org/#/evil-replace-with-register): Port of vim plugin replace-with-register

Vimの[ReplaceWithRegister: Replace text with the contents of a register.](https://github.com/vim-scripts/ReplaceWithRegister)の移植っぽい。

## [flycheck-plantuml](http://melpa.org/#/flycheck-plantuml): Integrate plantuml with flycheck

[PlantUML](http://plantuml.com/)のファイルをチェックするやつ。


## [grab-x-link](http://melpa.org/#/grab-x-link): Grab links from X11 apps and insert into Emacs

デスクトップで起動してるアプリケーションのタイトルをEmacsで取得してこれるらしい。なるほど。