From 1be2ddda9a372de052ba3428128085152b2e9044 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Tue, 8 Dec 2015 14:09:59 -0500 Subject: [PATCH] encoding/json: document Indent's preservation of trailing spaces Fixes #13520. Change-Id: Ia70cc44be3912167b369d7f74d3436331975c300 Reviewed-on: https://go-review.googlesource.com/17561 Reviewed-by: Brad Fitzpatrick --- src/encoding/json/indent.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/encoding/json/indent.go b/src/encoding/json/indent.go index 153109fae6..7cd9f4db18 100644 --- a/src/encoding/json/indent.go +++ b/src/encoding/json/indent.go @@ -70,8 +70,12 @@ func newline(dst *bytes.Buffer, prefix, indent string, depth int) { // indented line beginning with prefix followed by one or more // copies of indent according to the indentation nesting. // The data appended to dst does not begin with the prefix nor -// any indentation, and has no trailing newline, to make it -// easier to embed inside other formatted JSON data. +// any indentation, to make it easier to embed inside other formatted JSON data. +// Although leading space characters (space, tab, carriage return, newline) +// at the beginning of src are dropped, trailing space characters +// at the end of src are preserved and copied to dst. +// For example, if src has no trailing spaces, neither will dst; +// if src ends in a trailing newline, so will dst. func Indent(dst *bytes.Buffer, src []byte, prefix, indent string) error { origLen := dst.Len() var scan scanner -- 2.48.1