On Thu, Nov 1, 2012 at 3:14 PM, Cameron Simpson <cs@zip.com.au> wrote:
To my mind one of the attractive features of the current syntax is that
forgetting the colon causes an immediate complaint.

I agree 

I understand the attractiveness here, but I think I would prefer staying
with the status quo (overt brackets or icky trailing sloshes) to extend
the lines in a condition over opening the syntax to complaints far beyond
the mistake.


Ditto except for the part about \ continuation being icky. I don't think it's that bad. The two things that make \ continuation less attractive than () continuation is that you can't put comments on the \-continued lines and invisible trailing white space is a syntax error.

I don't understand the reason for either restriction.

with open('/etc/passwd') as p1, \      # source
     open('/etc/passwd') as p2:        # destination

seems more readable than

with open('/etc/passwd') as p1, \
     open('/etc/passwd') as p2:        # source, destination

A reasonable restriction (to my mind) would be to require at least two spaces or a tab after a \ before a comment (although requiring just one space would also be ok with me although I personally would always use more). This change couldn't break existing code since \ is currently a syntax error if followed by whitespace or a comment.

I would ignore whitespace after a final \ in a string, but would not allow comments.

(Yes, I realize that better variable names would obviate the need for these particular comments but comments are still useful sometimes :-)

--- Bruce
Follow me: http://www.twitter.com/Vroo http://www.vroospeak.com