get-properties plist indicator-list => indicator, value, tail
plist---a property list.
indicator-list---a proper list (of indicators).
indicator---an object that is an element of indicator-list.
get-properties is used to look up any of several property list entries all at once.
It searches the plist for the first entry whose indicator is identical to one of the objects in indicator-list. If such an entry is found, the indicator and value returned are the property indicator and its associated property value, and the tail returned is the tail of the plist that begins with the found entry (i.e., whose car is the indicator). If no such entry is found, the indicator, value, and tail are all nil.
(setq x '()) => NIL (setq *indicator-list* '(prop1 prop2)) => (PROP1 PROP2) (getf x 'prop1) => NIL (setf (getf x 'prop1) 'val1) => VAL1 (eq (getf x 'prop1) 'val1) => true (get-properties x *indicator-list*) => PROP1, VAL1, (PROP1 VAL1) x => (PROP1 VAL1)