mirror of
https://github.com/actions/setup-python.git
synced 2025-08-15 13:02:08 +00:00
The old matcher only worked if the error was raised with `raise Exception('single quotes')`. This represents a miniscule fraction of errors; for instance, `l[37]` on a short list `l` can raise `IndexError`, and any call to a builtin C function is not going to trace back to a `raise` call. Instead, this just matches the first line without fail that comes after the context line. Note that this is still not foolproof; in Python 3.10, `SyntaxError`s are produced as ``` File "<stdin>", line 1 foo(x, z for z in range(10), t, w) ^^^^^^^^^^^^^^^^^^^^ SyntaxError: Generator expression must be parenthesized ``` This matcher will incorrectly pick up ` ^^^^^^^^^^^^^^^^^^^^` as the error message, but the previous behavior was to not pick up any error message at all. As far as I can tell, this is impossible to handle correctly; the grammar of problem matchers is far too limiting.