remove apply:nconc2last
authorAndy Wingo <wingo@pobox.com>
Thu, 27 Jun 2013 09:26:11 +0000 (11:26 +0200)
committerAndy Wingo <wingo@pobox.com>
Thu, 27 Jun 2013 20:02:42 +0000 (22:02 +0200)
* libguile/eval.c (scm_nconc2last): Remove, now unused.
* doc/ref/api-evaluation.texi (Fly Evaluation): Remove docs.

doc/ref/api-evaluation.texi
libguile/eval.c

index 63b1d60..f0edd11 100644 (file)
@@ -573,18 +573,6 @@ Call @var{proc} with the array of arguments @var{argv}, as a
 @var{nargs}, as a @code{size_t}.
 @end deffn
 
-@deffn {Scheme Procedure} apply:nconc2last lst
-@deffnx {C Function} scm_nconc2last (lst)
-@var{lst} should be a list (@var{arg1} @dots{} @var{argN}
-@var{arglst}), with @var{arglst} being a list.  This function returns
-a list comprising @var{arg1} to @var{argN} plus the elements of
-@var{arglst}.  @var{lst} is modified to form the return.  @var{arglst}
-is not modified, though the return does share structure with it.
-
-This operation collects up the arguments from a list which is
-@code{apply} style parameters.
-@end deffn
-
 @deffn {Scheme Procedure} primitive-eval exp
 @deffnx {C Function} scm_primitive_eval (exp)
 Evaluate @var{exp} in the top-level environment specified by
index 8494e10..162fd54 100644 (file)
@@ -607,47 +607,6 @@ scm_apply_3 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM args)
                    SCM_EOL);
 }
 
-/* This code processes the arguments to apply:
-
-   (apply PROC ARG1 ... ARGS)
-
-   Given a list (ARG1 ... ARGS), this function conses the ARG1
-   ... arguments onto the front of ARGS, and returns the resulting
-   list.  Note that ARGS is a list; thus, the argument to this
-   function is a list whose last element is a list.
-
-   Apply calls this function, and applies PROC to the elements of the
-   result.  apply:nconc2last takes care of building the list of
-   arguments, given (ARG1 ... ARGS).
-
-   Rather than do new consing, apply:nconc2last destroys its argument.
-   On that topic, this code came into my care with the following
-   beautifully cryptic comment on that topic: "This will only screw
-   you if you do (scm_apply scm_apply '( ... ))"  If you know what
-   they're referring to, send me a patch to this comment.  */
-
-SCM_DEFINE (scm_nconc2last, "apply:nconc2last", 1, 0, 0, 
-           (SCM lst),
-           "Given a list (@var{arg1} @dots{} @var{args}), this function\n"
-           "conses the @var{arg1} @dots{} arguments onto the front of\n"
-           "@var{args}, and returns the resulting list. Note that\n"
-           "@var{args} is a list; thus, the argument to this function is\n"
-           "a list whose last element is a list.\n"
-           "Note: Rather than do new consing, @code{apply:nconc2last}\n"
-           "destroys its argument, so use with care.")
-#define FUNC_NAME s_scm_nconc2last
-{
-  SCM *lloc;
-  SCM_VALIDATE_NONEMPTYLIST (1, lst);
-  lloc = &lst;
-  while (!scm_is_null (SCM_CDR (*lloc)))
-    lloc = SCM_CDRLOC (*lloc);
-  SCM_ASSERT (scm_ilength (SCM_CAR (*lloc)) >= 0, lst, SCM_ARG1, FUNC_NAME);
-  *lloc = SCM_CAR (*lloc);
-  return lst;
-}
-#undef FUNC_NAME
-
 
 SCM 
 scm_map (SCM proc, SCM arg1, SCM args)