anything.elアップデート・重大なbug fix
anything.elをアップデート。変更点は以下の通り。
M-x install-elisp http://www.emacswiki.org/cgi-bin/wiki/download/anything.el
無限ループで暴走するのを修正
inhibit-quitのせいで暴走する問題を解決。以下の2つのコマンドを実行したら今までは暴走していたが、現バージョンではC-gで中断することができる。
(defun a () (interactive) (anything '(((name . "test") (delayed) (candidates . (lambda () (while t))))))) (defun b () (interactive) (let ((anything-input-idle-delay 0.2)) (anything '(((name . "test") (delayed) (candidates . (lambda () (while t))))))))
画面切替時のちらつきを解消
anythingでアクションを実行する直前やC-gを押して元の画面に復帰する際、ちらつきがあったので解消できるようにした。原因は set-frame-configuration で frame configuration を復帰しているため。
以下の設定でset-window-configurationを代わりに使うようになるのでちらつきが解消される。そのかわりフレームについては復帰しなくなる。
(setq anything-save-configuration-functions '(set-window-configuration . current-window-configuration))
現在選択されている行を削除するコマンド
anything-delete-current-selectionコマンドを新設。バッファやファイルなどを削除するpersistent-actionに使える。
anything-resumeでバッファごとにresumeできるようになった
バッファごとにanything-sourcesのデータを保持するようになったため、複数のanythingバッファを使っているとき、バッファを指定して復元できるようになった。
C-u M-x anything-resumeを実行してみよう。
anything-updateの若干の高速化
変数anything-quick-updateをtにすると、*anything*バッファが画面内に見えているもののみ更新されているので、更新が速くなる。画面外のは一時的にdelayed情報源扱いになるので、少し待てば画面外の情報源も出てくる。たくさんの情報源を設定している人におすすめ。
delayed情報源の出現順序を正した
(delayed)を設定している情報源は、今まで逆順に表示されていたので正しく直した。nreverse一発。
anything-candidate-bufferのバグ修正
(anything-candidate-buffer 'local)の後に(anything-candidate-buffer 'global)を実行してもローカルなcandidate bufferが選択されるバグを修正。