According to [the 
specification](https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/util/Properties.html#load(java.io.Reader))
 trailing whitespaces in the values of properties files are (somewhat 
surprisingly) actually significant.

We have multiple files in the JDK with trailing whitespaces in the values. For 
most of this files, this is likely incorrect and due to oversight, but in a few 
cases it might actually be intended (like "The value is: ").

After a discussion in the PR for 
[JDK-8295729](https://bugs.openjdk.org/browse/JDK-8295729), the consensus was 
to replace valid trailing spaces with the corresponding unicode sequence, 
`\u0020`. (And of course remove non-wanted trailing spaces.)

Doing so has a dual benefit:

1) It makes it clear to everyone reading the code that there is a trailing 
space and it is intended

2) It will allow us to remove all actual trailing space characters, and turn on 
the corresponding check in jcheck to keep the properties files, just like all 
other source code files, free of trailing spaces.

Ultimately, the call of whether a trailing space is supposed to be there, or is 
a bug, lies with the respective component teams owning these files. Thus I have 
split up the set of properties files with trailing spaces in several groups, to 
match the JDK teams, and open a JBS issue for each of them. This issue is for 
code I believe belongs with the langtools team.

-------------

Commit messages:
 - 8298044: Fix hidden but significant trailing whitespace in properties files 
for langtools code

Changes: https://git.openjdk.org/jdk/pull/11487/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=11487&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8298044
  Stats: 18 lines in 10 files changed: 0 ins; 0 del; 18 mod
  Patch: https://git.openjdk.org/jdk/pull/11487.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/11487/head:pull/11487

PR: https://git.openjdk.org/jdk/pull/11487

Reply via email to