* Menu
[[About:self:AboutPage.txt]] | [[Profile:file/southly/]] | [[まとめ:self:1163859357.txt]] | [[オリジナル:http://ninjinix.x0.com/rn/]] | [[xyzzy:http://raido.sakura.ne.jp/southly/xyzzy/site-lisp/]] | [[あんてな:http://i-know.jp/southly/listall]] | [[■:http://raido.sakura.ne.jp/southly/lisp/ni/view.lisp]] | [[buzz:http://www.google.com/profiles/southly#buzz]]
* lisp : スコープ
[[Scheme、Common Lisp、Emacs Lispの比較:lang/comparison.html]]
もしかしてCLtL1のときはそういう仕様だったのかもと確認してみたけれど、変更された形跡もない。
トップレベルで定義されようとレキシカルスコープに変わりはない。
Common Lisp自体は静的スコープだけど、 大域変数は暗黙的にスペシャル変数となるので Emacs Lispと同様上のような結果になる。ダウト!
もしかしてCLtL1のときはそういう仕様だったのかもと確認してみたけれど、変更された形跡もない。
トップレベルで定義されようとレキシカルスコープに変わりはない。
* xyzzy : miyamukoさんとこの件
xyzzy で戻り値が double, float の C 関数を呼ぶとクラッシュする(70509/p1)というお話。
原因はdll.ccの247と250でしょうね。おそらくfn→proc。fnをキャストするのは明らかにおかしい。
dll.ccを眺めたのは初めてだったけれど、かなりのBynary Hacksな感じ。亀井さんスゲー!!!
miyamukoさんだったら手元では直してらっしゃるんだろうな。亀井さんには連絡済みなんだろうか?
start-timerの件も[[patch/21:http://xyzzy.s53.xrea.com/wiki/index.php?patch%2F21]]の内容で大丈夫だと思うのだけど、連絡済みなのだろうか?
xyzzy MLに流してくれないと、この辺りの情報が回ってこなくて不便だよな〜と思う。
原因はdll.ccの247と250でしょうね。おそらくfn→proc。fnをキャストするのは明らかにおかしい。
dll.ccを眺めたのは初めてだったけれど、かなりのBynary Hacksな感じ。亀井さんスゲー!!!
--- dll.cc~ Sun Feb 25 08:58:21 2001
+++ dll.cc Fri May 11 04:34:41 2007
@@ -244,10 +244,10 @@
return make_integer (long_to_large_int (u_long (proc ())));
case CTYPE_FLOAT:
- return make_single_float (((float (__stdcall *)())fn)());
+ return make_single_float (((float (__stdcall *)())proc)());
case CTYPE_DOUBLE:
- return make_double_float (((double (__stdcall *)())fn)());
+ return make_double_float (((double (__stdcall *)())proc)());
}
#else
# error "yet"
miyamukoさんだったら手元では直してらっしゃるんだろうな。亀井さんには連絡済みなんだろうか?
start-timerの件も[[patch/21:http://xyzzy.s53.xrea.com/wiki/index.php?patch%2F21]]の内容で大丈夫だと思うのだけど、連絡済みなのだろうか?
xyzzy MLに流してくれないと、この辺りの情報が回ってこなくて不便だよな〜と思う。
