On 2022-01-18 21:58, Pablo Galindo Salgado wrote:
The code that computes the lines is already quite complex (to the point that has to do some AST analysis and post-parsing) so I am quite worried to introduce a lot of complexity in this area. I am fine doing something that we can easily check for (spawns all the line) but I would be against having to start doing even more analysis (especially for things that are not AST-based).

Take into account that code that displays exceptions need to be very resilient because it can be called in some tricky situations and validating that all the code works correctly is very hard, and complex to maintain.

As I said, I think I would be supportive of considering adding a check for the full line, but I think that adding more complexity here is quite dangerous.

It might be enough to check that there's only whitespace before the first ^ and only whitespace optionally followed by a comment (#) after the last ^ on that line.

On Tue, 18 Jan 2022 at 21:49, Patrick Reader <_...@pxeger.com <http://pxeger.com>> wrote:

    On 18/01/2022 20:41, Pablo Galindo Salgado wrote:
    We cannot base the computation on a % because is possible that the
    location markers are relevant
    but the variables, function names or constructs are just very
    large. I think that the idea of "spawns
    the whole line" is sensible, though.

    On Tue, 18 Jan 2022 at 20:32, Steve Dower <steve.do...@python.org
    <mailto:steve.do...@python.org>> wrote:


        Omitting the line of ^ where over x% (75%? 90%?) of characters
        on the
        line would be marked would be fine by me.

    It would also need to take into account cases where a line contains
    an inline comment, which does not contribute to the code producing
    the error, but where all of the rest of the line (the code) is the
    source of the error and highlighting it is not useful

    # test.py:

    code_that_causes_an_error # a comment

    $ python3.11 test.py

    Traceback (most recent call last):
       File "test.py", line 1, in <module>
         code_that_causes_an_error # a comment
         ^^^^^^^^^^^^^^^^^^^^^^^^^
    NameError: name 'code_that_causes_an_error' is not defined

    (the traceback shown is from a current `main` build)

_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/M62NSJW3S4Y4LNEZRJA4VJ3WXIPGHOVU/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to