emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-bug-tracker] bug#7088: closed (`copy-tree' of a vector copy shari


From: GNU bug Tracking System
Subject: [Emacs-bug-tracker] bug#7088: closed (`copy-tree' of a vector copy sharing structure.with original)
Date: Thu, 23 Sep 2010 08:46:03 +0000

Your message dated Thu, 23 Sep 2010 10:47:36 +0200
with message-id <address@hidden>
and subject line Re: bug#7088: `copy-tree' of a vector copy sharing 
structure.with original
has caused the GNU bug report #7088,
regarding `copy-tree' of a vector copy sharing structure.with original
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
7088: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7088
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: `copy-tree' of a vector copy sharing structure.with original Date: Thu, 23 Sep 2010 01:28:33 -0400
When copy-tree copies vectors the copy shares structure with the original.

This is unlike the behavior of copy-tree on a list of lists:

(let ((orig '((a b) (c d) (e f) (g h)))
      new-cp)
  (setq new-cp (copy-tree orig))
  (equal (elt
          (prog1 orig
            (setf (car new-cp) "bubba")) 0)
         '(a b)))
;=> t

(let ((orig [[a b] [c d] [e f] [g h]])
      new-cp)
  (setq new-cp (copy-tree orig))
  (string-equal (aref (prog1 orig
                        (aset new-cp 0 "bubba"))
                      0)
                "bubba"))
;=> t

Shouldn't idx 0 of the orig tree still be [a b]?

Note This bug _should_ prob. have stayed with Bug7083 but that bug
report was prematurely closed.

--
/s_P\



--- End Message ---
--- Begin Message --- Subject: Re: bug#7088: `copy-tree' of a vector copy sharing structure.with original Date: Thu, 23 Sep 2010 10:47:36 +0200 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)
MON KEY <address@hidden> writes:

> When copy-tree copies vectors the copy shares structure with the original.

Works as documented.  A vector is not a cons cell.

If TREE is a cons cell, this recursively copies both its car and its cdr.
             ^^^^^^^^^

Andreas.

-- 
Andreas Schwab, address@hidden
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]