]> Cypherpunks repositories - gostls13.git/commitdiff
go/doc: allow interior dot in heading, as in "go.mod"
authorRuss Cox <rsc@golang.org>
Fri, 17 Aug 2018 14:51:53 +0000 (10:51 -0400)
committerRuss Cox <rsc@golang.org>
Fri, 17 Aug 2018 17:05:37 +0000 (17:05 +0000)
Only the expected headings are affected.
Diffing the output of "go run headscan.go" before and after:

$ diff head1 head2
26a27,28
>  Edit go.mod from tools or scripts
>  Make go.mod semantically consistent
168c170
< 141 headings found
---
> 143 headings found
$

Fixes #26938.

Change-Id: I204fd982a60773aa26880cd19eed890c373b8ab6
Reviewed-on: https://go-review.googlesource.com/129677
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/go/doc/comment.go

index 7c4490e7c3a03d2633ea2b3af16ead66e788a78f..d068d8960c602d5a7fde6a324b456068284aebb4 100644 (file)
@@ -232,7 +232,7 @@ func heading(line string) string {
        }
 
        // exclude lines with illegal characters. we allow "(),"
-       if strings.ContainsAny(line, ".;:!?+*/=[]{}_^°&§~%#@<\">\\") {
+       if strings.ContainsAny(line, ";:!?+*/=[]{}_^°&§~%#@<\">\\") {
                return ""
        }
 
@@ -248,6 +248,18 @@ func heading(line string) string {
                b = b[i+2:]
        }
 
+       // allow "." when followed by non-space
+       for b := line;; {
+               i := strings.IndexRune(b, '.')
+               if i < 0 {
+                       break
+               }
+               if i+1 >= len(b) || b[i+1] == ' ' {
+                       return "" // not followed by non-space
+               }
+               b = b[i+1:]
+       }
+
        return line
 }