X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fsimple-closure.cc;h=7c46c0198b728fbbdd83c7cd226f43885def37e7;hb=03f79cd4492c3ef03d4a79d16eb898aaee32cd1c;hp=f473b30e47e446d79922cbcdd9c8d81bad69e84d;hpb=87eedcd59f4082cb0841528ad5bc82cb1d1191e3;p=lilypond.git diff --git a/lily/simple-closure.cc b/lily/simple-closure.cc index f473b30e47..7c46c0198b 100644 --- a/lily/simple-closure.cc +++ b/lily/simple-closure.cc @@ -1,10 +1,21 @@ /* - 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 - (c) 2005--2007 Han-Wen Nienhuys + 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 . */ #include "simple-closure.hh" @@ -83,30 +94,31 @@ evaluate_with_simple_closure (SCM delayed_argument, 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);