view Python/getcopyright.c @ 43840:73c8e27eb9ce

Correction for issue1265 (pdb bug with "with" statement). When an unfinished generator-iterator is garbage collected, PyEval_EvalFrameEx is called with a GeneratorExit exception set. This leads to funny results if the sys.settrace function itself makes use of generators. A visible effect is that the settrace function is reset to None. Another is that the eventual "finally" block of the generator is not called. It is necessary to save/restore the exception around the call to the trace function. This happens a lot with py3k: isinstance() of an ABCMeta instance runs def __instancecheck__(cls, instance): """Override for isinstance(instance, cls).""" return any(cls.__subclasscheck__(c) for c in {instance.__class__, type(instance)}) which lets an opened generator expression each time it returns True. Seems a backport candidate, even if the case is less frequent in 2.5.
author Amaury Forgeot d'Arc <amauryfa@gmail.com>
date Tue, 13 Nov 2007 01:05:30 +0000
parents 67287ca4e1e8
children d12199d602d3
line wrap: on
line source

/* Return the copyright string.  This is updated manually. */

#include "Python.h"

static char cprt[] = 
"\
Copyright (c) 2001-2007 Python Software Foundation.\n\
All Rights Reserved.\n\
\n\
Copyright (c) 2000 BeOpen.com.\n\
All Rights Reserved.\n\
\n\
Copyright (c) 1995-2001 Corporation for National Research Initiatives.\n\
All Rights Reserved.\n\
\n\
Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam.\n\
All Rights Reserved.";

const char *
Py_GetCopyright(void)
{
	return cprt;
}