2010-03-01から1ヶ月間の記事一覧

list とか vector を使う structure

defstruct の NAME-AND-OPTIONS で :type を指定するとなんかできるっぽいので。 :type を指定する インスタンスが structure のインスタンスではなくて、指定された type になる。type は sequence の subtype であればいいみたい。 ;;; 実体が list な str…

FORM が XXX するか調べる方法

作業ログっていうかメモっていうか Return Values (expect (+ 2 1) (returns 3)) equal? It is OK to ignore too many values (let ((#1=#:results (multiple-value-list (+ 2 1)))) (equal (list 3) #1#)) => t Condition (expect (+ #\f #\o #\o) (signals…

apply の引数

apply: FUNCTION ARG &rest MORE-ARGS apply は何気に引数を複数に分けて受けられる。でも funcall とは違って、最初見たときは意味がわからん動作をする。 というのは、ARG と MORE-ARGS のうち一番最後の引数は list に突っ込んでおかねばならず、それ以外…

anything について勘違いしてた

というか何に使うのかよくわかってなかった。何かの理由で anything.el について調べてて EmacsWiki: Anything を読んだ。でやっとわかった。anything 自体は何かするものじゃなくって、何をするかを指定するものなんだ。それも今までとは違うやり方で。anyt…

入力乗っ取り+疑似バックグラウンド実行

よい子は真似しちゃダメ ;;; キーボードの入力を乗っ取る ;;; とりあえず乗っ取ってみたかっただけなので、入力されたキーを ;;; そのまま buffer に insert ;;; C-g か RET で終了 (defun read-input () (popup-string "*** キーボード入力 横取り中 ***" (…

define-key で多ストロークを設定

keymap というのは car が editor:keymap とゆー symbol で、cdr が (key . command) の alist らしい。 (setq *keymap* (make-sparse-keymap)) => (keymap) (define-key *keymap* #\C-b 'command) => t *keymap* => (keymap (#\C-b . command)) んで、多ス…