X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fprogram-option-scheme.cc;h=3934217fb3c9b64ade82becc20aaff47e036ef6d;hb=23bb09401ef1d8c5f5256b8f7a6c002365b1d88c;hp=cf5416ae8b3325ea89fce6c890e5e7a7b7e2ebea;hpb=d61cf3bbdb1c6670a127ba3baddf2f04d3e34fd3;p=lilypond.git diff --git a/lily/program-option-scheme.cc b/lily/program-option-scheme.cc index cf5416ae8b..3934217fb3 100644 --- a/lily/program-option-scheme.cc +++ b/lily/program-option-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2001--2012 Han-Wen Nienhuys + Copyright (C) 2001--2015 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 @@ -29,6 +29,7 @@ using namespace std; #include "parse-scm.hh" #include "string-convert.hh" #include "warn.hh" +#include "lily-imports.hh" bool debug_skylines; bool debug_property_callbacks; @@ -37,11 +38,6 @@ bool debug_page_breaking_scoring; bool music_strings_to_paths; bool relative_includes; -/* - Backwards compatibility. -*/ -bool lily_1_8_relative = false; -bool lily_1_8_compatibility_used = false; bool profile_property_accesses = false; /* crash if internally the wrong type is used for a grob property. @@ -85,13 +81,6 @@ internal_set_option (SCM var, be_safe_global = valbool; val = val_scm_bool; } - else if (varstr == "old-relative") - { - lily_1_8_relative = valbool; - /* Needs to be reset for each file that uses this option. */ - lily_1_8_compatibility_used = valbool; - val = val_scm_bool; - } else if (varstr == "strict-infinity-checking") { strict_infinity_checking = valbool; @@ -148,7 +137,6 @@ static string get_help_string () { SCM alist = ly_hash2alist (option_hash); - SCM converter = ly_lily_module_constant ("scm->string"); vector opts; @@ -159,7 +147,7 @@ get_help_string () string opt_spec = String_convert::char_string (' ', INDENT) + ly_symbol2string (sym) + " (" - + ly_scm2string (scm_call_1 (converter, val)) + + ly_scm2string (Lily::scm_to_string (val)) + ")"; if (opt_spec.length () + SEPARATION > HELP_INDENT) @@ -187,12 +175,12 @@ get_help_string () return help; } -LY_DEFINE (ly_option_usage, "ly:option-usage", 0, 0, 0, (), - "Print @code{ly:set-option} usage.") +LY_DEFINE (ly_option_usage, "ly:option-usage", 0, 1, 0, (SCM port), + "Print @code{ly:set-option} usage. Optional @var{port} argument" + "for the destination defaults to current output port.") { - string help = get_help_string (); - puts (help.c_str ()); - fflush (stdout); + SCM str = scm_from_locale_string (get_help_string ().c_str ()); + scm_write_line (str, port); return SCM_UNSPECIFIED; } @@ -220,7 +208,7 @@ LY_DEFINE (ly_set_option, "ly:set-option", 1, 1, 0, (SCM var, SCM val), { LY_ASSERT_TYPE (ly_is_symbol, var, 1); - if (val == SCM_UNDEFINED) + if (SCM_UNBNDP (val)) val = SCM_BOOL_T; string varstr = robust_symbol2string (var, ""); @@ -231,7 +219,7 @@ LY_DEFINE (ly_set_option, "ly:set-option", 1, 1, 0, (SCM var, SCM val), } SCM handle = scm_hashq_get_handle (option_hash, var); - if (handle == SCM_BOOL_F) + if (scm_is_false (handle)) warning (_f ("no such internal option: %s", varstr.c_str ())); internal_set_option (var, val);