RFR - JDK-8210718 String::detab, String::entab (CSR Review)

Jim Laskey james.laskey at oracle.com
Wed Sep 19 15:02:35 UTC 2018



> On Sep 18, 2018, at 4:40 PM, Roger Riggs <Roger.Riggs at Oracle.com> wrote:
> 
> Hi Jim,
> 
> It may be useful to be more specific about the definition of a tab stop.

Agree.

> In this context I think you mean the next multiple of 'n' greater than the current position + 1.
> (And not taking into account surrogates, high and low) as 1 character or 2.

Oops - missed the surrogates issue.  Need to modify StringUTF-16 to account for surrogate-pair is one character.

> In some other contexts, tab stops can be specified as an explicit list of offsets from the start of the line.

Are you suggesting an overload method that takes an array of int (tab stops)?  I can see the value, but use case size is likely small.

> 
> Is there always at least one " " (space) replacing the tab?

Yes. “\tX”.detab(1)  -> “.X” and “X\tX”.detab(1)  -> “X.X” 

> 
> In the exceptions, a typo: "less that equals”

Updated.

> 
> In entab(), the "replaces some space characters... spacing aligns" seems a bit vague.
> (I don't want to read the code to have a precise understanding.)

Will reword and post an update.

> 
> Thanks, Roger
> 
> On 9/18/18 1:52 PM, Jim Laskey wrote:
>> Please review the API for String::detab and String::entab. Used to expand tabs into spaces, and spaces back to tabs.
>> 
>> csr: https://bugs.openjdk.java.net/browse/JDK-8210718
>> jbs: https://bugs.openjdk.java.net/browse/JDK-8210717
>> 
>> Cheers,
>> 
>> — Jim
>> 
>> 
> 



More information about the core-libs-dev mailing list