SF patch [ 597919 ] compiler package and SET_LINENO

A variety of changes from Michael Hudson to get the compiler working
with 2.3.  The primary change is the handling of SET_LINENO:

# The set_lineno() function and the explicit emit() calls for
# SET_LINENO below are only used to generate the line number table.
# As of Python 2.3, the interpreter does not have a SET_LINENO
# instruction.  pyassem treats SET_LINENO opcodes as a special case.

A few other small changes:
 - Remove unused code from pycodegen and pyassem.
 - Fix error handling in parsermodule.  When PyParser_SimplerParseString()
   fails, it sets an exception with detailed info.  The parsermodule
   was clobbering that exception and replacing it was a generic
   "could not parse string" exception.  Keep the original exception.
This commit is contained in:
Jeremy Hylton 2002-12-31 18:17:44 +00:00
parent 436eadd455
commit accb62b28e
6 changed files with 79 additions and 50 deletions

View file

@ -1241,6 +1241,9 @@ decode_utf8(char **sPtr, char *end, char* encoding)
#endif
}
/* compiler.transformer.Transformer.decode_literal depends on what
might seem like minor details of this function -- changes here
must be reflected there. */
static PyObject *
parsestr(struct compiling *c, char *s)
{