+void
+Paper_outputter::write_header_fields_to_file (Scope * header)
+{
+ if (dump_header_fieldnames_global.size ())
+ {
+ SCM fields = header->to_alist ();
+ for (int i = 0; i < dump_header_fieldnames_global.size (); i++)
+ {
+ String key = dump_header_fieldnames_global[i];
+ SCM val = gh_assoc (ly_symbol2scm (key.ch_C ()), fields);
+ String s;
+ /* Only write header field to file if it exists */
+ if (gh_pair_p (val))
+ {
+ s = ly_scm2string (gh_cdr (val));
+ /* Always write header field file, even if string is empty ... */
+ write_header_field_to_file (basename_, key, s);
+ }
+ }
+ }