A generalized reference form as described in section 5.1.1 Overview of Places and Generalized Reference of the Common Lisp Hyperspec.
push-end-new does the same as
push-end, except when item is already on the list, in which case
push-end-new does nothing. The check is done using the values of key, test and test-not in the same way that
If place is globally accessible and may be read by another thread without synchronization (by a lock or other synchronization mechanism), then you need to wrap place by globally-accessible, for example:
See Making an object's contents accessible to other threads for a discussion.
LispWorks User Guide and Reference Manual - 20 Sep 2017