anything-read-bufferの件つづき
read-bufferって内部でread-buffer-functionが定義されていればそれを、定義されていなければcompleting-readを呼び出す。
anything-completing-readがanythingの結果がnilの場合keyboard-quitしているんだからanything-read-bufferがkeyboard-quitしないのは対応がとれていな気がする。
keyboard-quitを返す場合はこんな感じか。デフォルト値にnilを渡すことってあるのかな?入力がキャンセルされたのかデフォルト値のnilが帰ってきたのか判断ができないのが問題になりそう。
--- a/plugins/anything-complete.el +++ b/plugins/anything-complete.el @@ -745,10 +745,11 @@ It accepts one argument, selected candidate.") (defun anything-read-buffer (prompt &optional default require-match start matches-set) "`anything' replacement for `read-buffer'." (let (anything-input-idle-delay) - (anything-noresume (arb-sources prompt - (if (bufferp default) (buffer-name default) default) - require-match start matches-set) - start prompt nil nil "*anything complete*"))) + (or (anything-noresume (arb-sources prompt + (if (bufferp default) (buffer-name default) default) + require-match start matches-set) + start prompt nil nil "*anything complete*") + (keyboard-quit)))) (defun* arb-sources (prompt default require-match start matches-set &optional (additional-attrs '((action . identity)))) `(,(ac-default-source default t)