基本、検証コードでエラーがあった場合、(with-handler)
でキャッチして NG 判定し、次の項目のテストにすみやかに以降されるようになっているのだが、tp-data-error に関しては catch が抜けているように見える
> OK: (read str nil) -> nil > TP data error [Invalid condition class]: ($error (read str t) <end-of-stream>) catch-tag 'tp-data-error' not found at throw at tp-data-error at if at tp-$error-prim at tp-$error at case at while at let at for at with-open-input-file at with-standard-input at tp-main at while at let at for at let at tp-all Makefile:93: recipe for target 'verify-verbose' failed make: *** [verify-verbose] Error 1 exit status 2
tp.lsp:
(defun tp-data-error (errmsg data) (tp-output "TP data error [~A]: ~S~%" errmsg data) (throw 'tp-data-error nil))
だが、throw に対応する (catch 'tp-data-error …)
がどこにも存在しない
( 他の種類の catch-tag は存在する )
まぁ、Lisp処理系側のNG判定される部分を修正して、例外が飛ばないようにすれば問題ないのだが…検証プログラムがとまってしまうのはなんだかなぁ