/*
- closure.cc -- chained closures.
+ This file is part of LilyPond, the GNU music typesetter.
- source file of the GNU LilyPond music typesetter
+ Copyright (C) 2005--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
- (c) 2005--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ LilyPond is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ LilyPond is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with LilyPond. If not, see <http://www.gnu.org/licenses/>.
*/
#include "simple-closure.hh"
return SCM_EOL;
}
-LY_DEFINE(ly_simple_closure_p, "ly:simple-closure?",
- 1,0,0, (SCM clos),
- "Type predicate.")
+LY_DEFINE (ly_simple_closure_p, "ly:simple-closure?",
+ 1, 0, 0, (SCM clos),
+ "Is @var{clos} a simple closure?")
{
return scm_from_bool (is_simple_closure (clos));
}
-LY_DEFINE(ly_make_simple_closure, "ly:make-simple-closure",
+LY_DEFINE (ly_make_simple_closure, "ly:make-simple-closure",
1, 0, 0, (SCM expr),
- "Make a simple closure. @var{expr} should be form of "
- "@code{(@var{func} @var{a1} @var{A2} ...)}, and will be invoked "
- "as @code{(@var{func} @var{delayed-arg} @var{a1} @var{a2} ... )}.")
+ "Make a simple closure. @var{expr} should be form of"
+ " @code{(@var{func} @var{a1} @var{a2} @dots{})}, and will be"
+ " invoked as @code{(@var{func} @var{delayed-arg} @var{a1}"
+ " @var{a2} @dots{})}.")
{
SCM z;
- SCM_NEWSMOB(z, simple_closure_tag, expr);
+ SCM_NEWSMOB (z, simple_closure_tag, expr);
return z;
}
-LY_DEFINE(ly_eval_simple_closure, "ly:eval-simple-closure",
+LY_DEFINE (ly_eval_simple_closure, "ly:eval-simple-closure",
2, 2, 0, (SCM delayed, SCM closure, SCM scm_start, SCM scm_end),
- "Evaluate a simple closure with the given delayed argument. "
- "If start and end are defined, evaluate it purely with those "
- "start- and end-points.")
+ "Evaluate a simple @var{closure} with the given @var{delayed}"
+ " argument. If @var{scm-start} and @var{scm-end} are defined,"
+ " evaluate it purely with those start and end points.")
{
bool pure = (scm_is_number (scm_start) && scm_is_number (scm_end));
int start = robust_scm2int (scm_start, 0);