Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bpo-33601 Py_UTF8Mode is not documented #31480

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

Vidhyavinu
Copy link
Contributor

@Vidhyavinu Vidhyavinu commented Feb 21, 2022

@bedevere-bot bedevere-bot added the docs Documentation in the Doc dir label Feb 21, 2022
@AA-Turner
Copy link
Member

I only see checks for if Py_UTF8Mode is greater than 0 in the source (https://cs.github.com/python/cpython?q=Py_UTF8Mode), but perhaps I'm missing something.

cc: @vstinner @methane

A

@vstinner
Copy link
Member

I created #93103 to deprecate Global Configuration Variables like Py_IgnoreEnvironment.

Copy link
Contributor

@MaxwellDupre MaxwellDupre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about adding a link in C API Stability page to init.rst?
Also, adding
Py_UTF8Mode=1 enables UTF-8 mode. However the PYTHONUTF8 environment variable is ignored (even if use_environment=1).


If set to 1, enable the UTF-8 Mode.
If set to 0, disable the UTF-8 Mode.
If set to -1, look for the :option:`-x` option and the :envvar:`PYTHONUTF8` environment variable.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please mention that the variable is now deprecated: #93943


If set to 1, enable the UTF-8 Mode.
If set to 0, disable the UTF-8 Mode.
If set to -1, look for the :option:`-x` option and the :envvar:`PYTHONUTF8` environment variable.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If set to -1, look for the :option:`-x` option and the :envvar:`PYTHONUTF8` environment variable.
If set to -1, look for the :option:`-x utf8 <-x>` command line option and the :envvar:`PYTHONUTF8` environment variable.

Enables the UTF-8 Mode.

If set to 1, enable the UTF-8 Mode.
If set to 0, disable the UTF-8 Mode.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure that it works this way. preconfig_get_global_vars() ignores Py_UTF8Mode if Py_UTF8Mode <= 0.

Py_UTF8Mode should not be used: PyPreConfig.utf8_mode should be used instead. Today, it seems like the only purpose of Py_UTF8Mode is to explicitly enable the Python UTF-8 Mode with Py_UTF8Mode=1.

@@ -221,6 +221,13 @@ to 1 and ``-bb`` sets :c:data:`Py_BytesWarningFlag` to 2.
Set by the :option:`-v` option and the :envvar:`PYTHONVERBOSE` environment
variable.

.. c:var:: int Py_UTF8Mode

Enables the UTF-8 Mode.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can add a link to https://docs.python.org/dev/library/os.html#python-utf-8-mode using utf8-mode reference. Please replace "UTF-8 Mode" with "Pyhon UTF-8 Mode".

@serhiy-storchaka serhiy-storchaka added needs backport to 3.12 bug and security fixes needs backport to 3.13 bugs and security fixes and removed needs backport to 3.10 only security fixes needs backport to 3.11 only security fixes labels May 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting review docs Documentation in the Doc dir needs backport to 3.12 bug and security fixes needs backport to 3.13 bugs and security fixes skip news
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants