PROGV doesn't rebind unbound vars with DEBUG 3

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

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 <http://www.sbcl.org/>.

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*)

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

T
NIL
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*
0]

Ivan Shvedunov (ivan4th) wrote :

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

Stas Boukarev (stassats) wrote :

cd7d708f21c4f7c800b0dbc6c038a3c1c31cec34

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