Skip to content

Conversation

@serhiy-storchaka
Copy link
Member

@serhiy-storchaka serhiy-storchaka commented Aug 30, 2019

  • Use the 'p' format unit instead of manually called PyObject_IsTrue().
  • Pass boolean value instead 0/1 integers to functions that needs boolean.
  • Convert some arguments to boolean only once.

https://bugs.python.org/issue15999

* Use the 'p' format unit instead of manually called PyObject_IsTrue(). * Pass boolean value instead 0/1 integers to functions that needs boolean. * Convert some arguments to boolean only once.

def __call__(self, source, filename, symbol):
codeob = compile(source, filename, symbol, self.flags, 1)
codeob = compile(source, filename, symbol, self.flags, True)
Copy link
Contributor

@sir-sigurd sir-sigurd Aug 30, 2019

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's OK.

https://docs.python.org/3.9/library/functions.html#compile

The argument optimize specifies the optimization level of the compiler; the default value of -1 selects the optimization level of the interpreter as given by -O options. Explicit levels are 0 (no optimization; debug is true), 1 (asserts are removed, debug is false) or 2 (docstrings are removed too).

Copy link
Member Author

Choose a reason for hiding this comment

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

It is dont_inherit, not optimize.

Copy link
Contributor

Choose a reason for hiding this comment

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

Oops, sorry.

@serhiy-storchaka serhiy-storchaka merged commit 1f21eaa into python:master Sep 1, 2019
@serhiy-storchaka serhiy-storchaka deleted the bool-cleanup branch September 1, 2019 09:16
lisroach pushed a commit to lisroach/cpython that referenced this pull request Sep 10, 2019
* Use the 'p' format unit instead of manually called PyObject_IsTrue(). * Pass boolean value instead 0/1 integers to functions that needs boolean. * Convert some arguments to boolean only once.
DinoV pushed a commit to DinoV/cpython that referenced this pull request Jan 14, 2020
* Use the 'p' format unit instead of manually called PyObject_IsTrue(). * Pass boolean value instead 0/1 integers to functions that needs boolean. * Convert some arguments to boolean only once.
websurfer5 pushed a commit to websurfer5/cpython that referenced this pull request Jul 20, 2020
* Use the 'p' format unit instead of manually called PyObject_IsTrue(). * Pass boolean value instead 0/1 integers to functions that needs boolean. * Convert some arguments to boolean only once.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

4 participants