Hi,
it's much worse. If Untrusted doesn't have Do, it can use If,
Else, Use, While,...lots of other possibilities.
Instead of load Untrusted can use:
ld: get to word! "load"
Moreover, Replace is not enough to clear Untrusted.
The moved System is a higher obstacle.
>
>
> Clever! Okay, so untrusted isn't allowed to use load
> bind or do.
>
> REBOL []
>
> if error? err: try [
> do func [/system/rebol/query] compose/deep [
> do [(script: read %untrusted.r
> foreach nope ["load" "bind" "do"][
> replace/all script nope "none"
> ]
> load script
> )]
> ]
> ][print "Error with untrusted" print mold disarm err]
>
> check query/clear system/words
>
> --------------------------------------------
>
> Of course, you can always move the system out of the way
> temporarily:
>
> moved: :system
> unset [system rebol]
> if error? try [do %untrusted.r][dump-it]
> system: :moved
> check query/clear system/words
>
>
> -jeff
>
> > how about:
> >
> > do load {query/clear system/words}
> >
> > ?
>
>