- if (check_debug)
- *outstream_l_ << String ("\n%start: ") << nm << "\n";
-
-
- if (check_debug)
- {
- output_comment (nm);
- }
-
-#ifdef ATOM_SMOB
- for (SCM ptr = m->atom_list_; ptr != SCM_EOL; ptr = SCM_CDR(ptr))
- {
- Atom *i = Atom::atom_l (SCM_CAR(ptr));
-#else
- for (Cons<Atom> *ptr = m->atom_list_; ptr; ptr = ptr->next_)
- {
- Atom * i = ptr->car_;
-#endif
- Offset a_off = i->off_;
- a_off += o;
-
- if (!i->func_)
- continue;
-
- if (a_off.length () > 100 CM)
- {
- warning (_f("Improbable offset for object type `%s\'", nm));
- Axis a =X_AXIS;
- while (a < NO_AXES)
- {
- if (abs(a_off[a]) > 50 CM)
- a_off[a] = 50 CM;
- incr (a);
- }
- }
-
- if (i->font_)
- {
- output_scheme (gh_list (ly_symbol ("select-font"),
- gh_str02scm (symbol_to_string (i->font_).ch_C()),
- SCM_UNDEFINED));
- }
-
- SCM box_scm
- = gh_list (placebox_scm_sym,
- gh_double2scm (a_off.x ()),
- gh_double2scm (a_off.y ()),
- SCM(i->func_),
- SCM_UNDEFINED);
-
- output_scheme (box_scm);
- }
+ file_ = port;
+ output_module_ = SCM_EOL;
+ smobify_self ();
+
+ string module_name = "scm output-" + format;
+ output_module_ = scm_c_resolve_module (module_name.c_str ());
+
+ /*
+ Enable errors for undefined stencil routines if
+ -dwarning-as-error is specified; else enable warnings.
+ */
+ Lily::backend_testing (output_module_);