Hi Jon, > I just noticed that it is possible to do (wipe 'T) and (wipe 'meth) > and thereby setting the values of T and meth to NIL, even though they > are protected symbols. (I haven’t tested this in 64-bit yet.)
That's right. 'wipe' doesn't check for protected symbols. This could indeed be improved. Note, however, that a 100% protection is not possible, or even desired, primarily for efficiency reasons like in many other situations in PicoLisp. For example, you can easily do (let (T 1 meth 2) .. ) Here holds the assumption that this is under user's control. As far as 'wipe' is concerned, it is indeed a borderline case. As 'wipe' evaluates its argument, there is always the danger of indirectly passing such protected symbols. On the other hand, 'wipe' is typically called internally in database manipulations, where efficiency is of primary concern. ♪♫ Alex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe