2003年04月17日(木) [過去の今日]
#1 ががそ
with-output-temp-bufferという関数が無くて、muleではirchat-pjのDCCが動かない模様。俺のへたくそなDCC通すhackも入ってるので純正でも同様かはわからないが、この関数どうにか作れないのかなあ。
(@614)
@ ふむ:
関数が無いというエラーだったので元から動かないのかなと思ったのだが、どうやら俺の適当な変更が行けなかった模様。無改造のirchat-pjではきちんと動作してる。
むー、どうしたもんかなあ。
(@632)
@ 思考メモ:
俺がirchat-pjに施した変更は、irchat-dcc.elのこの三行。
;; 'Setting -> 'Waiting ; (let ((host (matching-substring output 1)) ; (port (matching-substring output 2)) ; (size (matching-substring output 3))) (let ((host (shell-command-to-string (concat "ipaddr2int " (shell-quote-argument dccaddr)))) (port dccport) (size (matching-substring output 3)))
ipaddr2intはIPアドレスを10進数の数字に変換するだけのperlスクリプト。変数dccaddrに入ってるIPアドレスの変数dccportに対してファイルを取りに来てもらえるようにするだけ。
コメントアウト部が元のソースなわけで、一見してこの外側になんらかの影響があるようには見えないのだが……
(@637)
@ 思考メモ2:
エラーメッセージを見直してみる。関数定義が無いと言われてるのかと思ってたが、
error in process filter: Symbol's function definition is void: with-output-to-string [2 times]
と言われてる。プログラミングの知識がほとんど無いのでよくわからんけど、やっぱり関数が無効可されてるんだろうか。
(@646)
@ 思考メモ3:
どうやらエラーがでてたwith-output-to-stringはshell-command-to-stringで使われてる方であったことが発覚。なんでこれでmail2nikkiのほうは動いてたのだろう。
(@653)
@ 動いた!!:
どーやらshell-command-to-stringで使ってる関数群(with-output-to-string含む)は、emuをrequireしないと使えないらしい。
ということで、.emacsに(require 'emu)と書いて解決。ばんざーい!
(@697)