The spec is correct as-is.  I have been made aware that white space in spec 
terms, as well as the compiler, is only space, tab and form-feed. Other white 
space (such as non-breaking space, em space, ...) is illegal and produces a 
javac error.

-- Jim


> On Apr 6, 2020, at 8:46 PM, Dan Smith <daniel.sm...@oracle.com> wrote:
> 
>> On Apr 6, 2020, at 12:43 PM, Jim Laskey <james.las...@oracle.com> wrote:
>> 
>> In section 3.10.6 Text Blocks of the updated spec;
>> 
>> "The opening delimiter is a sequence that starts with three double quote 
>> characters ("""), continues with zero or more space, tab, and form feed 
>> characters, and concludes with a line terminator."
>> 
>> However, the JEP 378 description reads "The opening delimiter is a sequence 
>> of three double quote characters (""") followed by zero or more white spaces 
>> followed by a line terminator.
>> 
>> javac uses the Character.isWhitespace test for characters following the 
>> opening three double quote characters.
>> 
>> Shouldn't the spec read as;
>> 
>> "The opening delimiter is a sequence that starts with three double quote 
>> characters ("""), continues with zero or more white space characters (Ex. 
>> space, tab, and form feed), and concludes with a line terminator."?
> 
> Is there a question about semantics here, or just a question of how best to 
> present it?
> 
> Right now, TextBlockWhiteSpace defines precisely which characters can appear. 
> Per 3.6, WhiteSpace is a grammar production that consists of 3 specific 
> characters (space, horizontal tab, and form feed), plus the line terminators. 
> TextBlockWhiteSpace excludes the line terminators.
> 
> Given this, I don't think redirecting through an abstract notion of "white 
> space" or the "Character.isWhitespace" API would be helpful—the grammar has 
> already nailed it down to exactly three characters.

Reply via email to