On Thu, Jun 20, 2013 at 11:55 PM, Neil Cerutti <ne...@norwich.edu> wrote: > On 2013-06-20, Joshua Landau <joshua.landau...@gmail.com> wrote: >> On 20 June 2013 04:11, Cameron Simpson <c...@zip.com.au> wrote: >>> Also, opening-and-not-closing a set of brackets is almost the >>> only way in Python to make this kind of error (syntax at one >>> line, actual mistake far before). >>> >>> See if your editor has a show-the-matching-bracket mode. >>> If you suspect you failed to close a bracket, one approach is >>> to go _below_ the syntax error (or right on it) and type a >>> closing bracket. Then see where the editor thinks the opening >>> one is. >> >> Thanks for that, that's quite an ingenious technique. > > The auto-indent feature of Vim catches this type of syntax error, > and I imagine other good autoindent support will do the same. > After I press enter and the following line's indent isn't what I > expect, it is nearly always due to a missing bracket, quote or > colon. > > So if you press enter and the autoindent is unexpected, don't > just press space or backspace to fix it. It's usually a sign of > an earlier syntax error, so look for that first.
Yes, though editors (like everything else!) can be buggy - SciTE, for instance, has a bug with handling two adjacent braces in C code: void dummy_function() {} //SciTE will indent after that line But autoindentation is a *hugely* valuable feature, because it gives INSTANT feedback. You hit enter, the line is indented, you expected no indent, problem found. And I've even used it as a means of probing - if there's a problem in this area somewhere, I just go to the middle of the area, hit enter to insert a blank line, and see if the indentation is wrong. If it is, the problem's in the top half, else the problem's in the bottom half. That is: The problem is in the top-if-indentation-wrong-else-bottom half, using Python's ternary syntax. Or the (indentation-wrong? top: bottom) half, in C notation. Or... okay, I'll stop now. ChrisA -- http://mail.python.org/mailman/listinfo/python-list