(scm_list): Restore this function for use from C.
authorKevin Ryde <user42@zip.com.au>
Thu, 2 Feb 2006 21:15:48 +0000 (21:15 +0000)
committerKevin Ryde <user42@zip.com.au>
Thu, 2 Feb 2006 21:15:48 +0000 (21:15 +0000)
It's a complete no-op but in theory might used by someone.

libguile/list.c
libguile/list.h

index 9799dab..a1a79a4 100644 (file)
@@ -570,6 +570,16 @@ SCM_SNARF_DOCS (primitive, scm_list_copy, "list", (SCM objs), 0, 0, 1,
                 "Return a list containing @var{objs}, the arguments to\n"
                 "@code{list}.")
 
+/* This used to be the code for "list", but it's wrong when used via apply
+   (it should copy the list).  It seems pretty unlikely anyone would have
+   been using this from C code, since it's a no-op, but keep it for strict
+   binary compatibility.  */
+SCM
+scm_list (SCM objs)
+{
+  return objs;
+}
+
 
 \f
 /* membership tests (memq, memv, etc.) */ 
index 16d7454..e48b97a 100644 (file)
@@ -3,7 +3,7 @@
 #ifndef SCM_LIST_H
 #define SCM_LIST_H
 
-/* Copyright (C) 1995,1996,1997,2000,2001,2003,2004
+/* Copyright (C) 1995,1996,1997,2000,2001,2003,2004,2006
  * Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
@@ -33,6 +33,7 @@ SCM_API SCM scm_list_3 (SCM e1, SCM e2, SCM e3);
 SCM_API SCM scm_list_4 (SCM e1, SCM e2, SCM e3, SCM e4);
 SCM_API SCM scm_list_5 (SCM e1, SCM e2, SCM e3, SCM e4, SCM e5);
 SCM_API SCM scm_list_n (SCM elt, ...);
+SCM_API SCM scm_list (SCM objs);
 SCM_API SCM scm_list_head (SCM lst, SCM k);
 SCM_API SCM scm_make_list (SCM n, SCM init);
 SCM_API SCM scm_cons_star (SCM arg, SCM objs);