make-condition undumpable after define-condition at non-toplevel

Bug #1368764 reported by Christophe Rhodes
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
SBCL
Fix Released
Undecided
Unassigned

Bug Description

file-compiling a file containing the following

  (prog1
      (define-condition foo () ((y :initarg :y))))

  (defun zz ()
    (make-condition 'foo :y 3))

yields an error

; caught ERROR:
; attempt to dump reference to obsolete class: #<SB-KERNEL::UNDEFINED-CLASSOID FOO>

it should, however, simply compile the make-condition as if no class named FOO has yet been seen.

Revision history for this message
Michał "phoe" Herda (phoe-krk) wrote :

This bug is preventing me from writing test cases that define conditions, unless I resort to really ugly hacks like calling EVAL or COMPILE on raw Lisp forms during the test instead of compiling the test case ahead of time and dumping it into file.

Revision history for this message
Stas Boukarev (stassats) wrote :

6273db59916171d46c4fbc5108a2373a60b914c61

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

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.