On 11/15/2021 5:45 AM, Steven D'Aprano wrote:

In another thread, Serhiy already suggested we ban invisible control
characters (other than whitespace) in comments and strings.

He said in string *literals*. One would put them in stromgs by using visible escape sequences.

>>> '\033' is '\x1b' is '\u001b'
True

https://mail.python.org/archives/list/python-dev@python.org/message/DN24FK3A2DSO4HBGEDGJXERSAUYK6VK6/

I think that is a good idea.

If one is outputting terminal control sequences, making the escape char visible is a good idea anyway. It would be easier if '\e' worked. (But see below.)

But beyond the C0 and C1 control characters, we should be conservative
about banning "hidden characters" without a *concrete* threat. For
example, variation selectors are "hidden", but they change the visual
look of emoji and other characters.
I can imagine that a complete emoji point and click input method might have one select the emoji and the variation and output the pair together. An option to output the selection character as the appropriate python-specific '\unnnn' is unlikely, and even if there were, who would know what it meant? Users would want the selected variation visible if the editor supported such.

If terminal escape sequences were also selected by point and click, my comment above would change.

--
Terry Jan Reedy

_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/4IMXVQFZI3VDHA4D2YZD4KTBU7GSEFPW/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to