Thanks, Larry.
I just put protect-system in my user.r as you recommended.
-Galt

>===== Original Message From [EMAIL PROTECTED] =====
>Hi Galt
>
>Well, it happens to the best of us, even Carl.  Eric Long told me a great
>story where a line of code he wrote redefined ALL of the system/words
>including 'quit.  Th simple answer is to put
>
>protect-system
>
>in your user.r file. It can be before or after any other words you define in
>user.r.  You will then get an error message if you attempt to redefine a
>system word.  You can still do so hwoever (system-protect is on)
>
>>> print: 5
>** Script Error: Word print is protected, cannot modify.
>** Where: print: 5
>>> print2: :print              ;you can save the word in question
>>> unprotect 'print          ;unprotect the word
>>> print: 5                     ;redefine it
>== 5
>>> print                         ;the value of print is the integer 5
>== 5
>>> print: :print2              ;restore the value
>>> protect 'print              ;restore protection
>>> print                          ;print works again
>** Script Error: print is missing its value argument.
>** Where: print
>>> print: 5                       ;and it's protected
>** Script Error: Word print is protected, cannot modify.
>** Where: print: 5
>>>
>
>I use system-protect although some experts feel they know all the
>system/words well enough to make it unnecessary.  With the new versions of
>Core, View, and Command appearing frequently it is getting harder to keep
>track mentally.
>
>HTH
>
>-Larry
>
>----- Original Message -----
>From: <[EMAIL PROTECTED]>
>To: <[EMAIL PROTECTED]>
>Sent: Friday, August 11, 2000 3:14 PM
>Subject: [REBOL] what if you squish one of your words?
>
>
>> what if you make screw up like I did
>> the other day and kill one of your critical
>> key functions.
>>
>> e.g.
>>
>> first: "oh, well, it's only a vital rebol word!"
>>
>> now, I can't get to the original value of the word 'first
>> to restore it.  It is a native, and even if I
>> run another copy of rebol.exe to check out what it was
>> set to, I still don't know if there is a way to set it back.
>>
>> Usually, it wouldn't matter, I suppose.
>> But occasionally you may be in the middle of
>> something you don't want to lose.
>>
>> Is there any way to recover?
>>
>> -Galt
>>
>> p.s. I tried this, but it didn't work with a lot
>> of functions, including source or help which use first.
>>
>> first: func [x][pick x 1]
>>
>> I guess first is heavily overloaded.
>> I think it works differently with ports, too.

Reply via email to