[Python-3000] PEP 3131 accepted (original) (raw)

Ka-Ping Yee python at zesty.ca
Thu May 24 00:02:01 CEST 2007


On Wed, 23 May 2007, Ka-Ping Yee wrote:

So there are three sets of characters that look the same:

U+02BB = U+0312 = U+2018 U+02BC = U+0313 = U+0315 = U+2019 U+02EE = U+201D

The Greek combining koronis, U+0343, is an allowed identifier character and also looks identical to a single right quote, U+02BC = U+0313 = U+0315 = U+0343 = U+2019.

U+0312, U+0313, and U+0315 are combining characters that cause the comma to appear over the preceding letter, and they are not allowed to appear as the first character in an identifier. So, if your editor displays combining characters as properly combined, they will not be confusable with quotation marks; otherwise, they could be.

I just realized that this is not the whole story. There's no requirement that a combining character has to actually come after a character it can be combined with. So there might be valid identifiers containing sequences of characters that don't have a sensible rendering, or that force the combining comma to appear separately and thus indistinguishable from a quotation mark even in a Unicode-aware editor.

-- ?!ng



More information about the Python-3000 mailing list