In Common Lisp, is it portable to use make-instance instead of make-condition to make condition objects?
For example:
(define-condition foo (condition)
())
(make-condition 'foo)
(make-instance 'foo)
Does this have something to do with how conditions are placed in the CLOS class hierarchy? (subtypep 'condition 'standard-class) returns false in SBCL and CLISP. However, make-instance can make conditions in both implementations. Is this guaranteed by the standard?
No, it is explicitly not portable to do that. From the specification: