置換を速くやる

これが参考になった
xyzzy --- scan-bufferとinsertを使った高速な置換
http://www.netlaputa.ne.jp/~henmi/lisp/xyzzy/editor/980602.html
しかしどうもこのLispの所は廃止にする予定らしい。廃止 残念だが一応自分的に忘れそうなのでメモ。(メモしていいのかしらないけど)

| > あとは、scan-bufferとreplace-matchでガシガシ書くか(これが一番速い)。
  replace-match string &key literal
  直前の検索結果に基づいて、stringにあるメタ文字を解釈しつつ文字列を置き
換える。literalがnon-nilの場合は、メタ文字を意識しない。
  メタ文字は
   \0, \&    一致した文字列全体
   \1 〜 \9  正規表現検索での\(\)に対応する文字列

  perform-replaceを単純にすると、
         (while (scan-buffer)
           (replace-match))
ってやってるだけです。
| という文字列を<文字列>に置き換えるには?
  (when (scan-buffer "")
    (delete-region (match-beginning 0) (match-end 0))
    (insert <文字列>"))
置換後が正規表現が不要なら、これが一番速い!

チョット気になるのはperform-replaceのもとのreplace-bufferはbultinに入っているので地味に違うものなんじゃないかとか思ってみたり。