2009-07-01から1ヶ月間の記事一覧

syleraへの回帰

syleraの更新が止まってからfirefox3を使っていた。更新が止まったものを使い続けるのはどうかと思っていたからだ。ところが、firefoxは遅いし不便である。syleraはoperaと同じ程度には表示が速く、それに慣れているとイライラさせられる。ならoperaにすれば…

普通のタイマー

xyzzyにはタイマー機能がある。javascriptのsetInterval()と同じようなもので、次のように書ける。 ;一回のみ (start-timer 1 'ding t) ;繰り返し (progn (start-timer 0.5 'ding) (start-timer 0.6 'ding) (start-timer 0.7 'ding) (start-timer 0.8 'ding)…

執拗な再帰マクロ展開

処理系に依るかも知れないが、macroexpandは全てのマクロを展開してくれない。 (defmacro macro (&body body) `(progn (foo) ,@body (bar))) (defmacro macro2 (&body body) `(prog1 ,@body (buzz))) (defmacro macro3 () ''fizz) (macroexpand '(macro (mac…

関数の挙動を調べたい

xyzzyにはデバッグのためにstack-traceとstepが用意されている。ところが、これらの関数・マクロの使い方がよくわからない。 (stack-trace) >CALL STACK 9: (stack-trace) >CALL STACK 8: (eval (stack-trace)) >CALL STACK 7: (system:*byte-code ...) >CAL…

nthcdrとsubseq

nthcdrはn番目のcdrであり、subseqはfromからtoまでのシーケンスを取る。このsubseqをfromだけ指定してリストに適用すると、nthcdrと同じような結果が得られる。 (setq x (list 1 2 3 4 5 6 7 8 9 10)) (nthcdr 3 x) | (4 5 6 7 8 9 10) (subseq x 3) | (4 5…

ファイル毎にバッファの色を変更する

前からそのようなスクリプトを使っていたのだが、set-buffer-colorsはベクタで指定するため、変更したいところの前に変更したくない箇所があっても、配列を埋める必要があって面倒だった。 そこで、色を個別に指定できる形式で書いてみた。xyzzyはなぜかバッ…

edictの挙動にうんざりした

ので、ちょっと改変。妙な挙動でバッファを出すのを止めて、ポップアップで表示するように。 ;;;edict.l(Tetsuya Kamei)より。 ;;; (in-package "editor") ;;; で実行すること。 ;;; 同名の関数を上書きします。 (defun edict-lookup-dictionary (from to di…

embedded-grep

howmのパクリというか、outlinexとかclickable-uriとかも参考にして作ってみた。howmのような中央管理ではなく、そのファイルのみとか、現在ディレクトリだけとかで検索して、その結果に飛べる。出来たばっかりで使ってないし、テストも良くしてないから使い…