Hi Abel,

> Hello everyone, can someone help me please to understand why (catch) around
> manually-evaluated function args is not actually catching thrown tag?
> -------------------
> (de manual-eval X
>   (mapc eval X) )
> 
> (de throw-err () (throw 'my-err) )
> 
> # this does not evaluate
> 
> (catch 'my-err
>   (manual-eval
>     (throw-err) ) )

I think it works fine. The error is correctly thrown and caught.

You can easily make a negative test. Change the tag 'my-err' in the
'catch' tag to something else, and you get

   !? (throw 'my-err)
   my-err -- Tag not found
   ?

☺/ A!ex

-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to