僕はhelmの更新をちょくちょく追い掛けているが、
このパッケージは本当に注意していないと
いきなり動かなくなることがあります。
というのは、helm開発者がコードを削除しすぎるからです。
行番号移動を復活させる
僕はをoccurやgrepのように指定した行に移動する目的でも
使っているわけだが、いきなり動かなくなってて困りました。
原因はこのコミットでtype:lineやtype:file-lineが削除されていたことでした。
https://github.com/emacs-helm/helm/commit/b8aaa74c1e8ba8348cb4fe82b819361e26bd3ed2
b8aaa74c1e8ba8348cb4fe82b819361e26bd3ed2 Author: Thierry Volpiatto <thierry.volpiatto@gmail.com> Date: Mon Mar 23 20:12:56 2015 +0100 Remove obsolete code. * helm-aliases.el: Cleanup. * helm-plugin.el: Cleanup. * helm-utils.el: Cleanup.
http://rubikitch.com/f/mylisp-helm-file-line.el
に置いてあるのでrequireすれば復活します。
(require 'mylisp-helm-file-line)
確かにhelm本体には使われていないかもしれませんが、
helmユーザ側が自分のコードで使っている可能性があるという
想像力くらいは働かせるべきでしょう。
helm-firefox-bookmark, helm-w3m-bookmarkなどを復活させる
https://github.com/emacs-helm/helm/commit/ef0cfb9d83f47a7d01d69d5f50ccd2191049a8ef
ef0cfb9d83f47a7d01d69d5f50ccd2191049a8ef Author: Thierry Volpiatto <thierry.volpiatto@gmail.com> Date: Fri Mar 6 09:18:06 2015 +0100 * helm-aliases.el: Remove bbdb aliases. * helm-bbdb.el: deleted. * helm-emms.el: deleted. * helm-firefox.el: deleted. * helm-gentoo.el: deleted. * helm-w3m.el: deleted. * helm-yaoddmuse.el: deleted.
の変更により以下のファイルが削除されました。
- helm-bbdb.el
- helm-emms.el
- helm-firefox.el
- helm-gentoo.el
- helm-w3m.el
- helm-yaoddmuse.el
M-x helm-firefox-bookmark や M-x helm-w3m-bookmark
が使えなくて驚いた人もいるでしょう。
helm-emms.el, helm-firefox.el, helm-w3m.el は
それぞれ独立したパッケージに移動してあるので、
当該パッケージをインストールすれば使えるようになります。
M-x package-install helm-emms M-x package-install helm-firefox M-x package-install helm-w3m
helm-bbdb.el, helm-gentoo.el, helm-yaoddmuse.el
はパッケージに登録されていないので、ここから持って行ってください。
http://rubikitch.com/f/helm-bbdb.el
http://rubikitch.com/f/helm-gentoo.el
http://rubikitch.com/f/helm-yaoddmuse.el
時は命なり
C-eとC-jがいきなり使えなくなったり するなど、helmは本当に
いきなり動かなくなって戸惑うことがしばしばあります。
「パッケージをバージョンアップしたら突然動かなくなった」
というのは、こういった開発者の身勝手な行動も大きいです。
人間にとって平等に与えられているのは「時間」です。
「時は金なり」といいますが、それは間違いです。
正しくは「 時は命なり 」です。
失ったお金を取り戻すことはできますが、
失った時間は取り戻せません。
なぜ開発者の利己的な行動のせいで問題解決の時間を
取られなければならないのでしょうか?
Emacs Lispに詳しくない一般Emacsユーザが
この問題を解決するのにどれくらい時間がかかるのでしょうか?
いきなり非互換な変更をするというのは、
ユーザの大切な命の一部を奪うという大罪
を犯していることを認識すべきです。
こういうことに振り回されたくなければ
むしろ anything.el を使った方がいいです。
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。