]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/grob-property.cc
Merge branch 'master' of git+ssh://jneem@git.sv.gnu.org/srv/git/lilypond
[lilypond.git] / lily / grob-property.cc
index e8e74059ed3b6ca48c0a241b7aa8e566e5130640..b62a6bb9f9f94f815221f2c1f7819d0276e24ec0 100644 (file)
@@ -53,7 +53,13 @@ Grob::get_property_alist_chain (SCM def) const
 
 extern void check_interfaces_for_property (Grob const *me, SCM sym);
 
-#ifndef NDEBUG
+#if 0
+
+/*
+  We can't change signatures depending on NDEBUG, since NDEBUG comes
+  over the command line and may be different per .cc file.  This
+  should be done through the macro expansion of get_property().
+ */
 void
 Grob::internal_set_property (SCM sym, SCM v, char const *file, int line, char const *fun)
 {
@@ -82,6 +88,8 @@ Grob::internal_set_property (SCM sym, SCM v, char const *file, int line, char co
                             sym, v, SCM_UNDEFINED));
 }
 #else
+
+
 void
 Grob::internal_set_property (SCM sym, SCM v)
 {
@@ -102,9 +110,9 @@ Grob::internal_set_value_on_alist (SCM *alist, SCM sym, SCM v)
     {
       if (!ly_is_procedure (v)
          && !is_simple_closure (v)
-         && v != ly_symbol2scm ("calculation-in-progress") 
-         && !type_check_assignment (sym, v, ly_symbol2scm ("backend-type?")))
-       abort ();
+         && v != ly_symbol2scm ("calculation-in-progress"))
+       type_check_assignment (sym, v, ly_symbol2scm ("backend-type?"));
+
       check_interfaces_for_property (this, sym);
     }
 
@@ -128,11 +136,8 @@ Grob::internal_get_property_data (SCM sym) const
   if (do_internal_type_checking_global && scm_is_pair (handle))
     {
       SCM val = scm_cdr (handle);
-      if (!ly_is_procedure (val)
-         && !is_simple_closure (val)
-         && !type_check_assignment (sym, val, 
-                                 ly_symbol2scm ("backend-type?")))
-       abort ();
+      if (!ly_is_procedure (val) && !is_simple_closure (val))
+       type_check_assignment (sym, val, ly_symbol2scm ("backend-type?"));
 
       check_interfaces_for_property (this, sym);
     }