X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fprogram-option.cc;h=5d9bebd7382728656addb4e9e5b01ac75fe1776c;hb=2b7957caa0fe30768b6ca9beaf491b889bd0c1c4;hp=be81de380bf49ec1d5fea180d445db17d7be7d49;hpb=3920b02188c3c6b0190626a936c586fe687a4a2d;p=lilypond.git diff --git a/lily/program-option.cc b/lily/program-option.cc index be81de380b..5d9bebd738 100644 --- a/lily/program-option.cc +++ b/lily/program-option.cc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 2001--2006 Han-Wen Nienhuys + (c) 2001--2007 Han-Wen Nienhuys */ #include "program-option.hh" @@ -12,15 +12,14 @@ #include using namespace std; +#include "profile.hh" #include "international.hh" #include "main.hh" #include "parse-scm.hh" #include "string-convert.hh" #include "warn.hh" -/* Write midi as formatted ascii stream? */ -bool do_midi_debugging_global; -bool use_object_keys; +bool debug_skylines; /* Backwards compatibility. @@ -47,11 +46,6 @@ void internal_set_option (SCM var, SCM val) profile_property_accesses = to_boolean (val); val = scm_from_bool (to_boolean (val)); } - else if (var == ly_symbol2scm ("debug-midi")) - { - do_midi_debugging_global = to_boolean (val); - val = scm_from_bool (to_boolean (val)); - } else if (var == ly_symbol2scm ("point-and-click")) { point_and_click_global = to_boolean (val); @@ -72,6 +66,11 @@ void internal_set_option (SCM var, SCM val) parsed_objects_should_be_dead = to_boolean (val); val = scm_from_bool (parsed_objects_should_be_dead); } + else if (var == ly_symbol2scm ("safe")) + { + be_safe_global = to_boolean (val); + val = scm_from_bool (be_safe_global); + } else if (var == ly_symbol2scm ("old-relative")) { lily_1_8_relative = to_boolean (val); @@ -79,14 +78,14 @@ void internal_set_option (SCM var, SCM val) lily_1_8_compatibility_used = to_boolean (val); val = scm_from_bool (to_boolean (val)); } - else if (var == ly_symbol2scm ("object-keys")) + else if (var == ly_symbol2scm ("strict-infinity-checking")) { - use_object_keys = to_boolean (val); + strict_infinity_checking = to_boolean (val); val = scm_from_bool (to_boolean (val)); } - else if (var == ly_symbol2scm ("strict-infinity-checking")) + else if (var == ly_symbol2scm ("debug-skylines")) { - strict_infinity_checking = to_boolean (val); + debug_skylines = to_boolean (val); val = scm_from_bool (to_boolean (val)); } } @@ -146,12 +145,11 @@ get_help_string () } LY_DEFINE (ly_option_usage, "ly:option-usage", 0, 0, 0, (), - "Print ly:set-option usage") + "Print @code{ly:set-option} usage") { string help = get_help_string (); - fputs (help.c_str (), stdout); + progress_indication (help); - exit (0); return SCM_UNSPECIFIED; } @@ -182,7 +180,10 @@ LY_DEFINE (ly_set_option, "ly:set-option", 1, 1, 0, (SCM var, SCM val), __FUNCTION__, "symbol"); if (ly_symbol2scm ("help") == var) - ly_option_usage (); + { + ly_option_usage (); + exit (0); + } if (val == SCM_UNDEFINED) val = SCM_BOOL_T; @@ -202,6 +203,18 @@ LY_DEFINE (ly_set_option, "ly:set-option", 1, 1, 0, (SCM var, SCM val), return SCM_UNSPECIFIED; } +LY_DEFINE (ly_command_line_options, "ly:command-line-options", 0, 0, 0, (), + "The Scheme specified on command-line with @samp{-d}.") +{ + return ly_string2scm (init_scheme_variables_global); +} + +LY_DEFINE (ly_command_line_code, "ly:command-line-code", 0, 0, 0, (), + "The Scheme specified on command-line with @samp{-e}.") +{ + return ly_string2scm (init_scheme_code_global); +} + LY_DEFINE (ly_command_line_verbose_p, "ly:command-line-verbose?", 0, 0, 0, (), "Was be_verbose_global set?") { @@ -210,6 +223,13 @@ LY_DEFINE (ly_command_line_verbose_p, "ly:command-line-verbose?", 0, 0, 0, (), +LY_DEFINE (ly_all_option, "ly:all-options", + 0, 0, 0, (), + "Get all option settings in an alist.") +{ + return ly_hash2alist (option_hash); +} + LY_DEFINE (ly_get_option, "ly:get-option", 1, 0, 0, (SCM var), "Get a global option setting.") @@ -220,6 +240,7 @@ LY_DEFINE (ly_get_option, "ly:get-option", 1, 0, 0, (SCM var), } + bool get_program_option (const char *s) {