view Python/formatter_string.c @ 58707:76cf60e2d005 legacy-trunk

normalize exceptions passed to the __exit__ method #7853 In Python 2.x, exceptions in finally blocks are not normalized. Since with statements are implemented using finally blocks, ceval.c had to be tweaked to distinguish between with finally blocks and normal ones. A test for the finalization of generators containing with statements was also added.
author Benjamin Peterson <benjamin@python.org>
date Fri, 05 Feb 2010 02:12:14 +0000
parents 2754d64180d1
children
line wrap: on
line source

/***********************************************************************/
/* Implements the string (as opposed to unicode) version of the
   built-in formatters for string, int, float.  That is, the versions
   of int.__format__, etc., that take and return string objects */

#include "Python.h"
#include "../Objects/stringlib/stringdefs.h"

#define FORMAT_STRING  _PyBytes_FormatAdvanced
#define FORMAT_LONG    _PyLong_FormatAdvanced
#define FORMAT_INT     _PyInt_FormatAdvanced
#define FORMAT_FLOAT   _PyFloat_FormatAdvanced
#ifndef WITHOUT_COMPLEX
#define FORMAT_COMPLEX _PyComplex_FormatAdvanced
#endif

#include "../Objects/stringlib/formatter.h"