Subject: bug#52459: 28.0.90; prin1-to-string does not escape bidi control characters despite print-escape-control-characters=t

From: Eli Zaretskii <[email-masked]>
Date: Sun, 12 Dec 2021 22:42:06 +0200

> From: Daniel Mendler <[email-masked]>
> Date: Sun, 12 Dec 2021 21:13:12 +0100
> 
> 1. Start emacs -Q
> 2. Enter the following in the scratch buffer:
> (let ((print-escape-control-characters t))
>   (prin1-to-string bidi-directional-controls-chars))
> 3. Evaluate. The bidi control characters are not escaped despite
> print-escape-control-characters=t.
> 
> The bidi characters should probably be treated as control characters
> since they have the Bidi_Control property according to the Unicode
> standard.

print-escape-control-characters is about ASCII control characters, not
about Unicode fomatting controls.

> If it is undesirable to treat bidi control characters like other control
> characters it may make sense to introduce another print configuration
> variable, print-escape-all-control-characters or
> print-escape-bidi-control-characters?

I don't think it's desirable.  Those formatting controls have starkly
different roles that ASCII control characters, and we already have
features to make them stand out on display.  Moreover, escape
sequences are not well-defined for codepoints beyond a single byte.

So I don't think we should do anything here, and we should close the
bug.