property lisp hack



On 8/5/2012 6:56 PM, Steve Haflich wrote:
> Richard, this is not completely harmless.  The ANS for get has this
> paragraph:
>
>    get finds a property on the property list2 of symbol whose property
>    indicator is identical to indicator, and returns its corresponding
>    property value. If there are multiple properties1 with that property
>    indicator, get uses the first such property. If there is no property
>    with that property indicator, default is returned.
>
> Similarly, remprop removes only the first matching property.  All this
> makes it possible (in a non-multi-threaded application) to make a
> temporary change to a property and get the old value (if any) back.
>
> This may have been acceptable technique way back when, but certainly
> ugly today.  I hope no Maxima code is doing anything like this, but way
> back when was when much of Maxima was written...
I doubt that anyone was placing multiple properties with the same 
indicator (= operators)  on a symbol's
property list.  In fact, it is not clear to me that there is an idiom 
for placing such an extra property
on a plist.  Maybe extracting the symbol-plist and hacking on it with 
destructive operations?

So I think it is harmless in this context.

RJF