[Python-Dev] Odd compile errors for bad genexps

Raymond Hettinger python at rcn.com
Thu Sep 30 02:40:42 CEST 2004


> [Tim]
> > >>> (i for i in x) = 2
> > SystemError: assign to generator expression not possible
> >
> > 1. Why is that a SystemError instead of a SyntaxError?  SystemError
> >    doesn't make sense.
 . . .
> > >>> (i for i in x) += 2
> > SyntaxError: augmented assign to tuple literal not possible
> >
> > 3. That's not a tuple literal

Okay, those two are fixed.



> > 2. Why didn't it echo the offending line?

The code for com_error() screens out the line numbering when in the
interactive mode.  You get the full echo when running a script.

What is interesting is that some syntax errors ("2 & * 3" for example)
by-pass com_error() and echo the line with a caret pointing at the
offending token.

These are both probably as they should be.



Raymond 



More information about the Python-Dev mailing list