doesn't *copy* the sub-object, instead it retrieves a wrapper object accessing
the root-object's underlying buffer.
-Another example that may behave different from what one would expect is this::
+Another example that may behave differently from what one would expect is this::
>>> s = c_char_p()
>>> s.value = b"abc def ghi"
It doesn't require subscription on POSIX signal
but a thread creation is not free.
- The watcher has O(1) complexity, its perfomance doesn't depend
+ The watcher has O(1) complexity, its performance doesn't depend
on amount of spawn processes.
"""
'__slots__': (),
'_fields': field_names,
'_field_defaults': field_defaults,
- # alternate spelling for backward compatiblity
+ # alternate spelling for backward compatibility
'_fields_defaults': field_defaults,
'__new__': __new__,
'_make': _make,
raise TypeError(f'Invalid field: {item!r}')
if not isinstance(name, str) or not name.isidentifier():
- raise TypeError(f'Field names must be valid identifers: {name!r}')
+ raise TypeError(f'Field names must be valid identifiers: {name!r}')
if keyword.iskeyword(name):
raise TypeError(f'Field names must not be keywords: {name!r}')
if name in seen:
the header name and the ': ' separator.
"""
- # At some point we need to put fws here iif it was in the source.
+ # At some point we need to put fws here if it was in the source.
header = parser.Header([
parser.HeaderLabel([
parser.ValueTerminal(self.name, 'header-name'),
# Python 3.7a2 3391 (update GET_AITER #31709)
# Python 3.7a4 3392 (PEP 552: Deterministic pycs #31650)
# Python 3.7b1 3393 (remove STORE_ANNOTATION opcode #32550)
-# Python 3.7b5 3394 (restored docstring as the firts stmt in the body;
+# Python 3.7b5 3394 (restored docstring as the first stmt in the body;
# this might affected the first line number #32911)
# Python 3.8a1 3400 (move frame block handling to compiler #17611)
# Python 3.8a1 3401 (add END_ASYNC_FOR #33041)
if sys.platform.startswith(('linux', 'freebsd')):
try:
names = os.listdir("/proc/self/fd")
- # Substract one because listdir() opens internally a file
+ # Subtract one because listdir() internally opens a file
# descriptor to list the content of the /proc/self/fd/ directory.
return len(names) - 1
except FileNotFoundError:
def test_non_identifier_field_names(self):
for field in ['()', 'x,y', '*', '2@3', '', 'little johnny tables']:
with self.subTest(field=field):
- with self.assertRaisesRegex(TypeError, 'must be valid identifers'):
+ with self.assertRaisesRegex(TypeError, 'must be valid identifiers'):
make_dataclass('C', ['a', field])
- with self.assertRaisesRegex(TypeError, 'must be valid identifers'):
+ with self.assertRaisesRegex(TypeError, 'must be valid identifiers'):
make_dataclass('C', [field])
- with self.assertRaisesRegex(TypeError, 'must be valid identifers'):
+ with self.assertRaisesRegex(TypeError, 'must be valid identifiers'):
make_dataclass('C', [field, 'a'])
def test_underscore_field_names(self):
print()
print("--- run eintr_tester.py ---", flush=True)
# In verbose mode, the child process inherit stdout and stdout,
- # to see output in realtime and reduce the risk of loosing output.
+ # to see output in realtime and reduce the risk of losing output.
args = [sys.executable, "-E", "-X", "faulthandler", *args]
proc = subprocess.run(args)
print(f"--- eintr_tester.py completed: "
# These next lines contains tabs. Backslash escapes don't
# work in f-strings.
- # patchcheck doens't like these tabs. So the only way to test
+ # patchcheck doesn't like these tabs. So the only way to test
# this will be to dynamically created and exec the f-strings. But
# that's such a hassle I'll save it for another day. For now, convert
# the tabs to spaces just to shut up patchcheck.
class ImportTests(fixtures.DistInfoPkg, unittest.TestCase):
def test_import_nonexistent_module(self):
# Ensure that the MetadataPathFinder does not crash an import of a
- # non-existant module.
+ # nonexistent module.
with self.assertRaises(ImportError):
importlib.import_module('does_not_exist')
def testPerm(self):
perm = math.perm
factorial = math.factorial
- # Test if factorial defintion is satisfied
+ # Test if factorial definition is satisfied
for n in range(100):
for k in range(n + 1):
self.assertEqual(perm(n, k),
def testComb(self):
comb = math.comb
factorial = math.factorial
- # Test if factorial defintion is satisfied
+ # Test if factorial definition is satisfied
for n in range(100):
for k in range(n + 1):
self.assertEqual(comb(n, k), factorial(n)
choices([], cum_weights=[], k=5)
def test_choices_subnormal(self):
- # Subnormal weights would occassionally trigger an IndexError
+ # Subnormal weights would occasionally trigger an IndexError
# in choices() when the value returned by random() was large
# enough to make `random() * total` round up to the total.
# See https://bugs.python.org/msg275594 for more detail.
.. nonce: 102DA-
.. section: Build
-Avoid error about nonexistant fileblocks.o file by using a lower-level check
+Avoid error about nonexistent fileblocks.o file by using a lower-level check
for st_blocks in struct stat.
..
.. nonce: 102DA-
.. section: Build
-Avoid error about nonexistant fileblocks.o file by using a lower-level check
+Avoid error about nonexistent fileblocks.o file by using a lower-level check
for st_blocks in struct stat.
..
'<<run-module>>', '<<check-module>>', and '<<zoom-height>>'. Any (global)
customizations made before 3.6.3 will not affect their keyset-specific
customization after 3.6.3. and vice versa.
-Inital patch by Charles Wohlganger.
+Initial patch by Charles Wohlganger.
..
.. section: Core and Builtins
The list constructor will pre-size and not over-allocate when the input
-lenght is known.
+length is known.
..
/* How many bytes do we need? There are nbits >> 3 full
* bytes of data, and nbits & 7 leftover bits. If there
* are any leftover bits, then we clearly need another
- * byte. Wnat's not so obvious is that we *probably*
+ * byte. What's not so obvious is that we *probably*
* need another byte even if there aren't any leftovers:
* the most-significant bit of the most-significant byte
* acts like a sign bit, and it's usually got a sense
/* Some random patterns used to test re.match.
Be careful not to add catostraphically slow regexes here, we want to
- excercise the matching code without causing timeouts.*/
+ exercise the matching code without causing timeouts.*/
static const char* regex_patterns[] = {
".", "^", "abc", "abc|def", "^xxx$", "\\b", "()", "[a-zA-Z0-9]",
"abc+", "[^A-Z]", "[x]", "(?=)", "a{z}", "a+b", "a*?", "a??", "a+?",
PyWideStringList_Append(PyWideStringList *list, const wchar_t *item)
{
if (list->length == PY_SSIZE_T_MAX) {
- /* lenght+1 would overflow */
+ /* length+1 would overflow */
return _PyStatus_NO_MEMORY();
}