eliot@phoenix.Princeton.EDU (Eliot Handelman) (07/24/89)
Now I have a problem with partially displaced structures -- that is, structures which share some (but not all) slots. The only way I can think of guaranteeing that any pair of slots in two instances of a structure are EQ is by using a displaced array to hold the contents of the slot. -- can anyone comment on that? Apropos, I notice that fill-pointers are not automatically adjusted in displaced vectors, at least in KCl and Lucid, eg: > (setq v1 (make-array 4 :fill-pointer 0)) > (setq v2 (make-array 4 :fill-pointer (fill-pointer v1) :displaced-to v1)) > (vector-push :foo v1) 0 > v1 #(:FOO) > v2 #() > (aref v2 0) :FOO > (vector-push :baz v2) 0 > v2 #(:BAZ) > v1 #(:BAZ) Surely this is the wrong behaviour? How can I make sure that the fill-pointers are adjusted?