]> Cypherpunks repositories - gostls13.git/commit
go/scanner: don't eat \r in comments if that shortens the comment
authorRobert Griesemer <gri@golang.org>
Fri, 12 Jan 2018 05:52:27 +0000 (21:52 -0800)
committerRobert Griesemer <gri@golang.org>
Mon, 12 Feb 2018 21:43:22 +0000 (21:43 +0000)
commitea006a8513508061e64ad43d77b3c4983129b50d
tree98d4a6e9c7ecf8b0285d8fd985b0bd13a72cbe9c
parentc5f3a8b10797258cf527601a44bfdfa63d5ef1a7
go/scanner: don't eat \r in comments if that shortens the comment

For consistent formatting across platforms we strip \r's from
comments. This happens in the go/scanner which already does
this for raw string literals where it is mandated by the spec.
But if a (sequence of) \r appears in a regular (/*-style) comment
between a * and a /, removing that (sequence of) \r shortens that
text segment to */ which terminates the comment prematurely.

Don't do it.

As an aside, a better approach would be to not touch comments,
(and raw string literals for that matter) in the scanner and
leave the extra processing to clients. That is the approach
taken by the cmd/compile/internal/syntax package. However, we
probably can't change the semantics here too much, so just do
the minimal change that doesn't produce invalid comments. It's
an esoteric case after all.

Fixes #11151.

Change-Id: Ib4dcb52094f13c235e840c9672e439ea65fef961
Reviewed-on: https://go-review.googlesource.com/87498
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
src/go/printer/printer_test.go
src/go/scanner/scanner.go
src/go/scanner/scanner_test.go