I think all of this is fine in the context of a multi-line string feature 
(option 1a from my mail).  I think its highly questionable if we try to apply 
this to so-called “raw” string literals, and it becomes a tangled hairball if 
the _only_ way to get to the multi-line feature is to randomly suppress some 
forms of input processing (escapes) but not others (text reflow).  


> On Mar 15, 2019, at 2:49 PM, Liam Miller-Cushon <cus...@google.com> wrote:
> 
> On Wed, Mar 13, 2019 at 12:57 PM Brian Goetz <brian.go...@oracle.com 
> <mailto:brian.go...@oracle.com>> wrote:
> To the “indent is good enough” point: Auto reflow is a disaster when applied 
> to mixed spaces and tabs; while in general one should avoid this, I cannot 
> rule out the possibility that someone might actually want to embed such a 
> snippet; in that case, truly raw strings are an option.  If we take away 
> truly raw, now they just have two bad approximations.
> 
> What do you think is the best framework for evaluating that trade-off?
> 
> The issues with leading spaces and tabs may be severe but should be extremely 
> rare. The issues with manually managing leading indentation are less severe, 
> but also very common.
> 
> If the leading indentation feature considers the closing delimiter position 
> (as some of the earlier proposals did), it's easy to explicitly keep the 
> leading whitespace and avoid collateral damage even with mixed spaces/tabs:
> 
>   void f() {
>     String hello = \"""
>         all leading whitespace is preserved
>         even with a mixture of tabs and spaces
> """\; // (the closing delimiter is un-indented to the margin, forcing leading 
> whitespace to be kept for the other lines)
>   }

Reply via email to