I'm wondering if it's possible to remove a nested list from a list, given a pointer to the nested list. E.g., suppose we say (defvar y '(1 2 3))
and (defvar x (list 4 5 y 6 7))
. Now X is (4 5 (1 2 3) 6 7)
. Is there a way to use Y to modify X to (4 5 6 7)
?
(setf y nil)
doesn't modify X, so it doesn't have the expected effect. The closest I've gotten is (rplacd y nil)
which modifies X to (4 5 (1) 6 7)
.