pushnew
(pushnew item place &key test key)
Prepends item to the list stored in place only when it is not already a member (compared with eql, or the given :test), and stores the result back. Returns the (possibly unchanged) list. Like push, the place may be evaluated more than once.