[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Another EQ problem
I had encountered similar problems a long time ago. In fact,
what's even worse is that the definition of the function/structure
changes if you perform destructive operations. For eg.
(defstruct foo (a '(0.0 0.0)) (b '(0.0 0.0)))
;; compile; then
(setq bar (make-foo))
(setf (nth 0 (foo-a bar)) 4.5)
;; ... etc
;; and then
(setq baz (make-foo))
;; will yeild
4.5
;; for
(nth 0 (foo-a baz))
;; Similar behavior if you modified the lists '(a b c d) in the
;; function with rplaca, for instance. Subsequent calls to the
;; function use the "new" lists.
;; Moral of the story, create your lists with "list", etc rather
;; than "hardcoding" them.
- rajendra