X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fprogram-option.cc;h=be81de380bf49ec1d5fea180d445db17d7be7d49;hb=730c54a571ab3b6c30e02be5f93c876abee0f9a7;hp=279cb376863840674ba5061d30d501b0cea56e17;hpb=b7da29a7aa95d610ab0bc383f78935e58de3ad78;p=lilypond.git diff --git a/lily/program-option.cc b/lily/program-option.cc index 279cb37686..be81de380b 100644 --- a/lily/program-option.cc +++ b/lily/program-option.cc @@ -34,7 +34,6 @@ bool profile_property_accesses = false; bool do_internal_type_checking_global; bool strict_infinity_checking = false; - static SCM option_hash; void internal_set_option (SCM var, SCM val) @@ -68,6 +67,11 @@ void internal_set_option (SCM var, SCM val) do_internal_type_checking_global = to_boolean (val); val = scm_from_bool (to_boolean (val)); } + else if (var == ly_symbol2scm ("debug-gc-assert-parsed-dead")) + { + parsed_objects_should_be_dead = to_boolean (val); + val = scm_from_bool (parsed_objects_should_be_dead); + } else if (var == ly_symbol2scm ("old-relative")) { lily_1_8_relative = to_boolean (val); @@ -133,7 +137,7 @@ get_help_string () } string help ("Options supported by ly:set-option\n\n"); - vector_sort (opts, string_compare); + vector_sort (opts, less ()); for (vsize i = 0; i < opts.size (); i++) help += opts[i]; @@ -204,6 +208,9 @@ LY_DEFINE (ly_command_line_verbose_p, "ly:command-line-verbose?", 0, 0, 0, (), return scm_from_bool (be_verbose_global); } + + + LY_DEFINE (ly_get_option, "ly:get-option", 1, 0, 0, (SCM var), "Get a global option setting.") { @@ -211,3 +218,12 @@ LY_DEFINE (ly_get_option, "ly:get-option", 1, 0, 0, (SCM var), SCM_ARG1, __FUNCTION__, "symbol"); return scm_hashq_ref (option_hash, var, SCM_BOOL_F); } + + +bool +get_program_option (const char *s) +{ + SCM sym = ly_symbol2scm (s); + + return to_boolean (ly_get_option (sym)); +}