PROGV doesn't rebind unbound vars with DEBUG 3

Bug #1405456 reported by Ivan Shvedunov on 2014-12-24
This bug affects 1 person
Affects Status Importance Assigned to Milestone

Bug Description

Without (sb-ext:restrict-compiler-policy 'debug 3), the code
below works as expected and doesn't signal an error.

This is SBCL 1.2.6, an implementation of ANSI Common Lisp.
More information about SBCL is available at <>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
* (sb-ext:restrict-compiler-policy 'debug 3)

((DEBUG . 3))
* (defvar *v*)

* (let ((*v* t)) (print *v*) (progv '(*v*) '() (print (boundp '*v*))) (print *v*))

debugger invoked on a UNBOUND-VARIABLE in thread
#<THREAD "main thread" RUNNING {1003E06533}>:
  The variable *V* is unbound.

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [ABORT] Exit debugger, returning to top level.

((LAMBDA ()))
   source: '*V*

Ivan Shvedunov (ivan4th) wrote :

(sb-ext:restrict-compiler-policy 'debug 2) doesn't exhibit this problem.

Stas Boukarev (stassats) wrote :


Changed in sbcl:
status: New → Fix Committed
Changed in sbcl:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers