这是一个符合标准的 Common Lisp 程序吗?
(handler-bind ((condition (let ((x 0))
(lambda (c)
(declare (ignore c))
(print (incf x))))))
(signal 'condition)
(signal 'condition))
SBCL (2.0.5.37) 的输出是:
1
1
ABCL/CCL/ECL 的输出是:
1
2
Common Lisp 标准定义了哪种行为?
结语
这是 SBCL 中的一个错误,现在已修复。