anythingのパターンをスペースで区切って絞り込めるようにするmatch

(defun anything-c-space-match-any-greedy (candidate)
  (let ((pattern (concat "" anything-pattern))
        (replaced-re))
    (setq replaced-re
          (while (string-match "\\([ \t]+\\)" pattern)
            (setq pattern (replace-match ".*" nil nil pattern 1))))
    (string-match (or replaced-re pattern) candidate)))

patternが
st ma
の場合正規表現が"st.*ma"になるので string-matchとかstring-make-unibyte にマッチするので簡単に絞り込むことができで便利。
ただ、非力なマシンだと非常にもっさりする可能性があるので保管候補に合わせたアレンジをしたほうが良いかも。
たとえばlispのsymbol保管の場合だと"st[^-\n]*-ma"のような正規表現になるとちょっぴり効率がよくなると思います。
ベンチ取ったわけではないので正しくないかもしれないです。


いろいろ試してみてまた書きます。