mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-24 12:20:20 +02:00
Move copy-tree to (ice-9 copy-tree); deprecate main binding
* doc/ref/api-data.texi (List Constructors): * doc/ref/api-utility.texi (Copying): Update docs to mention module. * libguile.h: Remove trees.h inclusion. * libguile/Makefile.am (libguile_@GUILE_EFFECTIVE_VERSION@_la_SOURCES): (DOT_X_FILES, DOT_DOC_FILES, modinclude_HEADERS): Remove trees.c, trees.h, and related files. * libguile/init.c (scm_i_init_guile): Remove trees.h and the scm_init_trees call. * libguile/trees.c: * libguile/trees.h: Remove. * module/Makefile.am (SOURCES): Add ice-9/copy-tree.scm. * module/ice-9/copy-tree.scm: New file. * module/ice-9/deprecated.scm (copy-tree*): Export as copy-tree, proxying to (ice-9 copy-tree). * module/system/repl/common.scm: * module/web/client.scm: * test-suite/tests/elisp.test: * test-suite/tests/srfi-1.test: * module/oop/goops/save.scm: Use (ice-9 copy-tree). * test-suite/Makefile.am (SCM_TESTS): Add copy-tree.test. * test-suite/tests/copy-tree.test: New file; test pulled from eval.test. * libguile/deprecated.h: * libguile/deprecated.c (scm_copy_tree): Deprecate.
This commit is contained in:
parent
433b701a23
commit
e9c5a1719b
20 changed files with 174 additions and 290 deletions
|
@ -5924,7 +5924,8 @@ that modifying the elements of the new list also modifies the elements
|
|||
of the old list. On the other hand, applying procedures like
|
||||
@code{set-cdr!} or @code{delv!} to the new list will not alter the old
|
||||
list. If you also need to copy the list elements (making a deep copy),
|
||||
use the procedure @code{copy-tree} (@pxref{Copying}).
|
||||
use the procedure @code{copy-tree} from @code{(ice-9 copy-tree)}
|
||||
(@pxref{Copying}).
|
||||
|
||||
@node List Selection
|
||||
@subsubsection List Selection
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
@c -*-texinfo-*-
|
||||
@c This is part of the GNU Guile Reference Manual.
|
||||
@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2011, 2012, 2013, 2014
|
||||
@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2011, 2012, 2013, 2014, 2020
|
||||
@c Free Software Foundation, Inc.
|
||||
@c See the file guile.texi for copying conditions.
|
||||
|
||||
|
@ -378,13 +378,16 @@ is not specified.
|
|||
@node Copying
|
||||
@subsection Copying Deep Structures
|
||||
|
||||
@c FIXME::martin: Review me!
|
||||
|
||||
The procedures for copying lists (@pxref{Lists}) only produce a flat
|
||||
copy of the input list, and currently Guile does not even contain
|
||||
procedures for copying vectors. @code{copy-tree} can be used for these
|
||||
application, as it does not only copy the spine of a list, but also
|
||||
copies any pairs in the cars of the input lists.
|
||||
procedures for copying vectors. The @code{(ice-9 copy-tree)} module
|
||||
contains a @code{copy-tree} function that can be used for this purpose,
|
||||
as it does not only copy the spine of a list, but also copies any pairs
|
||||
in the cars of the input lists.
|
||||
|
||||
@example
|
||||
(use-modules (ice-9 copy-tree))
|
||||
@end example
|
||||
|
||||
@deffn {Scheme Procedure} copy-tree obj
|
||||
@deffnx {C Function} scm_copy_tree (obj)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue