On Tue, 14 Sep 2021 13:17:42 GMT, Daniel Fuchs <dfu...@openjdk.org> wrote:
>> Jaikiran Pai has updated the pull request incrementally with two additional >> commits since the last revision: >> >> - Add a @implNote to specify the order in which the properties are written >> out >> - update the javadoc to clarify how line terminator characters are handled >> in the value of the java.util.Properties.storeDate system property > > src/java.base/share/classes/java/util/Properties.java line 822: > >> 820: * {@link System#lineSeparator() line separator} and if the next >> 821: * character in comments is not character {@code #} or character >> {@code !} then >> 822: * an ASCII {@code #} is written out after that line separator. > > Should something be done for comments ending with \ (backslash) ? It might > otherwise suppress the first property assignment that follows. There has been no change in how we deal with this aspect. The existing specification (stated in the `load` method) says: > * Properties are processed in terms of lines. There are two > * kinds of line, <i>natural lines</i> and <i>logical lines</i>. > * A natural line is defined as a line of > * characters that is terminated either by a set of line terminator > * characters ({@code \n} or {@code \r} or {@code \r\n}) > * or by the end of the stream. A natural line may be either a blank line, > * a comment line, or hold all or some of a key-element pair. A logical > * line holds all the data of a key-element pair, which may be spread > * out across several adjacent natural lines by escaping > * the line terminator sequence with a backslash character > * {@code }. **Note that a comment line cannot be extended > * in this manner;** (emphasis on that last sentence). I'll anyway go ahead and add new tests around this to be sure that this works as advertised. ------------- PR: https://git.openjdk.java.net/jdk/pull/5372