char* dlp_formatter::_format( const term* t ) { if ( t->_opin(".") && (t->nargs()==2) ) { string* r = 0; char* s1 = _format( t->a1() ); char* s2 = _format( t->a2() ); if (!strcmp(s2,"[]")) return s1; sprintf(_buf(),"%s, %s",s1, (char*) s2); r = new string(_buf()); t->_register(r); return (char*) *r; // not r but *r ! } else return super::_format(t); }