既知の虫について

Compilerにおいてdefunあるいはlambda関数定義の中にoptimize宣言を入 れた場合にそれが効いてこない。
対策: 当面optimize宣言はproclaimによって行う。
Compile-fileにおいて中間ファイルを作れない場合に妙なエラー メッセージ" nil is not of type output stream." を出す。
対策:そういうものだと納得する。
File-lengthにおいて引数に出力streamを指定すると正しいバイト数を 返さない。一般にその時点で物理デバイスに実際に書き込まれた長さを返す。
対策:一旦ファイルをクローズし、再度inputモードでopenしてfile-length を試みる。
Rename-fileにおいてtypeフィールドを持ったファイルをtype フィールドを持たないファイル名にrenameしようとしても出来ない。

原因:merge-pathnamesの結果、typeフィールドにdefaultとして元のfileの typeが挿入されるためである。

対策:どうしてもそういうことが行いたいならば、(system "mv old new")の 様にshellを直接呼べばよい。

Example

	[1]->(rename-file "old-file.lsp" "new-file")
	
	;; new-file.lspが出来てしまう。
	
	[2]->(system "mv old-file.lsp new-file")
	
	;; new-fileが出来る。
	
do-all-symbolにおいてあるsymbolが他のパッケージにimportされている 場合、複数回作用されてしまう。
対策:Symbolics Common Lispでも同様の現象が起こる。どうしても1度 だけ作用させたいならばdo-all-symbolsを2パスにしてdoneフラッグを付け ながら行わねばならない。この処置は簡単であるからユーザーの判断に任せる。
compile-fileにおいて:output-fileにtype フィールドを持ったファイル名 を指定しても自動的に.faslに直されてしまう
番外: エラーメッセージに英文の間違いが多い。
対策: 書いた人達の教養レベルがこの程度であると納得する。

もくじ