New submission from ANdy <anh...@microsoft.com>: # To reproduce: # Put this text in a file `a.py` and run `py a.py`. # Or just run: py -c "print(('é' * 40 + '\n') * 473)" # Scroll up for a while. One of the lines will be: # éééééééééééééééééééé��ééééééééééééééééééé # (You can spot this because it's slightly longer than the other lines.) # The error is consistently on line 237, column 21 (1-indexed).
# The error reproduces on Windows but not Linux. Tested in both powershell and CMD. # (Failed to reproduce on either a real Linux machine or on Ubuntu with WSL.) # On Windows, the error reproduces every time consistently. # There is no error if N = 472 or 474. N = 473 # There is no error if W = 39 or 41. # (I tested with console windows of varying sizes, all well over 40 characters.) W = 40 # There is no error if ch = "e" with no accent. # There is still an error for other unicode characters like "Ö" or "ü". ch = "é" # There is no error without newlines. s = (ch * W + "\n") * N # Assert the string itself is correct. assert all(c in (ch, "\n") for c in s) print(s) # There is no error if we use N separate print statements # instead of printing a single string with N newlines. # Similar scripts written in Groovy, JS and Ruby have no error. # Groovy: System.out.println(("é" * 40 + "\n") * 473) # JS: console.log(("é".repeat(40) + "\n").repeat(473)) # Ruby: puts(("é" * 40 + "\n") * 473) ---------- components: Windows messages: 349837 nosy: anhans, paul.moore, steve.dower, tim.golden, zach.ware priority: normal severity: normal status: open title: 40 * 473 grid of "é" has a single wrong character on Windows type: behavior versions: Python 3.7 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue37871> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com