- Grob *sc = s->broken_intos_[i];
- System *l = sc->get_system ();
- set_break_subsititution (l ? l->self_scm () : SCM_UNDEFINED);
-
- if (grob_array)
- {
- SCM newval = sc->internal_get_object (sym);
- if (!unsmob_grob_array (newval))
- {
- newval = Grob_array::make_array ();
- sc->set_object (sym, newval);
- }
- substitute_grob_array (grob_array, unsmob_grob_array (newval));
- }
- else
- {
- SCM newval = do_break_substitution (val);
- sc->set_object (sym, newval);
- }
+ Grob *sc = s->broken_intos_[i];
+ System *l = sc->get_system ();
+ set_break_subsititution (l ? l->self_scm () : SCM_UNDEFINED);
+
+ if (grob_array)
+ {
+ SCM newval = sc->internal_get_object (sym);
+ if (!Grob_array::is_smob (newval))
+ {
+ newval = Grob_array::make_array ();
+ sc->set_object (sym, newval);
+ }
+ substitute_grob_array (grob_array, Grob_array::unsmob (newval));
+ }
+ else
+ {
+ SCM newval = do_break_substitution (val);
+ sc->set_object (sym, newval);
+ }