HELP COPYDATA Roger Evans, Aug 1985
copydata(struct1) -> struct2
copydata copies its argument, and recursively copies its components
(unlike copy which only copies the top level of a data structure). Thus
it returns a structure which is similar to its argument, but completely
separate from it.
Only vectors, records, arrays, properties, and Prolog variables are
copied; other items are returned unchanged.
There is a check for one-level circularity (an object being an element
of itself) but not for general circularity. There is no check for a list
being a member of itself, apart from being the head or the tail. When
circularity is detected a mishap results (except in the case of a
prologvar, which is replaced by a new one).
See also LIB * COPYDATA, HELP * COPY, and HELP * COPYLIST.
--- C.all/help/copydata
--- Copyright University of Sussex 1995. All rights reserved.Author: Roger Evans, Aug 1985