Hi,

[EMAIL PROTECTED] napsal(a):

>Amending my original suggestion to take into account TRY'd code unsetting 
>'true or 'set, I'd suggest this for a simple, foolproof way to catch an error: 
>don't use 'true, use 1:
>
>if error? error-code: try [do %config.r 1]
>    [probe disarm error-code]
>
>if error? error-code: try [print "" 1]
>    [probe disarm error-code]
>
>
>It's harder to unset 1.
>  
>
This may be as safe as you want it to be, but it is not convenient 
(append something just to be sure it returns a value). I prefer my 
Default function for this purpose instead.

>But the DO'd code could still have messed with 'if or 'error? or 'probe.
>
>That raises a wider question about DOing untrusted code.
>
>If you don't trust it at all, maybe it's better not to DO it in the first 
>place.
>
>To seriously stop it messing things up while debugging:
>
>protect-system
>unset 'unprotect
>if error? error-code: try [do %config.r 1]
>    [probe disarm error-code]
>
>  
>
This is not sufficient as I have proven long time ago. (Rebol functions 
are mutable, which means, that you can change the behaviour of any 
function - even a native without unprotecting the word referring to it. :-(

>Sunanda.
>  
>
-L

-- 
To unsubscribe from this list, just send an email to
[EMAIL PROTECTED] with unsubscribe as the subject.

Reply via email to