Index: trunk/src_3rd/rnd_inclib/lib_bom/lib_bom.c =================================================================== --- trunk/src_3rd/rnd_inclib/lib_bom/lib_bom.c (revision 38519) +++ trunk/src_3rd/rnd_inclib/lib_bom/lib_bom.c (revision 38520) @@ -102,6 +102,8 @@ templ->needs_escape = get_templ(templates, tid, "needs_escape"); templ->skip_if_empty= get_templ(templates, tid, "skip_if_empty"); templ->skip_if_nonempty = get_templ(templates, tid, "skip_if_nonempty"); + templ->list_sep = get_templ(templates, tid, "list_sep"); + } /*** subst ***/ @@ -284,6 +286,9 @@ ctx->needs_escape = templ->needs_escape; ctx->templ = templ; ctx->f = f; + ctx->list_sep = templ->list_sep; + if (ctx->list_sep == NULL) + ctx->list_sep = " "; } static void bom_print_add(bom_subst_ctx_t *ctx, bom_obj_t *obj, const char *name) @@ -336,7 +341,7 @@ } else { i->cnt++; - gds_append(&i->name_list, ' '); + gds_append_str(&i->name_list, ctx->list_sep); } gds_append_str(&i->name_list, name); Index: trunk/src_3rd/rnd_inclib/lib_bom/lib_bom.h =================================================================== --- trunk/src_3rd/rnd_inclib/lib_bom/lib_bom.h (revision 38519) +++ trunk/src_3rd/rnd_inclib/lib_bom/lib_bom.h (revision 38520) @@ -42,6 +42,7 @@ const char *escape; /* escape character */ const char *skip_if_empty; /* if this template is not empty: render the template for each item and do not include the item if the rendered string is empty */ const char *skip_if_nonempty; /* if this template is not empty: render the template for each item and do not include the item if the rendered string is not empty */ + const char *list_sep; /* separator sequence used when building a list */ } bom_template_t; static vts0_t bom_fmt_names; /* array of const char * long name of each format, pointing into the conf database */ @@ -81,6 +82,9 @@ vtp0_t arr; const bom_template_t *templ; FILE *f; + + /* separator sequence used when printing lists */ + const char *list_sep; } bom_subst_ctx_t; /* Export a file; call begin, then loop over all items and call _add, then call Index: trunk/src_plugins/export_bom/export_bom.conf =================================================================== --- trunk/src_plugins/export_bom/export_bom.conf (revision 38519) +++ trunk/src_plugins/export_bom/export_bom.conf (revision 38520) @@ -19,6 +19,7 @@ geda.footer = {} geda.needs_escape = {"} geda.skip_if_nonempty = {%subc.a.dnp%} +geda.list_sep = { } ### conf file footer (compacted) } } } } }