Author eric.smith
Recipients Tim.Graham, abarry, eric.smith, ezio.melotti, martin.panter, ncoghlan, ned.deily, petr.viktorin, r.david.murray, rhettinger, serhiy.storchaka, yan12125, yselivanov
Date 2016-10-31.11:57:36
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1477915056.7.0.125883978329.issue28128@psf.upfronthosting.co.za>
In-reply-to
Content
Serihy:

I had tried this approach earlier, but it doesn't work. With your -5.diff patch, the output is (using Nick's test case):

$ rm -rf __pycache__/ ; ./python -Werror escape_warning.py 
Traceback (most recent call last):
  File "escape_warning.py", line 1, in <module>
    import bad_escape
DeprecationWarning: invalid escape sequence \d
$ 

With my -4.diff patch, you get the desired full stack trace:

$ rm -rf __pycache__/ ; ./python -Wall escape_warning.py 
Traceback (most recent call last):
  File "escape_warning.py", line 1, in <module>
    import bad_escape
  File "/home/eric/local/python/cpython/bad_escape.py", line 1
    print('\d')
         ^
SyntaxError: invalid escape sequence \d
$ 

The trick is: how to make the DeprecationWarning version produce output similar to the SyntaxError case? Note that with DeprecationWarning, you don't see the line in bad_escape.py that actually contains the string with the invalid escape.
History
Date User Action Args
2016-10-31 11:57:36eric.smithsetrecipients: + eric.smith, rhettinger, ncoghlan, ned.deily, ezio.melotti, r.david.murray, petr.viktorin, martin.panter, serhiy.storchaka, yselivanov, Tim.Graham, yan12125, abarry
2016-10-31 11:57:36eric.smithsetmessageid: <1477915056.7.0.125883978329.issue28128@psf.upfronthosting.co.za>
2016-10-31 11:57:36eric.smithlinkissue28128 messages
2016-10-31 11:57:36eric.smithcreate