December 18, 2007
December 17, 2007
破壊的代入とcopy-sequence
何も知らずにこんなコードをEmacs Lisp上で書いた。便宜上サンプルコードとしてよりシンプルになってはいるけど。
なんとなくbarには常に(a b c)が代入されて無限ループになりそうなもんだけど、最初の呼び出しも含めて実際にはfooは2回しか呼ばれない。これは'(a b c)が実行時に生成されるんではなくて、読み込み時に生成されるからなんだそうな。これを回避するにはlistやconsといった関数を呼び出せばいいようだ。ただこれらの書き換えが出来ない場合には、copy-sequenceやcopy-treeといった関数を使うことで手間を省くことが出来る。
勉強になった。
(defun foo ()
(let ((bar '(a b c)))
(if (eq (car bar) 'a)
(prog2
(setcar bar 'e)
(foo)))
bar))
なんとなくbarには常に(a b c)が代入されて無限ループになりそうなもんだけど、最初の呼び出しも含めて実際にはfooは2回しか呼ばれない。これは'(a b c)が実行時に生成されるんではなくて、読み込み時に生成されるからなんだそうな。これを回避するにはlistやconsといった関数を呼び出せばいいようだ。ただこれらの書き換えが出来ない場合には、copy-sequenceやcopy-treeといった関数を使うことで手間を省くことが出来る。
勉強になった。
mew-ical.el
先日の続き。認証の有無を認識するようにして、必要ならパスワードの入力を求めるようにしてみた。それからMETHOD:REPLYな.icsファイルの場合には、リクエストに対する相手のステータスを表示するようにした。
ファイルは前回と同じ場所に置いた。
ファイルは前回と同じ場所に置いた。
December 15, 2007
December 14, 2007
MewでiCalendar形式のファイルに対応させる
必要に迫られてMewでiCalendar形式のファイルが添付されてきた場合に、設定したカレンダーサーバに対して予定の登録および承認の可否をできるようにしてみた。現時点でできることは、
- iCalendarの情報を(気持ち)分かりやすく表示する
- 自分のカレンダーサーバへ登録する
- ステータスの更新
- Mewからカレンダーサーバへアクセスする
- 承諾の可否を選択した後、要求者に対してメールで返信すること
- 排他制御
- カレンダーサーバに対する認証の有無の自動検出
- ローカル時間で表示すること
- その他多数
- emacs
- mew
- browse-url
- curl
- iTIPをサポートしたカレンダーサーバ
Subscribe to:
Posts (Atom)