X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Foutput-def-scheme.cc;h=95fd4a578245d6e9cd4a66b7a9994fcf6a38bcd1;hb=a981d3f71e1170a6ef12716ea3e8f61b0a3e7cf6;hp=fbd32e9230d6b759ab8f7d50205f3926187cf4be;hpb=75eebcb49e52d296b1da3e1074e0825d2c780db4;p=lilypond.git diff --git a/lily/output-def-scheme.cc b/lily/output-def-scheme.cc index fbd32e9230..95fd4a5782 100644 --- a/lily/output-def-scheme.cc +++ b/lily/output-def-scheme.cc @@ -6,12 +6,13 @@ (c) 2005--2006 Han-Wen Nienhuys */ -#include "font-metric.hh" +#include "output-def.hh" + #include "pango-font.hh" #include "modified-font-metric.hh" -#include "output-def.hh" #include "ly-module.hh" #include "context-def.hh" +#include "lily-parser.hh" LY_DEFINE (ly_layout_lookup, "ly:output-def-lookup", 2, 1, 0, (SCM pap, SCM sym, SCM def), @@ -70,7 +71,6 @@ LY_DEFINE (ly_output_description, "ly:output-description", Output_def *id = unsmob_output_def (output_def); SCM al = ly_module2alist (id->scope_); - SCM ell = SCM_EOL; for (SCM s = al; scm_is_pair (s); s = scm_cdr (s)) { @@ -91,13 +91,28 @@ LY_DEFINE (ly_layout_def_p, "ly:layout-def?", LY_DEFINE (ly_paper_outputscale, "ly:paper-outputscale", 1, 0, 0, (SCM bp), - "Get outputscale for BP.") + "Get output-scale for BP.") { Output_def *b = unsmob_output_def (bp); SCM_ASSERT_TYPE (b, bp, SCM_ARG1, __FUNCTION__, "paper"); return scm_from_double (output_scale (b)); } +/* + Cannot put in scope, but need a separate function, since we don't + want to allow this in --safe. + */ +LY_DEFINE (ly_output_def_parser, "ly:output-def-parser", + 1, 0, 0, (SCM odef), + "Return the parser where @var{odef} is coming from.") +{ + Output_def *b = unsmob_output_def (odef); + SCM_ASSERT_TYPE (b, odef, SCM_ARG1, __FUNCTION__, "paper"); + + return b->get_parser()->self_scm (); +} + + LY_DEFINE (ly_make_output_def, "ly:make-output-def", 0, 0, 0, (), "Make a output def.")