前の、rubyでreplace-regionするやつを修正して、ちょこちょこ変更してるからgistからふつうのrepositoryに移動させた。
https://github.com/pokutuna/replace-region-by-ruby.el
日本語使えなかったのでmagick comment入れて使えるようにしたり、rubyのコードにエラーがあった場合はリージョンそのままにしてエラーメッセージ出したり使い勝手を向上させた。
(なんか僕のEmacs 24.2.1だとコマンド実行後にリージョンのハイライトは消えるけどリージョン自体は残ってるから続けてM-x rrbruby
したらすぐやりなおせる、ハイライト付け直すみたいな方法しりたい)
Emacs内でリージョンを tr('あ-ん', 'ア-ン')
とかできたりしてめっちゃ便利だと思う。
Lisp、ぜんぜん悟りが降ってこないけどおもしろい。特にelispはダイナミックスコープになってる。(schemeとかはレキシカルらしい)
(defun hoge (func) (let ((str "in hoge")) ; strに代入しても意味無さそうに見えるけど… (funcall func))) (let ((str "in let")) (funcall (lambda () str)) ; => "in let" (hoge (lambda () str))) ; => "in hoge"
みたいな感じになっててハマる原因になりそうだけど、組み込みの関数が参照してる変数と同名のローカル変数を作ればそのスコープだけ値すり替えたりするのが簡単にできる。エディタをいじる用途にはかなりアリな感じでおもしろい。