[Ecls-list] unbound-variable handler
Dustin Long
dlong at stevens.edu
Tue Jun 19 04:38:30 UTC 2007
That's interesting....
This works in clisp:
(handler-bind ((unbound-variable (lambda (e) (invoke-restart 'use-value
nil)))) (format t "value is [~s]~%" x))
but not in ECL. Does anyone know if unbound-variable is supposed to
establish the use-value restart? Or is that optional and implementation
dependent? I can't find any information about the portability of such
things.
Dustin
Dean O'Connor wrote:
> thanks a lot. That got me much further. This exits cleanly, but I need
> it to continue executing the nested expressions, using value NIL for the
> unbound variable.
>
> The aim was that if a scripts said something like:
>
> (when VAR1
> (print "yep"))
>
> Then if VAR1 was never bound by a SETQ or whatever, then VAR1's value
> would simply returned as NIL (by a handler) instead of entering debug.
>
> I am trying to RTFM to see if I can sort of continue, but if anyone has
> the answer handy, I would much appreciate it.
>
> cheers
> deano
>
>
> Pierre THIERRY wrote:
>
>> Scribit Dean O'Connor dies 19/06/2007 hora 03:03:
>>
>>
>>> I am trying to setup a handler to catch "unbound-variable".
>>>
>>>
>> The thing is, if I understand the condition system correctly, you need
>> to setup a restart around the expression that might be unbound:
>>
>> (handler-bind
>> ((unbound-variable (lambda (c)
>> (declare (ignore c))
>> (invoke-restart 'use-nil))))
>> (not (restart-case
>> not-yet-bound-variable
>> (use-nil () nil))))
>>
>> Works in SBCL and ECL (yields t).
>>
>> Quickly,
>> Pierre
>>
>> ------------------------------------------------------------------------
>>
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by DB2 Express
>> Download DB2 Express C - the FREE version of DB2 express and take
>> control of your XML. No limits. Just data. Click to get it now.
>> http://sourceforge.net/powerbar/db2/
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Ecls-list mailing list
>> Ecls-list at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/ecls-list
>>
>>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Ecls-list mailing list
> Ecls-list at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/ecls-list
>
>
More information about the ecl-devel
mailing list