with-anything-sources

anything便利すぎるけど(length anything-sources)が10近くになってくると遅く感じるときがあるので特定のsourceで呼び出したいときがある。
anythingのuiをお借りするイメージ。
自分はこんなマクロを使っています。
気軽に使えるしunwind-protectに展開されるので気持ち安心な気がする。

(defmacro with-anything-sources (sources &optional body)
  (let ((saved-anything-souces (gensym)))
    `(let ((,saved-anything-souces anything-sources))
       (unwind-protect
           (let ((anything-sources ,sources))
             ,body) ;;修正 was ,@body)
         (setq anything-sources ,saved-anything-souces)))))

;;list of sourceを一時的にanything-sourcesとしてanythingを起動する。
(with-anything-sources `(,source)
  (anything))

最近マクロ書き始めた。凄くどきどきする。


いいなあ。anything凄くいい。ソースもいい。いい。日本語での情報源はrubikichiid:rubikitchさんのブログです。
英語だとemacs-wikiが全てです。rubikichiid:rubikitchさん++です。

追記

  1. bodyの部分のを展開を間違えていたので修正しました。@ があるとフラットに展開してしまうためうまく動きませんでした。
  2. id:rubikitchさんの綴りを間違っていたのを修正しました。emacswikiにあるRubikitchAnythingConfigurationが凄く参考になります。