]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/program-option-scheme.cc
Replace C++ (in)equality checks with proper SCM syntax
[lilypond.git] / lily / program-option-scheme.cc
index 0a6c3a80dc66ba006772271da0ebb3060e5bad18..80cd0e4e2fc25193c5ecc327c726a626700db83f 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 2001--2011  Han-Wen Nienhuys <hanwen@xs4all.nl>
+  Copyright (C) 2001--2015  Han-Wen Nienhuys <hanwen@xs4all.nl>
 
   LilyPond is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -37,11 +37,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.
@@ -65,11 +60,6 @@ internal_set_option (SCM var,
       profile_property_accesses = valbool;
       val = val_scm_bool;
     }
-  else if (varstr == "point-and-click")
-    {
-      point_and_click_global = valbool;
-      val = val_scm_bool;
-    }
   else if (varstr == "protected-scheme-parsing")
     {
       parse_protect_global = valbool;
@@ -90,13 +80,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;
@@ -128,7 +111,11 @@ internal_set_option (SCM var,
       val = val_scm_bool;
     }
   else if (varstr == "warning-as-error")
-    val = val_scm_bool;
+    {
+      /* warning_as_error is defined in flower/warn.cc */
+      warning_as_error = valbool;
+      val = val_scm_bool;
+    }
   else if (varstr == "music-strings-to-paths")
     {
       music_strings_to_paths = valbool;
@@ -188,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;
 }
@@ -221,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, "");
@@ -232,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);