
ANSI Common Lisp 10 Symbols 10.2 Dictionary of Symbols
 Syntax:

remprop
symbol indicator
generalizedboolean
 Arguments and Values:

symbol  a symbol.
indicator  an object.
generalizedboolean  a generalized boolean.
 Description:

remprop removes from the property list_{2} of symbol
a property_{1} with a property indicator
identical to indicator.
If there are multiple properties_{1} with the identical key,
remprop only removes the first such property.
remprop returns false if no such property was found,
or true if a property was found.
The property indicator
and the corresponding property value
are removed in an undefined order
by destructively splicing the property list.
The permissible sideeffects correspond to those permitted for remf,
such that:
(remprop x y) ==(remf (symbolplist x) y)
 Examples:

(setq test (makesymbol "PSEUDOPI")) #:PSEUDOPI
(symbolplist test) ()
(setf (get test 'constant) t) T
(setf (get test 'approximation) 3.14) 3.14
(setf (get test 'errorrange) 'noticeable) NOTICEABLE
(symbolplist test)
(ERRORRANGE NOTICEABLE APPROXIMATION 3.14 CONSTANT T)
(setf (get test 'approximation) nil) NIL
(symbolplist test)
(ERRORRANGE NOTICEABLE APPROXIMATION NIL CONSTANT T)
(get test 'approximation) NIL
(remprop test 'approximation) true
(get test 'approximation) NIL
(symbolplist test)
(ERRORRANGE NOTICEABLE CONSTANT T)
(remprop test 'approximation) NIL
(symbolplist test)
(ERRORRANGE NOTICEABLE CONSTANT T)
(remprop test 'errorrange) true
(setf (get test 'approximation) 3) 3
(symbolplist test)
(APPROXIMATION 3 CONSTANT T)
 Side Effects:

The property list of symbol is modified.
 Exceptional Situations:

Should signal an error of type typeerror if symbol is not a symbol.
 See Also:

remf, symbolplist
 Notes:

Numbers and characters are not recommended for use as
indicators in portable code since remprop tests with
eq rather than eql, and consequently the effect of
using such indicators is implementationdependent.
Of course, if you've gotten as far as needing to remove such a
property, you don't have much choice  the time to have been
thinking about this was when you used setf of get to
establish the property.
 Allegro CL Implementation Details:

None.
