- 218 名前:デフォルトの名無しさん mailto:sage [04/09/03 15:44]
- cmucl でコンパイルすると,結果がおかしくなりました.
(let ((alist '((:file . "foo.txt") (:bar)))) (with-open-file (istrm (cdr (assoc :file alist))) (rplacd (assoc :bar alist) 6)) (format t "~S~%" (assoc :bar alist)) (format t "~S~%" (car (assoc :bar alist))) (format t "~S~%" (cdr (assoc :bar alist)))) これは,clisp ではコンパイルしてもしなくても (:BAR . 6) :BAR 6 となりますし,cmucl でもコンパイルしなければ同じ結果になります.しかし, # lisp -eval '(compile-file "foo.lisp")' -eval '(quit)' ... # lisp -load foo.x86f -eval '(quit)' (:BAR . 6) :BAR NIL となります.cdr 部はどこへ行ってしまったのでしょうか.困ってしまいました... (⊃д`) バージョンは以下です (起動時のメッセージの一部). CMU Common Lisp CVS release-19a 19a-release-20040728 + minimal debian patches, running on
|

|