Gauche > Archives > 2020/11/15

2020/11/15 19:49:45 UTCkaki
#
キーワードのrenameの話なんですが、get-keyword にも let-keywords と同様の問題があるみたいです。define-class の展開に get-keyword を使っているので :metaclass がrenameされていると駄目な模様です。
#
gosh> (define-class <foo-meta> (<class>) ())
<foo-meta>
gosh> (define-syntax define-foo (syntax-rules () ((_ name) (define-class name () () :metaclass <foo-meta>))))
#<undef>
gosh> (define-foo <foo>)
<foo>
gosh> (class-of <foo>)  ; expecting <foo-meta>
#<class <class>>