@@ -65,7 +65,9 @@ func NewPrinter(t language.Tag, opts ...Option) *Printer {
6565// Sprint is like fmt.Sprint, but using language-specific formatting.
6666func (p * Printer ) Sprint (a ... interface {}) string {
6767 pp := newPrinter (p )
68- pp .doPrint (a )
68+ for _ , item := range a {
69+ lookupAndFormat (pp , item .(Reference ), nil )
70+ }
6971 s := pp .String ()
7072 pp .free ()
7173 return s
@@ -74,7 +76,9 @@ func (p *Printer) Sprint(a ...interface{}) string {
7476// Fprint is like fmt.Fprint, but using language-specific formatting.
7577func (p * Printer ) Fprint (w io.Writer , a ... interface {}) (n int , err error ) {
7678 pp := newPrinter (p )
77- pp .doPrint (a )
79+ for _ , item := range a {
80+ lookupAndFormat (pp , item .(Reference ), nil )
81+ }
7882 n64 , err := io .Copy (w , & pp .Buffer )
7983 pp .free ()
8084 return int (n64 ), err
@@ -88,7 +92,10 @@ func (p *Printer) Print(a ...interface{}) (n int, err error) {
8892// Sprintln is like fmt.Sprintln, but using language-specific formatting.
8993func (p * Printer ) Sprintln (a ... interface {}) string {
9094 pp := newPrinter (p )
91- pp .doPrintln (a )
95+ for _ , item := range a {
96+ lookupAndFormat (pp , item .(Reference ), nil )
97+ pp .doPrintln (nil )
98+ }
9299 s := pp .String ()
93100 pp .free ()
94101 return s
@@ -97,7 +104,10 @@ func (p *Printer) Sprintln(a ...interface{}) string {
97104// Fprintln is like fmt.Fprintln, but using language-specific formatting.
98105func (p * Printer ) Fprintln (w io.Writer , a ... interface {}) (n int , err error ) {
99106 pp := newPrinter (p )
100- pp .doPrintln (a )
107+ for _ , item := range a {
108+ lookupAndFormat (pp , item .(Reference ), nil )
109+ pp .doPrintln (nil )
110+ }
101111 n64 , err := io .Copy (w , & pp .Buffer )
102112 pp .free ()
103113 return int (n64 ), err
0 commit comments