Cleanup manifest, auxiliary files.
authorRobert Bradshaw <robertwb@math.washington.edu>
Mon, 10 Nov 2008 19:04:30 +0000 (11:04 -0800)
committerRobert Bradshaw <robertwb@math.washington.edu>
Mon, 10 Nov 2008 19:04:30 +0000 (11:04 -0800)
CHANGES_pyrex.txt [deleted file]
MANIFEST.in
ToDo.txt

diff --git a/CHANGES_pyrex.txt b/CHANGES_pyrex.txt
deleted file mode 100644 (file)
index 7cc0c50..0000000
+++ /dev/null
@@ -1,1179 +0,0 @@
-0.9.4.1
--------
-
-Bug fixes:
-
-  - Fixed indentation problem in Pyrex.Distutils.build_ext.
-    [Oliver Grisel <ogrisel@nuxeo.com>]
-
-
-0.9.4
------
-
-Improvements:
-
-  - All use of lvalue casts has been eliminated, for
-    compatibility with gcc4.
-  
-  - PyMODINIT_FUNC now used to declare the module init function.
-  
-  - Generated code should be compilable as either C or C++.
-    When compiling as C++, "extern C" is used where appropriate
-    to preserve linkage semantics. C++ functions still cannot
-    be called yet.
-  
-  - An extension type can be made weak-referenceable by
-    giving it a C attribute of type object called __weakref__.
-  
-  - Source files opened in universal newlines mode.
-  
-  - Support for public extension type C attributes of type
-    long long and unsigned long long added (but not tested).
-    [Sam Rushing <sam@rushing.nightmare.com>]
-  
-  - Distutils include directories now passed to Pyrex compiler.
-    [Konrad Hinsen <khinsen@cea.fr>]
-  
-  - Integer constants with an "L" suffix are now allowed
-    and are converted to Python long integers.
-    [Rainer Deyke <rainerd@eldwood.com>]
-  
-  - A broken .c file is no longer left behind if there are
-    compilation errors.
-  
-  - Using the result of a Python indexing or attribute access
-    operation as a char * is no longer considered an error in
-    most cases, as the former behaviour proved to be more
-    annoying than helpful.
-  
-Bug fixes:
-
-  - Fixed problems with conversion from Python integers to
-    C unsigned longs. Now use PyInt_AsUnsignedLongMask and
-    PyInt_AsUnsignedLongLongMask instead of the PyLong_*
-    functions (which only work on Python longs).
-    [Wim Vree <wim@vree.be>]
-  
-  - C unsigned ints now converted to/from Python longs intead
-    of Python ints to avoid overflow problems.
-    [Heiko Wundram <me+pyrex@modelnine.org>]
-  
-  - Correct PyArg_ParseTuple format characters now used for
-    unsigned types. [Jeff Bowden <jlb@houseofdistraction.com>]
-  
-  - Nonzero return value from a base class tp_traverse call
-    is handled.
-  
-  - Taking sizeof an incomplete type caused a crash while
-    producing an error message. [Drew Perttula <dperttula@pdi.com>]
-  
-  - If a module cimported itself, definitions of global variables
-    were generated twice. [Parzival Herzog <parzp@shaw.ca>]
-  
-  - Distutils extension updated to handle changed signature of
-    swig_sources(). [David M. Cooke <cookedm@physics.mcmaster.ca>]
-  
-  - Incorrect C code generated for a raw string containing a double
-    quote preceded by a backslash. [Thomas Drake <bistroy@mac.com>]
-  
-  - Declaration of public C function with an exception value written
-    to generated .pxi file without the except clause.
-    [Robby Dermody <robbyd@u20.org>]
-  
-  - __delitem__ method of an extension type with no __setitem__
-    did not get called. [Richard Boulton <richard@tartarus.org>]
-  
-  - A spurious Py_INCREF was generated when a return statement
-    required a type test. [Jonathan Doda <jdoda@sympatico.ca>]
-  
-  - Casting a value to a function pointer and then immediately
-    calling it generated a cast to a function instead of a cast
-    to a function pointer. [Simon Burton <simon@arrowtheory.com>]
-  
-  - Py_TPFLAGS_HAVE_GC was not being set on an extension type that
-    inherited from an external extension type that used GC but did
-    not itself have any PyObject* attributes.
-    [Michael Hordijk <hoffbrinkle@hotmail.com>]
-  
-  - A return statement inside a for statement leaked a reference
-    to the loop's iterator.
-    [Jürgen Kartnaller <j.kartnaller@robotech.at>]
-  
-  - Full module name now appears in __module__ attribute of classes
-    and extension types, provided a correct dotted name is used
-    for the .pyx file. [Giovanni Bajo <rasky@develer.com>]
-
-  - Public extension type with no C attributes produced an
-    invalid .pxi file. [Simon Burton <simon@arrowtheory.com>]
-  
-  - Using a dict constructor as the second operand of a boolean
-    expression crashed the Pyrex compiler.
-    [Stefan Behnel <behnel_ml@gkec.informatik.tu-darmstadt.de>]
-  
-  - A C declaration list ending with a comma resulted in invalid
-    C code being generated. [Alex Coventry <alex_c@mit.edu>]
-  
-  - A raw string containing two consecutive backslashes produced
-    incorrect C code. [Helmut Jarausch <jarausch@igpm.rwth-aachen.de>]
-  
-  - An error is reported if you attempt to declare a special
-    method of an extension type using 'cdef' instead of 'def'.
-    [Sam Rushing <srushing@ironport.com>]
-
-0.9.3
------
-
-Enhancements:
-
-  - Types defined with a ctypedef in a 'cdef extern from' block
-    are now referred to by the typedef name in generated C code,
-    so it is no longer necessary to match the type in the C
-    header file exactly.
-
-  - Conversion to/from unsigned long now done with
-    PyLong_AsUnsignedLong and PyLong_FromUnsignedLong.
-    [Dug Song <dugsong@monkey.org>]
-  
-  - A struct, union or enum definition in a 'cdef extern from'
-    block may now be left empty (using 'pass'). This can be useful
-    if you need to declare a variable of that type, but don't need
-    to refer to any of its members.
-  
-  - More flexible about ordering of qualifiers such as 'long' and
-    'unsigned'.
-    ["John (J5) Palmieri" <johnp@redhat.com>]
-
-
-Bug fixes:
-
-  - Non-interned string literals used in a Python class
-    definition did not work.
-    [Atsuo Ishimoto <ishimoto@gembook.org>]
-    [Andreas Kostyrka <andreas@kostyrka.org>]
-  
-  - Return types of the buffer interface functions for extension
-    types have been corrected.
-    [Dug Song <dugsong@monkey.org>]
-  
-  - Added 'static' to declarations of string literals.
-    [Phil Frost <indigo@bitglue.com>]
-  
-  - Float literals are now copied directly to the C code as written,
-    to avoid problems with loss of precision.
-    [Mario Pernici <Mario.Pernici@mi.infn.it>]
-  
-  - Inheriting from an extension type with C methods defined in
-    another Pyrex module did not work.
-    [Itamar Shtull-Trauring <itamar@itamarst.org>]
-
-0.9.2.1
--------
-
-Bug fixes:
-
-  - Corrected an import statement setup.py, and made it
-    check for a unix platform in a more reliable way.
-
-0.9.2
------
-
-Enhancements:
-
-  - Names of Python global variables and attributes are now
-    interned, and PyObject_GetAttr/SetAttr are used instead
-    of PyObject_GetAttrString/SetAttrString. String literals
-    which resemble Python identifiers are also interned.
-  
-  - String literals are now converted to Python objects only
-    once instead of every time they are used.
-  
-  - NUL characters are now allowed in Python string literals.
-
-  - Added some missing error checking code to the beginning
-    of module init functions. It's unlikely the operations
-    involved would ever fail, but you never know.
-
-Bug fixes:
-
-  - Corrected some problems introduced by moving the Plex
-    package.
-
-0.9.1.1
--------
-
-Bug fixes:
-
-  - Corrected a problem in the setup.py (pyrexc script incorrectly
-    named).
-  
-  - Updated the distutils extension to match changes in the
-    Pyrex compiler calling interface.
-  
-  - Doing 'make clean' in Demos/callback was removing a little too
-    much (that's why cheesefinder.c kept disappearing).
-
-0.9.1
------
-
-Enhancements:
-
-  - A C method can now call an inherited C method by the usual
-    Python technique.
-    [Jiba <jiba@tuxfamily.org>]
-  
-  - The __modname__ of a Python class is now set correctly.
-    [Paul Prescod <paul@prescod.net>]
-  
-  - A MANIFEST.in file has been added to the distribution to
-    facilitate building rpms.
-    [contributed by Konrad Hinsen <hinsen@cnrs-orleans.fr>]
-
-Bug fixes:
-
-  - Conditional code now generated to allow for the renaming of LONG_LONG
-    to PY_LONG_LONG that occurred between Python 2.2 and 2.3.
-
-  - Header files referenced in cimported modules were not being included.
-    [Tom Popovich <tompopovich@aol.com>]
-  
-  - References to C functions and variables in a cimported module were
-    not being recognised if made from within a local scope.
-    [Tom Popovich <tompopovich@aol.com>]
-  
-  - Spurious declarations in code generated for a "finally" block.
-    [Brandon Long <blong@fiction.net>]
-  
-  - Attempting to return a value from a __contains__ method didn't work.
-    [Andreas Kostyrka <andreas@mtg.co.at>]
-  
-  - Incorrect code generated for an extension type with C methods
-    inheriting from a base type with no C methods.
-    [Robin Becker <robin@reportlab.com>]
-  
-  - Failure to report an error if a C method was defined in the
-    implementation part of an extension type that was not declared
-    in the corresponding definition part. Documentation also updated
-    to explain that this is necessary.
-    [Jiba <jiba@tuxfamily.org>]
-  
-  - Made it an error to forward-declare an extension type with
-    a different base class specification from its subsequent
-    definition.
-    [Jiba <jiba@tuxfamily.org>]
-  
-  - C attributes of an extension type were not being propagated
-    through more than one level of inheritance.
-    [Jiba <jiba@tuxfamily.org>]
-  
-  - If a garbage collection occurred early enough in the __new__
-    method of an extension type with Python-valued C attributes,
-    a crash could occur in its tp_traverse function.
-    [reported by Jiba <jiba@tuxfamily.org>]
-    [fix suggested by Paul Prescod <paul@prescod.net>]
-  
-  - An empty vtable struct is no longer generated for extension
-    types with no C methods.
-    [Robin Becker <robin@reportlab.com>]
-  
-  - Memory was leaked in the sq_item function of an extension
-    type with a __getitem__ method.
-    [Atsuo Ishimoto <ishimoto@gembook.org>]
-  
-  - Code generated to work around a bug in some versions of Python
-    2.2 which fails to initialise the tp_free slot correctly in
-    some circumstances.
-    [Matthias Baas <baas@ira.uka.de>]
-  
-  - Compiler crash when defining an extension type with a base
-    class specified by a dotted name.
-    [Alain Pointdexter <alainpoint@yahoo.fr>]
-  
-  - Referencing an extension type defined in a cimported module
-    at run time did not work correctly.
-    [Alain Pointdexter <alainpoint@yahoo.fr>]
-  
-  - Incorrect object struct code generated for an extension type
-    whose base class was defined in a .pxd file.
-    [Alain Pointdexter <alainpoint@yahoo.fr>]
-  
-  - Redeclaring a type that wasn't previously an extension type
-    as an extension type caused a compiler crash.
-    [Scott Robinson <scott@tranzoa.com>]
-  
-  - Incorrect code was generated for return statements in a
-    special method with no return value.
-    [Gary Bishop <gb@cs.unc.edu>]
-  
-  - Single-line def statement did not work.
-    [Francois Pinard <pinard@iro.umontreal.ca>]
-  
-Modifications:
-  
-  - Only the last pathname component of the .pyx file is reported in
-    backtraces now.
-    [Bryan Weingarten <bryan.weingarten@pobox.com>]
-  
-  - Documentation corrected to remove the erroneous statement that
-    extension classes can have a __del__ method.
-    [Bryan Weingarten <bryan.weingarten@pobox.com>]
-  
-  - Note added to documentation explaining that it is not possible
-    for an extension type's __new__ method to explicitly call the
-    inherited __new__ method.
-  
-  - The version of Plex included with Pyrex is now installed
-    as a subpackage of the Pyrex package, rather than as a
-    top-level package, so as not to interfere with any other
-    version of Plex the user may have installed.
-
-0.9
----
-
-New features:
-
-  - Extension types can have properties. See the new "Properties"
-    section in the "Extension Types" page.
-  
-  - An extension type can inherit from a builtin type or another
-    extension type. See "Subclassing" in the "Extension Types" page.
-  
-  - Extension types can have C methods, which can be overridden
-    in derived extension types. See "C Methods" in the "Extension Types"
-    page.
-
-Enhancements:
-  
-  - Conversion is now performed between C long longs and Python
-    long integers without chopping to the size of a C long.
-    Also the Python PY_LONG_LONG type is now used for long longs
-    for greater portability.
-
-Bug fixes:
-
-  - Names were sometimes being generated that were insufficiently 
-    unique in the presence of cimported declarations.
-  
-  - Changed the way the included filename table is declared from
-    char *[] to char **, to stop MSVC from complaining about it
-    having an unknown size.
-    [Alexander A Naanou <alex_nanou@pochta.ru>]
-  
-  - Second argument of assert statement was not being coerced
-    to a Python value.
-    [Francois Pinard   http://www.iro.umontreal.ca/~pinard]
-  
-  - Return statement without value wasn't accepted in some
-    extension type special methods when it should have been.
-    [Francois Pinard   http://www.iro.umontreal.ca/~pinard]
-
-  - Attempting to call a non-function C value crashed the
-    compiler.
-    [John J Lee <jjl@pobox.com>]
-  
-  - Functions declared as "except *" were not returning exceptions.
-    [John J Lee <jjl@pobox.com>]
-    
-  - A syntax warning from Plex about assignment to None has
-    been eliminated.
-    [Gordon Williams <g_will@cyberus.ca>]
-  
-  - Public function declaration with empty argument list was
-    producing (void) in .pxi file.
-    [Michael P. Dubner <dubnerm@mindless.com>]
-  
-  - Incorrect error signalling code was being generated in the
-    __hash__ special method of an extension type.
-    
-
-0.8.1
------
-
-Bug fixes:
-
-  - Names of structs, unions and enums in external header
-    files were getting mangled when they shouldn't have been.
-    [Norman Shelley <Norman.Shelley@motorola.com>]
-  
-  - Modified distutils extension so that it will stop before
-    compiling the C file if the Pyrex compiler reports errors.
-    [John J Lee <jjl@pobox.com>]
-    
-
-0.8
----
-
-New features:
-
-  - INCOMPATIBLE CHANGE: The type object of an external extension
-       type is now imported at run time using the Python import
-       mechanism. To make this possible, an 'extern' extension type
-       declaration must DECLARE THE MODULE from which the extension
-       type originates. See the new version of the "Extension Types"
-       documentation for details.
-       
-       This change was made to eliminate the need for Pyrex to be 
-       told the C name of the type object, or for the Pyrex module 
-       to be linked against the object code providing the type object.
-  
-       You will have to update any existing external extension type
-       declarations that you are using. I'm sorry about that, but it
-       was too hard to support both the old and new ways.
-  
-  - Compile-time importing: A Pyrex module can now import declarations 
-       from another Pyrex module using the new 'cimport' statement. See 
-       the new section on "Sharing Declarations Between Pyrex Modules" in 
-       the documentation.
-
-Minor improvements:
-
-  - An error is reported if you declare a struct, union or
-    extension type using 'cdef' in one place and 'ctypedef'
-    in another.
-  
-  - Struct, union and extension types can only be forward-
-    declared using 'cdef', not 'ctypedef' (otherwise invalid 
-    C code would be generated).
-  
-  - The 'global' statement can be used at the module level to
-    declare that a name is a module-level name rather than a
-    builtin. This can be used to access module attributes such
-    as __name__ that would otherwise be assumed to be builtins.
-    [Pat Maupin <pmaupin@speakeasy.net>]
-  
-  - The 'assert' statement now accepts a second argument.
-    [Francois Pinard <pinard@iro.umontreal.ca>]
-
-Bug fixes:
-
-  - When using Python 2.3, "True" or "False" could sometimes
-    turn up in generated code instead of "1" or "0".
-    [Adam Hixson <chixson@ou.edu>]
-  
-  - Function return value not always converted to or from a
-    Python object when it should have been.
-  
-  - Certain kinds of error in a function call expression
-    could crash the compiler.
-    ["Edward C. Jones" <edcjones@erols.com>]
-  
-  - Fixed memory leak in functions with * or ** args.
-    [Alexander A Naanou <alex_nanou@pochtamt.ru>]
-
-
-0.7.1
------
-
-Bug fixes:
-
-  - Calling a function declared as returning an extension
-    type could crash the compiler.
-
-  - A function call with type errors in the argument list 
-    could crash the compiler.
-  
-  - An 'else' clause on a for-from statement could crash
-    the compiler.
-  
-  - Incorrect casting code was generated when a generic
-    object argument of a special method was declared as
-    being of an extension type.
-    [Phillip J. Eby <pje@telecommunity.com>]
-  
-  - A blank line that couldn't be interpreted wholly as
-    a valid indentation sequence caused a syntax error.
-    In particular, a formfeed character on an otherwise
-    blank line wasn't accepted. 
-    [Francois Pinard <pinard@iro.umontreal.ca>]
-
-  - Parallel assignments were incorrectly optimised.
-  
-  - A bare tuple constructor with an extra comma at the
-    end of a line caused a syntax error.
-
-0.7
----
-
-New features:
-
-  - Attributes of extension types can be exposed to Python
-    code, either read/write or read-only.
-
-  - Different internal and external names can be specified
-    for C entities.
-  
-  - None is a compile-time constant, and more efficient code
-    is generated to reference it.
-  
-  - Command line options for specifying directories to
-    search for include files.
-
-Enhancements:
-
-  - More efficient code is generated for access to Python
-    valued C attributes of extension types.
-  
-  - Cosmetic code improvement: Less casting back and forth
-    between extension types and PyObject * when referencing
-    C members of the object struct.
-  
-  - C arguments and variables declared as an extension type
-    can take the value None.
-  
-  - Form feed characters are accepted as whitespace.
-  
-  - Function names in tracebacks are qualified with
-    module name and class name.
-
-Bug fixes:
-
-  - A sufficiently complex expression in a boolean context
-    could cause code to be generated twice for the same 
-    subexpression.
-  
-  - Incorrect casting code was generated when passing an
-    extension type to a function expecting a generic Python
-    object.
-  
-  - Executable statements are now disallowed inside a
-    cdef class block (previously they silently caused
-    crazy C code to be generated).
-  
-  - Tracebacks should now report the correct filename for
-    functions defined in files included with the 'include'
-    statement.
-  
-  - The documentation incorrectly claimed that an extension
-    type can't have a __del__ method. In fact, it can, and
-    it behaves as expected.
-
-
-0.6.1
------
-
-Bug fixes:
-
-  - Fixed broken distutils extension.
-
-
-
-0.6
----
-
-New features:
-
-  - Command line options for reporting version number,
-    requesting a listing file and specifying the name of
-    the generated C file.
-
-  - An 'include' statement allows inclusion of declarations
-    from other Pyrex source files.
-  
-  - If there are any public declarations, a Pyrex include
-    file is generated (as well as a .h file) containing 
-    declarations for them.
-  
-  - Extension types can be declared public, so their C
-    attributes are visible to other Pyrex and C code.
-  
-  - Try-except statements can now have an 'else' clause.
-    [Francois Pinard <pinard@iro.umontreal.ca>]
-  
-  - Multiple simple statements can be placed on one line
-    separated by semicolons.
-  
-  - A suite consisting of a simple statement list can now
-    be placed on the same line after the colon in most
-    cases.
-    [Francois Pinard <pinard@iro.umontreal.ca>]
-
-  - The automatic coercion of a C string to a C char has
-    been removed (it proved to be too error-prone).
-    Instead, there is a new form of literal for C
-    character constants: c'X'
-
-  - The __get__ special method (used by descriptor objects)
-    now allows for the possibility of the 2nd or 3rd
-    arguments being NULL. Also the __set__ method has been
-    split into two methods, __set__ and __delete__.
-    [Phillip J. Eby <pje@telecommunity.com>]
-  
-Bug fixes:
-
-  - Values unpacked into a non-Python destination variable
-    were not being converted before assignment.
-    [Gareth Watts <gareth@omnipotent.net>]
-
-  - Hex constants greater than 0x7fffffff caused compiler
-    to crash. [Gareth Watts <gareth@omnipotent.net>]
-  
-  - Type slots are no longer statically initialised with
-    extern function pointers, to avoid problems with
-    some compilers. The hack in the distutils extension
-    to work around this by compiling as C++ has been
-    disabled. [Phillip J. Eby <pje@telecommunity.com>]
-  
-  - Fixed several more instances of the error-reporting
-    routine being called with arguments in the wrong
-    order. Hoping I've *finally* got all of them now...
-  
-  - Nested for-from loops used the same control variable.
-    [Sebastien de Menten <sdementen@hotmail.com>]
-  
-  - Fixed some other error message related bugs.
-    [Francois Pinard <pinard@iro.umontreal.ca>]
-  
-  - Assigning to slice didn't work.
-    [Francois Pinard <pinard@iro.umontreal.ca>]
-  
-  - Temp variables were being declared as extension
-    types and then being assigned PyObject *'s. All
-    Python temp vars are now declared as PyObject *.
-    [Francois Pinard <pinard@iro.umontreal.ca>]
-
-0.5
----
-
-Bug fixes:
-
-  - Algorithm for allocating temp variables redesigned
-    to fix various errors concerning temp
-    variable re-use.
-    [Mark Rowe <bdash@gmx.net>]
-
-  - Memory leak occured sometimes when an implicit
-    type test was applied to the result of an 
-    expression.
-    [christoph.wiedemann@daimlerchrysler.com]
-  
-  - __set__ method of extension types had wrong
-    signature.
-    [Josh Littlefield <joshl@cisco.com>]
-    
-0.4.6
------
-
-Bug fixes:
-
-  - Indexing multi-dimensional C arrays didn't
-    work.
-    [Gary Dietachmayer <gary.dietachmayer@dsto.defence.gov.au>]
-
-
-0.4.5
------
-
-New features:
-
-  - There is now a 'public' declaration for
-    making Pyrex-defined variables and functions
-    available to external C code. A .h file is
-    also generated if there are any public
-    declarations.
-
-Enhancements:
-
-  - Defining __len__/__getitem__ methods in an
-    extension class fills sq_length/sq_item slots
-    as well as mp_length/mp_subscript.
-    [Matthias Baas <baas@ira.uka.de>]
-  
-  - The Distutils extension now allows .c files
-    to be incorporated along with .pyx files.
-    [Modification to Distutils extension contributed
-    by Darrell Gallion <dgallion1@yahoo.com>.]
-
-Bug fixes:
-
-  - Float literals without a decimal point
-    work again now.
-    [Mike Rovner <mike@bindkey.com>]
-    [Peter Lepage <gpl@mail.lns.cornell.edu>]
-  
-  - Compiler crashed if exception value didn't
-    match function return type.
-    [Michael JasonSmith <mpj17@smtphost.canterbury.ac.nz>]
-  
-  - The setup.py file should now install the
-    Lexicon.pickle file in the right place.
-    [Patch supplied by David M. Cooke 
-    <cookedm@arbutus.physics.mcmaster.ca>]
-    
-  - Compiler crashed when compiling a C function that
-    returned an extension type.
-    [David M. Cooke 
-    <cookedm@arbutus.physics.mcmaster.ca>]
-  
-  - Anonymous enum types did not have C code
-    suppressed inside an extern-from block.
-    [Matthew Mueller <donut@azstarnet.com>]
-
-
-0.4.4
------
-
-Enhancements:
-
-  - Tracebacks now extend into Pyrex function
-    calls and show line numbers in the Pyrex
-    source file.
-
-  - Syntax for float literals made more lenient
-    (no longer requires digits both before and
-    after the point).
-    [Peter Lepage <gpl@mail.lns.cornell.edu>]
-  
-  - Method calls can be made on string literals
-    (e.g. ",".join(x)).
-    [pedro_rodriguez@club-internet.fr]
-
-Bug fixes:
-
-  - Incorrect refcount code generated when a
-    Python function needing argument type tests
-    had local Python variables.
-    [Matthias Baas <baas@ira.uka.de>]
-  
-  - 'self' parameter of __getitem__ method of
-    extension type had wrong implicit type.
-    [Peter Lepage <gpl@mail.lns.cornell.edu>]
-  
-  - Repaired breakage introduced by trying to
-    allow an empty parameter list to be written
-    as (void). No longer attempting to allow
-    this (too hard to parse correctly).
-    [Peter Lepage <gpl@mail.lns.cornell.edu>]
-  
-  - Found bug in Plex 1.1.2 which was the *real*
-    cause of the two-newlines-in-a-row problem.
-    Removed the Opt(Eol)+Str("\n") hacks in
-    the scanner which were working around this
-    before.
-    [pedro_rodriguez@club-internet.fr]
-  
-  - __call__ special method of extension types
-    had wrong signature.
-    [Peter Lepage <gpl@mail.lns.cornell.edu>]
-
-
-0.4.3
------
-
-New language features:
-
-  - For-from loop for iterating over integer
-    ranges, using pure C loop where possible.
-
-Enhancements:
-
-  - sizeof() can now be applied to types as
-    well as variables.
-  
-  - Improved handling of forward-declared
-    extension types.
-
-Bug fixes:
-
-  - Two newlines in a row in a triple quoted
-    string caused a parse error on some
-    platforms.
-    [Matthias Baas <baas@ira.uka.de>]
-  
-  - Fixed problem with break and continue in
-    the else-clause of a loop.
-
-
-0.4.2
------
-
-New language features:
-
-  - C functions can be declared as having an
-    exception return value, which is checked
-    whenever the function is called. If an
-    exception is detected inside a C function
-    for which no exception value is declared,
-    a warning message is printed and the
-    exception is cleared.
-  
-  - Cascaded assignments (i.e. a = b = c 
-    are now supported.
-  
-  - Anonymous enum declarations are allowed,
-    for when you just want to declare constants.
-  
-  - The C types "long long" and "long double"
-    are now understood. Also, "int" is optional
-    after "short" or "long".
-  
-Enhancements:
-
-  - A * argument in a function call can now be
-    any sequence, not just a tuple.
-
-  -    A C char* or char[] will be turned into
-    a char by taking its first character if
-    used in a context where a char is required,
-    thus allowing a string literal to be used as 
-    a char literal.
-  
-  - C string * C int or vice versa is now
-    interpreted as Python string replication.
-  
-  - Function arguments are checked for void or
-    incomplete type.
-
-Bug fixes:
-
-  - Non-external extension types show up in the
-    module dict once more (this got broken in
-    0.4.1).
-  
-  - A spurious decref has been removed from the
-    runtime support code for the "import" statement.
-    Hopefully this will prevent the crashes some
-    people have been experiencing when importing
-    builtin modules.
-    [Mathew Yeates <mathew@comma.jpl.nasa.gov>]
-
-0.4.1
------
-
-New language features:
-
-  - "ctypedef struct/union/enum/class" statements
-    added, for use in extern-from blocks when a
-    header file uses a ctypedef to declare a
-    tagless struct, union or enum type.
-  
-  - "pass" allowed in an extern-from block.
-  
-  - "cdef extern from *" for when you don't want
-    to specify an include file name.
-  
-  - Argument names may be omitted in function
-    signatures when they're not needed.
-  
-  - New reserved word NULL for the null C pointer.
-
-Compiler enhancements:
-  
-  - Lexicon is now picked in binary format, so
-    startup should be much faster on slower
-    machines.
-  
-  - If Pyrex decides to rebuild the lexicon and
-    then finds that it can't write a pickle file,
-    it now prints a warning and carries on
-    instead of crashing.
-  
-  - Chat about hash codes and lexicon pickling
-    now turned off by default except when creating
-    a new lexicon (which ought never happen now
-    unless you change the scanner).
-
-Bug fixes:
-
-  - Modified the runtime support code for "import"
-    statements, hopefully fixing problem with using
-    a Pyrex module in conjunction with py2exe.
-  
-  - DL_EXPORT now used in both the prototype and
-    definition of the module init function.
-  
-  - Exception state is now saved and restored around
-    calls to an extension type __dealloc__ method,
-    to avoid screwing up if the object is deallocated
-    while an exception is being propagated.
-  
-  - Making an attribute reference to a method of
-    an extension type caused a compiler crash.
-  
-  - Doc string in new-style class definition
-    caused a run-time error.
-  
-  - Insufficient parentheses were put around C type 
-    casts.
-
-  - Constructors for extension types are now read-only
-    C global variables instead of entries in the
-    module dict. This change was needed to prevent
-    Numeric from blowing up due to touching its
-    typeobject before import_numeric() could be called.
-
-0.4
----
-
-New features:
-
-  - "cdef extern from" statement allows inclusion
-    of C header files to be specified, solving
-    a number of problems including:
-      - Clashes between Pyrex and C declarations,
-        due to "const" and other reasons
-      - Windows-specific features required in
-        function declarations
-      - Helping deal with types such as "size_t"
-      - Helping deal with functions defined as
-        macros
-  
-  - Access to internals of pre-existing extension
-    types is now possible by placing an extension
-    type declaration inside a "cdef extern from"
-    block.
-
-Bug fixes:
-
-  - Error not reported properly when passing
-    wrong number of args to certain special
-    methods of extension types.
-    [Mitch Chapman <mitchchapman@earthlink.net>]
-  
-  - Compile-time crash when defining an extension
-    type with a __hash__ method.
-
-Minor enhancements:
-
-  - Hashing of the scanner source file made more
-    platform-independent, making spurious regeneration 
-    of the pickle less likely.
-
-
-0.3.4
------
-
-Bug fixes:
-
-  - Runtime crash when using * or ** args in
-    a method of an extension type fixed.
-    [Matthew Mueller <donut@azstarnet.com>]
-  
-  - Compiler crash when using default argument
-    values in a method of a Python class.
-    [Mike Rovner <mike@bindkey.com>]
-
-Enhancements:
-
-  - Type slots filled with functions from outside
-    the extension module are now initialised dynamically,
-    which should eliminate at least some of the
-    "initialiser is not constant" problems experienced
-    on Windows.
-    [Marek Baczek <imbaczek@poczta.fm>]
-  
-  - On Windows, __declspec(dllexport) is now used for
-    the module init func declaration (or should be --
-    I haven't tested this).
-    [Marek Baczek <imbaczek@poczta.fm>]
-  
-  - The compiler shouldn't attempt to rewrite the
-    Lexicon.pickle file unless the source has been
-    changed (hashing is used now instead of comparing
-    timestamps). So there should be no problem any more
-    with installing Pyrex read-only.
-    [fawcett@uwindsor.ca]
-
-0.3.3
------
-
-Bug fixes:
-
-* A void * can be assigned from any other
-pointer type.
-[piers@cs.su.oz.au]
-
-* File names in error messages no longer
-quoted (this was apparently confusing some
-editors).
-[donut@azstarnet.com]
-
-* Reference to a struct member which is an
-array is coerced to a pointer.
-[donut@azstarnet.com]
-
-* Default argument values did not work
-in methods of an extension type.
-[donut@azstarnet.com]
-
-* Single or double quote characters in a
-triple-quoted string didn't work.
-[donut@azstarnet.com]
-
-* Using *args in a function definition
-sometimes caused a crash at runtime.
-[donut@azstarnet.com]
-
-* A hack is included which tries to make
-functions in Python.h which use 'const'
-accessible from Pyrex. But it doesn't
-work on all platforms. Thinking about a
-better solution.
-
-
-New features:
-
-* Comment containing Pyrex version number
-and date/time at top of generated C file.
-[baas@ira.uka.de]
-
-
-0.3.2
------
-
-Bug fixes:
-
-* The & operator works again.
-[matthias.oberlaender@daimlerchrysler.com]
-[baas@ira.uka.de]
-
-* The & operator had incorrect precedence.
-
-* "SystemError: 'finally' pops bad exception"
-under some circumstances when raising an
-exception. [baas@ira.uka.de]
-
-* Calling a Python function sometimes leaked
-a reference.
-
-* Crash under some circumstances when casting
-a Python object reference to a C pointer type.
-[mpj17@cosc.canterbury.ac.nz]
-
-* Crash when redeclaring a function.
-[baas@ira.uka.de]
-
-* Crash when using a string constant inside
-a Python class definition.
-[mike@bindkey.com]
-
-* 2-element slice indexing expressions.
-[mike@bindkey.com]
-
-* Crash when encountering mixed tabs and
-spaces.
-[mike@bindkey.com]
-
-New features:
-
-* A wider variety of constant expressions is
-now accepted for enum values, array
-dimensions, etc.
-[mike@bindkey.com]
-
-
-0.3.1
------
-
-New features:
-
-* More special methods for extension types:
-__delitem__, __delslice__, __getattr__,
-__setattr__, __delattr__
-
-* Module-level variable of a Python object type
-declared with 'cdef' is private to the module, and
-held in a C variable instead of the module dict.
-
-* External C functions with variable argument lists
-can be declared and called.
-
-* Pyrex-defined Python functions can have default
-argument values and * and ** arguments, and can be
-called with keyword arguments.
-
-* Pointer-to-function types can be declared.
-
-* Pyrex now supports a declaration syntax that
-C doesn't! Example:
-
-  cdef (int (*)()) foo() # function returning a function ptr
-
-* There is now a ctypedef statement.
-
-* Extension types can now be forward-declared.
-
-* All permutations of (non-Unicode) string literals 
-and escape codes should work now.
-
-* Hex and octal integer literals.
-
-* Imaginary number literals.
-
-* Docstrings are now supported.
-
-Bug fixes:
-
-* Type tests are performed when using a Python object
-in a context requiring a particular extension type.
-
-* Module-level variable holding the type object
-of an extension type had incorrect type.
-
-0.3
----
-
-New features:
-
-* Extension types! Yay!
-
-0.2.2
------
-
-Bug fixes:
-
-* Fixed error message generation again after a previous
-bug was accidentally re-indroduced.
-
-* Removed the declaration of isspace() from the code
-generated for print statement support (it's not needed
-and was conflicting with the system-supplied one on
-some platforms).
-
-0.2
----
-
-New features:
-
-* Executable statements are now allowed at the
-top level of a module.
-
-* Python class definitions are now supported, with
-the following limitations:
-
-    - Class definitions are only allowed at the top
-      level of a module, not inside a control structure
-      or function or another class definition.
-    
-    - Assigning a Pyrex-defined Python function to a
-      class attribute outside of the class definition
-      will not create a method (because it's not an 
-      interpreted Python function and therefore
-      won't trigger the bound-method creation magic).
-    
-    - The __metaclass__ mechanism and the creation of
-      new-style classes is not (yet) supported.
-
-* Casting between Python and non-Python types is
-better supported.
-
-Bug fixes:
-
-* Fixed bug preventing for-loops from working.
-
-
-0.1.1
------
-
-* I've discovered a flaw in my algorithm for releasing
-temp variables. Fixing this properly will require some
-extensive reworking; I've put in a hack in the meantime
-which should work at the cost of using more temp variables
-than are strictly necessary.
-
-* Fixed bug preventing access to builtin names from
-working. This should also have fixed the import
-statement, but I haven't tested it.
-
-* Fixed some errors in __Pyx_GetExcValue.
-
-* Fixed bug causing boolean expressions to malfunction
-sometimes.
index 04125961bfb4063bf1b973bc151caa0b937d7207..5389e238ed0c945e75533e810a9e07a021005f95 100644 (file)
@@ -1,16 +1,15 @@
-include MANIFEST.in README.txt INSTALL.txt CHANGES.txt ToDo.txt USAGE.txt
-include CHANGES_pyrex.txt COPYING.txt LICENSE.txt Makefile
+include MANIFEST.in README.txt INSTALL.txt ToDo.txt USAGE.txt
+include COPYING.txt LICENSE.txt Makefile
 recursive-include .hg *
 include .hgignore .hgtags
 include setup.py
-include bin/cython bin/update_references
+include bin/cython
 include cython.py
 include Cython/Compiler/Lexicon.pickle
 include Cython/Includes/*.pxd
 include Doc/*
 
 include Demos/*.pyx
-include Demos/*.pxd
 include Demos/*.py
 include Demos/callback/*
 include Demos/embed/*
index 33926819e87bec9262e9d02f2573b702f3407da4..c6d86c69fc921b5e63cff96c7a7b29398f514305 100644 (file)
--- a/ToDo.txt
+++ b/ToDo.txt
@@ -1,3 +1,6 @@
+See http://trac.cython.org/cython_trac and http://wiki.cython.org/enhancements
+
+
 -- The Original Pyrex Todo List --
 
 DONE - Pointer-to-function types.