User Tools


Function COPY-ALIST

Syntax

  • copy-alist alistnew-alist

Arguments and Values

Description

Returns a copy of alist.

The list structure of alist is copied, and the elements of alist which are conses are also copied (as conses only). Any other objects which are referred to, whether directly or indirectly, by the alist continue to be shared.

Examples

(defparameter *alist* (acons 1 "one" (acons 2 "two" '())))

*ALIST*

*alist*

((1 . "one") (2 . "two"))

(defparameter *list-copy* (copy-list *alist*))

*LIST-COPY*

*list-copy*

((1 . "one") (2 . "two"))

(defparameter *alist-copy* (copy-alist *alist*))

*ALIST-COPY*

*alist-copy*

((1 . "one") (2 . "two"))

(setf (cdr (assoc 2 *alist-copy*)) "deux")

"deux"

*alist-copy*

((1 . "one") (2 . "deux"))

*alist*

((1 . "one") (2 . "two"))

(setf (cdr (assoc 1 *list-copy*)) "uno")

"uno"

*list-copy*

((1 . "uno") (2 . "two"))

*alist*

((1 . "uno") (2 . "two"))

Side Effects

None.

Affected By

None.

Exceptional Situations

None.

See Also

Example Implementation

To be done.

Notes

None.