<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Oct 28, 2019, 19:59 Billy O&#39;Neal (VC LIBS) &lt;<a href="mailto:bion@microsoft.com">bion@microsoft.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-US" link="blue" vlink="#954F72">
<div class="m_8017449436450381270WordSection1">
<p class="MsoNormal">It’s also different in different locales, the classic example being “i&quot; which becomes “İ” in some locales. See
<a href="https://en.wikipedia.org/wiki/Dotted_and_dotless_I" target="_blank" rel="noreferrer">https://en.wikipedia.org/wiki/Dotted_and_dotless_I</a><u></u><u></u></p>
<p class="MsoNormal"><u></u> </p></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">That should not be relevant. Transformations (in this case uppercasing) can be affected by locales, codepoints are not (graphemes are).</div><div dir="auto"><br></div><div dir="auto">Anyway, I also think the change as proposed is reasonable.</div><div dir="auto"></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="#954F72"><div class="m_8017449436450381270WordSection1"><p class="MsoNormal"><u></u></p>
<p class="MsoNormal">I think limiting it to A-Z is reasonable (as this PR does). <u></u>
<u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Billy3</p>
<p class="MsoNormal"><u></u> <u></u></p>
<div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="border:none;padding:0in"><b>From: </b><a href="mailto:core@lists.isocpp.org" target="_blank" rel="noreferrer">Corentin via Core</a><br>
<b>Sent: </b>Monday, October 28, 2019 10:56 AM<br>
<b>To: </b><a href="mailto:cxx@jfbastien.com" target="_blank" rel="noreferrer">JF Bastien</a><br>
<b>Cc: </b><a href="mailto:corentin.jabot@gmail.com" target="_blank" rel="noreferrer">Corentin</a>; <a href="mailto:wmm@edg.com" target="_blank" rel="noreferrer">
wmm@edg.com</a>; <a href="mailto:unicode@open-std.org" target="_blank" rel="noreferrer">SG16</a>; <a href="mailto:redbeard0531+isocpp@gmail.com" target="_blank" rel="noreferrer">
Mathias Stearn</a>; <a href="mailto:core@lists.isocpp.org" target="_blank" rel="noreferrer">C++ Core Language Working Group</a><br>
<b>Subject: </b>Re: [isocpp-core] [SG16-Unicode] Fwd: New Core Issue: [<a href="http://lex.name" target="_blank" rel="noreferrer">lex.name</a>]/3.2 under-specifies &quot;uppercase letter&quot;</p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">I would like to point out that afaik, although a rare event, the uppercase property of codepoints is not guaranteed to be stable and can change in either way from one Unicode version to the next.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">On Mon, Oct 28, 2019, 18:32 JF Bastien &lt;<a href="mailto:cxx@jfbastien.com" target="_blank" rel="noreferrer">cxx@jfbastien.com</a>&gt; wrote:<u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal">I’d like to have a stronger motivation that this. Do we ever intend to use non-ascii as reserved names? If so, we should wait to resolve TR31 and not make any change because doing what you propose closes a door. If not (ie we’ll only ever
 use A-Z to start reserved names) then your change is exactly what we’ll want  <u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">On Mon, Oct 28, 2019 at 9:39 AM Mathias Stearn &lt;<a href="mailto:redbeard0531%2Bisocpp@gmail.com" target="_blank" rel="noreferrer">redbeard0531+isocpp@gmail.com</a>&gt; wrote:<u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<div>
<p class="MsoNormal">Is it just uppercase letters in the basic source character set, or anything considered an uppercase letter in the universal character set after phase 1 transcoding and universal-character-name resolution? Or is there some other definition
 of uppercase? <u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">I have a slight preference for restricting to just A-Z so that it doesn&#39;t require humans or tools to consult the unicode data tables to decide if an identifier is safe to use.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Proposed resolution:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Replace [lex.names]/3.2 with:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Each identifier that contains a double underscore __ or begins with an underscore followed by an uppercase &lt;del&gt;letter&lt;/del&gt;&lt;ins&gt;<i>nondigit</i>&lt;/ins&gt; is reserved to the implementation for any use.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Alternatively we could either create a new grammar production for uppercase
<i>nondigit</i>s, or just say something like &quot;one of the universal characters in the range 0041-005A (A-Z)&quot;<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal">_______________________________________________<br>
SG16 Unicode mailing list<br>
<a href="mailto:Unicode@isocpp.open-std.org" target="_blank" rel="noreferrer">Unicode@isocpp.open-std.org</a><br>
<a href="https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.open-std.org%2Fmailman%2Flistinfo%2Funicode&amp;data=02%7C01%7Cbion%40microsoft.com%7Ca8e6710dcdc74fe9a23c08d75bd01956%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637078821656282730&amp;sdata=ai2WrEFV9uL%2BavOqZSHujL8e%2FCimTFYKkOVZt0NbGgE%3D&amp;reserved=0" target="_blank" rel="noreferrer">http://www.open-std.org/mailman/listinfo/unicode</a><u></u><u></u></p>
</blockquote>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal" style="margin-left:4.8pt">_______________________________________________<br>
SG16 Unicode mailing list<br>
<a href="mailto:Unicode@isocpp.open-std.org" target="_blank" rel="noreferrer">Unicode@isocpp.open-std.org</a><br>
<a href="https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.open-std.org%2Fmailman%2Flistinfo%2Funicode&amp;data=02%7C01%7Cbion%40microsoft.com%7Ca8e6710dcdc74fe9a23c08d75bd01956%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637078821656282730&amp;sdata=ai2WrEFV9uL%2BavOqZSHujL8e%2FCimTFYKkOVZt0NbGgE%3D&amp;reserved=0" target="_blank" rel="noreferrer">http://www.open-std.org/mailman/listinfo/unicode</a><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>

</blockquote></div></div></div>