<table><tr><td style="">flherne created this revision.<br />flherne added a reviewer: brauch.<br />Restricted Application added a subscriber: kdevelop-devel.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D7908" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>The Python  C-API is pretty weird here. By calling PyErr_NormalizeException, we get an instance of SyntaxError (or its subclass IndentationError) as the value instead of a plain tuple, which makes things clearer.</p>

<p>Another effect is that we get the "Missing parentheses in call to 'print'" message when relevant instead of just "invalid syntax".</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>Parsing valid files still works, parsing broken files doesn't crash, and in case of python2 'print' or 'exec' statements we display the more detailed error.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R53 KDevelop: Python Support</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D7908" rel="noreferrer">https://phabricator.kde.org/D7908</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>parser/astbuilder.cpp</div></div></div><br /><div><strong>To: </strong>flherne, brauch<br /><strong>Cc: </strong>kdevelop-devel<br /></div>