假设 和a都未b绑定(即(notany #'boundp '(a b))=> T),那么这将按预期工作:
(progv '(a b) '(1)
(boundp 'a)) ; => T
Run Code Online (Sandbox Code Playgroud)
然后PROGV进入 CLHS 状态:
如果提供的值太少,则剩余的符号将被绑定,然后变得没有值。
这与我在 REPL 中看到的相矛盾:
(progv '(a b) '(1)
(boundp 'b)) ; => NIL
Run Code Online (Sandbox Code Playgroud)
我期待(boundp 'b)着回来T。
问:我是否误解了 CLHS 中的措辞?或者这是 SBCL 中的一个错误?
环境:SBCL 2.2.10,Linux x86_64
谢谢!
common-lisp ×1