[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

problem with RESTART-CASE



I am having trouble with RESTART-CASE in MCL 2.0b1.

Calling RESTART-CASE results in an error.

    (restart-case 1 (nil () 2)) =>

    ; Compiler warnings :
    ;   Undeclared free variable CCL::$V_ISTRUCT, in an anonymous lambda form.
    > Error: Unbound variable: CCL::$V_ISTRUCT
    etc., etc.

Macroexpanding the sexp and the expansion's innards exposes the unbound
variable:

    (restart-case 1 (nil () 2)) -->

    (block #:g74
      (let* ((#:g75 (ccl::%cons-restart 'nil nil nil nil nil))
	     (#:g73 (list #:g75))
	     (ccl::%restarts% (cons #:g73 ccl::%restart%)))
	(declare (dynamic-extent #:g75 #:g73 ccl::%restarts%))
	(catch #:g73 (return-from #:g74 1)))
      2)


    (ccl::%cons-restart 'nil nil nil nil nil) -->

    (ccl::%gvector ccl::$v_istruct 'restart 'nil nil nil nil nil)

CCL::%GVECTOR is documented in the listener as taking arguments ARG0 &REST
THE-REST.  All my attempts to discover any set of proper values to pass to
CCL::%GVECTOR have caused MCL to crash and burn.  CCL:$V_ISTRUCT has no
value, function, or documentation, and has an empty plist.

Is the problem mine or MCL's?  If the former, what am I doing wrong?  If
the latter, can anyone tell me how to patch MCL?

					Sue Felshin
					sfelshin@athena.mit.edu