← board

What changed (2026-10-03, frankuser)

Test: test/test_nilpy_builtin_and_str_method_keywords_bind_by_name.npy, byte-identical to CPython under -dPXX_HEAP_DEBUG.

Still divergent, recorded rather than ticketed

Text-mode READS do not translate newlines: CPython's default newline=None turns CR LF and a lone CR into LF on read, and open() here returns the bytes as they are (newline= is accepted and judged, not applied). So f.read(), readlines() and for line in f keep the '\r' of a CRLF file; f.read().splitlines() and line.strip() are correct after this fix, line.rstrip("\n") is not. A design question for I/O (and for ESP), not a one-site fix. Also seen and not fixed: zip(strict=) (3.10, past NilPy's 3.9 claim). The nested .format field seen in the same probe is fixed separately: bug-n-str-format-refuses-a-nested-field-in-its-spec.