+1 for the change. +1 for Martin's suggestion for an additional comment.

-- Jon


On 12/4/19 3:52 PM, Martin Buchholz wrote:
Looks good ... but please add a comment pointing to https://pandoc.org/MANUAL.html
"""Pandoc uses the UTF-8 character encoding for both input and output."""

On Wed, Dec 4, 2019 at 3:30 PM Dan Smith <daniel.sm...@oracle.com <mailto:daniel.sm...@oracle.com>> wrote:

    > On Dec 3, 2019, at 5:24 PM, Jonathan Gibbons
    <jonathan.gibb...@oracle.com <mailto:jonathan.gibb...@oracle.com>>
    wrote:
    >
    > Hi Dan,
    >
    > I think it's a combination of oral tradition and long-standing
    precedent.
    >
    > Earlier this year, I raised this general issue, partly because
    of inconsistent use of -encoding in the build system. The response
    was that there was some concern that not all tools in the tool
    chain could handle UTF-8 files.
    >
    > $ find open/make -name \*.gmk | xargs grep -o -e '-encoding [^ ]*'
    > open/make/Docs.gmk:-encoding ISO-8859-1
    > open/make/Docs.gmk:-encoding ISO-8859-1
    > open/make/common/SetupJavaCompilers.gmk:-encoding ascii
    > open/make/common/SetupJavaCompilers.gmk:-encoding ascii
    >
    > I think we should be consistent, but (at the time) it did not
    seem worth pushing for UTF-8 everywhere.

    Yeah, I think I'll join you in not being ready for this crusade.
    Might be nice, but will require broad familiarity with everything
    in the JDK that touches text.

    Instead, I'm happy to assert that, within the small space of spec
    processing tools, we need to support UTF-8, and so target my
    changeset to just the fixuppandoc tool.

    Can I get a review on this specific change?:

    -----

    diff -r 8c4c358272a9 -r 4c0e6c85037c
    make/jdk/src/classes/build/tools/fixuppandoc/Main.java
    --- a/make/jdk/src/classes/build/tools/fixuppandoc/Main.java   Fri
    Nov 15 20:39:26 2019 +0800
    +++ b/make/jdk/src/classes/build/tools/fixuppandoc/Main.java   Wed
    Dec 04 16:24:25 2019 -0700
    @@ -46,6 +46,7 @@
     import java.util.Set;
     import java.util.regex.Matcher;
     import java.util.regex.Pattern;
    +import static java.nio.charset.StandardCharsets.UTF_8;

     /**
      * Fixup HTML generated by pandoc.
    @@ -184,7 +185,7 @@
                     if (inFile != null) {
                         read(inFile);
                     } else {
    -                    read(new BufferedReader(new
    InputStreamReader(System.in)));
    +                    read(new BufferedReader(new
    InputStreamReader(System.in, UTF_8)));
                     }
                 }
             }
    @@ -198,9 +199,9 @@
              */
             private Writer openWriter(Path file) throws IOException {
                 if (file != null) {
    -                return Files.newBufferedWriter(file);
    +                return Files.newBufferedWriter(file, UTF_8);
                 } else {
    -                return new BufferedWriter(new
    OutputStreamWriter(System.out) {
    +                return new BufferedWriter(new
    OutputStreamWriter(System.out, UTF_8) {
                         @Override
                         public void close() throws IOException {
                             flush();
    @@ -615,7 +616,7 @@
              * @param file the file
              */
             void read(Path file) {
    -            try (Reader r = Files.newBufferedReader(file)) {
    +            try (Reader r = Files.newBufferedReader(file, UTF_8)) {
                     this.file = file;
                     read(r);
                 } catch (IOException e) {

Reply via email to