cython-devel
changeset 1307:a916d70ed6f7
Cleanup manifest, auxiliary files.
| author | Robert Bradshaw <robertwb@math.washington.edu> |
|---|---|
| date | Mon Nov 10 11:04:30 2008 -0800 (20 months ago) |
| parents | 9d7ca66aadd7 |
| children | f97c31da48d7fadba50691dc |
| files | CHANGES_pyrex.txt MANIFEST.in ToDo.txt |
line diff
1.1 --- a/CHANGES_pyrex.txt Sat Nov 08 18:05:10 2008 -0800
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,1179 +0,0 @@
1.4 -0.9.4.1
1.5 --------
1.6 -
1.7 -Bug fixes:
1.8 -
1.9 - - Fixed indentation problem in Pyrex.Distutils.build_ext.
1.10 - [Oliver Grisel <ogrisel@nuxeo.com>]
1.11 -
1.12 -
1.13 -0.9.4
1.14 ------
1.15 -
1.16 -Improvements:
1.17 -
1.18 - - All use of lvalue casts has been eliminated, for
1.19 - compatibility with gcc4.
1.20 -
1.21 - - PyMODINIT_FUNC now used to declare the module init function.
1.22 -
1.23 - - Generated code should be compilable as either C or C++.
1.24 - When compiling as C++, "extern C" is used where appropriate
1.25 - to preserve linkage semantics. C++ functions still cannot
1.26 - be called yet.
1.27 -
1.28 - - An extension type can be made weak-referenceable by
1.29 - giving it a C attribute of type object called __weakref__.
1.30 -
1.31 - - Source files opened in universal newlines mode.
1.32 -
1.33 - - Support for public extension type C attributes of type
1.34 - long long and unsigned long long added (but not tested).
1.35 - [Sam Rushing <sam@rushing.nightmare.com>]
1.36 -
1.37 - - Distutils include directories now passed to Pyrex compiler.
1.38 - [Konrad Hinsen <khinsen@cea.fr>]
1.39 -
1.40 - - Integer constants with an "L" suffix are now allowed
1.41 - and are converted to Python long integers.
1.42 - [Rainer Deyke <rainerd@eldwood.com>]
1.43 -
1.44 - - A broken .c file is no longer left behind if there are
1.45 - compilation errors.
1.46 -
1.47 - - Using the result of a Python indexing or attribute access
1.48 - operation as a char * is no longer considered an error in
1.49 - most cases, as the former behaviour proved to be more
1.50 - annoying than helpful.
1.51 -
1.52 -Bug fixes:
1.53 -
1.54 - - Fixed problems with conversion from Python integers to
1.55 - C unsigned longs. Now use PyInt_AsUnsignedLongMask and
1.56 - PyInt_AsUnsignedLongLongMask instead of the PyLong_*
1.57 - functions (which only work on Python longs).
1.58 - [Wim Vree <wim@vree.be>]
1.59 -
1.60 - - C unsigned ints now converted to/from Python longs intead
1.61 - of Python ints to avoid overflow problems.
1.62 - [Heiko Wundram <me+pyrex@modelnine.org>]
1.63 -
1.64 - - Correct PyArg_ParseTuple format characters now used for
1.65 - unsigned types. [Jeff Bowden <jlb@houseofdistraction.com>]
1.66 -
1.67 - - Nonzero return value from a base class tp_traverse call
1.68 - is handled.
1.69 -
1.70 - - Taking sizeof an incomplete type caused a crash while
1.71 - producing an error message. [Drew Perttula <dperttula@pdi.com>]
1.72 -
1.73 - - If a module cimported itself, definitions of global variables
1.74 - were generated twice. [Parzival Herzog <parzp@shaw.ca>]
1.75 -
1.76 - - Distutils extension updated to handle changed signature of
1.77 - swig_sources(). [David M. Cooke <cookedm@physics.mcmaster.ca>]
1.78 -
1.79 - - Incorrect C code generated for a raw string containing a double
1.80 - quote preceded by a backslash. [Thomas Drake <bistroy@mac.com>]
1.81 -
1.82 - - Declaration of public C function with an exception value written
1.83 - to generated .pxi file without the except clause.
1.84 - [Robby Dermody <robbyd@u20.org>]
1.85 -
1.86 - - __delitem__ method of an extension type with no __setitem__
1.87 - did not get called. [Richard Boulton <richard@tartarus.org>]
1.88 -
1.89 - - A spurious Py_INCREF was generated when a return statement
1.90 - required a type test. [Jonathan Doda <jdoda@sympatico.ca>]
1.91 -
1.92 - - Casting a value to a function pointer and then immediately
1.93 - calling it generated a cast to a function instead of a cast
1.94 - to a function pointer. [Simon Burton <simon@arrowtheory.com>]
1.95 -
1.96 - - Py_TPFLAGS_HAVE_GC was not being set on an extension type that
1.97 - inherited from an external extension type that used GC but did
1.98 - not itself have any PyObject* attributes.
1.99 - [Michael Hordijk <hoffbrinkle@hotmail.com>]
1.100 -
1.101 - - A return statement inside a for statement leaked a reference
1.102 - to the loop's iterator.
1.103 - [Jürgen Kartnaller <j.kartnaller@robotech.at>]
1.104 -
1.105 - - Full module name now appears in __module__ attribute of classes
1.106 - and extension types, provided a correct dotted name is used
1.107 - for the .pyx file. [Giovanni Bajo <rasky@develer.com>]
1.108 -
1.109 - - Public extension type with no C attributes produced an
1.110 - invalid .pxi file. [Simon Burton <simon@arrowtheory.com>]
1.111 -
1.112 - - Using a dict constructor as the second operand of a boolean
1.113 - expression crashed the Pyrex compiler.
1.114 - [Stefan Behnel <behnel_ml@gkec.informatik.tu-darmstadt.de>]
1.115 -
1.116 - - A C declaration list ending with a comma resulted in invalid
1.117 - C code being generated. [Alex Coventry <alex_c@mit.edu>]
1.118 -
1.119 - - A raw string containing two consecutive backslashes produced
1.120 - incorrect C code. [Helmut Jarausch <jarausch@igpm.rwth-aachen.de>]
1.121 -
1.122 - - An error is reported if you attempt to declare a special
1.123 - method of an extension type using 'cdef' instead of 'def'.
1.124 - [Sam Rushing <srushing@ironport.com>]
1.125 -
1.126 -0.9.3
1.127 ------
1.128 -
1.129 -Enhancements:
1.130 -
1.131 - - Types defined with a ctypedef in a 'cdef extern from' block
1.132 - are now referred to by the typedef name in generated C code,
1.133 - so it is no longer necessary to match the type in the C
1.134 - header file exactly.
1.135 -
1.136 - - Conversion to/from unsigned long now done with
1.137 - PyLong_AsUnsignedLong and PyLong_FromUnsignedLong.
1.138 - [Dug Song <dugsong@monkey.org>]
1.139 -
1.140 - - A struct, union or enum definition in a 'cdef extern from'
1.141 - block may now be left empty (using 'pass'). This can be useful
1.142 - if you need to declare a variable of that type, but don't need
1.143 - to refer to any of its members.
1.144 -
1.145 - - More flexible about ordering of qualifiers such as 'long' and
1.146 - 'unsigned'.
1.147 - ["John (J5) Palmieri" <johnp@redhat.com>]
1.148 -
1.149 -
1.150 -Bug fixes:
1.151 -
1.152 - - Non-interned string literals used in a Python class
1.153 - definition did not work.
1.154 - [Atsuo Ishimoto <ishimoto@gembook.org>]
1.155 - [Andreas Kostyrka <andreas@kostyrka.org>]
1.156 -
1.157 - - Return types of the buffer interface functions for extension
1.158 - types have been corrected.
1.159 - [Dug Song <dugsong@monkey.org>]
1.160 -
1.161 - - Added 'static' to declarations of string literals.
1.162 - [Phil Frost <indigo@bitglue.com>]
1.163 -
1.164 - - Float literals are now copied directly to the C code as written,
1.165 - to avoid problems with loss of precision.
1.166 - [Mario Pernici <Mario.Pernici@mi.infn.it>]
1.167 -
1.168 - - Inheriting from an extension type with C methods defined in
1.169 - another Pyrex module did not work.
1.170 - [Itamar Shtull-Trauring <itamar@itamarst.org>]
1.171 -
1.172 -0.9.2.1
1.173 --------
1.174 -
1.175 -Bug fixes:
1.176 -
1.177 - - Corrected an import statement setup.py, and made it
1.178 - check for a unix platform in a more reliable way.
1.179 -
1.180 -0.9.2
1.181 ------
1.182 -
1.183 -Enhancements:
1.184 -
1.185 - - Names of Python global variables and attributes are now
1.186 - interned, and PyObject_GetAttr/SetAttr are used instead
1.187 - of PyObject_GetAttrString/SetAttrString. String literals
1.188 - which resemble Python identifiers are also interned.
1.189 -
1.190 - - String literals are now converted to Python objects only
1.191 - once instead of every time they are used.
1.192 -
1.193 - - NUL characters are now allowed in Python string literals.
1.194 -
1.195 - - Added some missing error checking code to the beginning
1.196 - of module init functions. It's unlikely the operations
1.197 - involved would ever fail, but you never know.
1.198 -
1.199 -Bug fixes:
1.200 -
1.201 - - Corrected some problems introduced by moving the Plex
1.202 - package.
1.203 -
1.204 -0.9.1.1
1.205 --------
1.206 -
1.207 -Bug fixes:
1.208 -
1.209 - - Corrected a problem in the setup.py (pyrexc script incorrectly
1.210 - named).
1.211 -
1.212 - - Updated the distutils extension to match changes in the
1.213 - Pyrex compiler calling interface.
1.214 -
1.215 - - Doing 'make clean' in Demos/callback was removing a little too
1.216 - much (that's why cheesefinder.c kept disappearing).
1.217 -
1.218 -0.9.1
1.219 ------
1.220 -
1.221 -Enhancements:
1.222 -
1.223 - - A C method can now call an inherited C method by the usual
1.224 - Python technique.
1.225 - [Jiba <jiba@tuxfamily.org>]
1.226 -
1.227 - - The __modname__ of a Python class is now set correctly.
1.228 - [Paul Prescod <paul@prescod.net>]
1.229 -
1.230 - - A MANIFEST.in file has been added to the distribution to
1.231 - facilitate building rpms.
1.232 - [contributed by Konrad Hinsen <hinsen@cnrs-orleans.fr>]
1.233 -
1.234 -Bug fixes:
1.235 -
1.236 - - Conditional code now generated to allow for the renaming of LONG_LONG
1.237 - to PY_LONG_LONG that occurred between Python 2.2 and 2.3.
1.238 -
1.239 - - Header files referenced in cimported modules were not being included.
1.240 - [Tom Popovich <tompopovich@aol.com>]
1.241 -
1.242 - - References to C functions and variables in a cimported module were
1.243 - not being recognised if made from within a local scope.
1.244 - [Tom Popovich <tompopovich@aol.com>]
1.245 -
1.246 - - Spurious declarations in code generated for a "finally" block.
1.247 - [Brandon Long <blong@fiction.net>]
1.248 -
1.249 - - Attempting to return a value from a __contains__ method didn't work.
1.250 - [Andreas Kostyrka <andreas@mtg.co.at>]
1.251 -
1.252 - - Incorrect code generated for an extension type with C methods
1.253 - inheriting from a base type with no C methods.
1.254 - [Robin Becker <robin@reportlab.com>]
1.255 -
1.256 - - Failure to report an error if a C method was defined in the
1.257 - implementation part of an extension type that was not declared
1.258 - in the corresponding definition part. Documentation also updated
1.259 - to explain that this is necessary.
1.260 - [Jiba <jiba@tuxfamily.org>]
1.261 -
1.262 - - Made it an error to forward-declare an extension type with
1.263 - a different base class specification from its subsequent
1.264 - definition.
1.265 - [Jiba <jiba@tuxfamily.org>]
1.266 -
1.267 - - C attributes of an extension type were not being propagated
1.268 - through more than one level of inheritance.
1.269 - [Jiba <jiba@tuxfamily.org>]
1.270 -
1.271 - - If a garbage collection occurred early enough in the __new__
1.272 - method of an extension type with Python-valued C attributes,
1.273 - a crash could occur in its tp_traverse function.
1.274 - [reported by Jiba <jiba@tuxfamily.org>]
1.275 - [fix suggested by Paul Prescod <paul@prescod.net>]
1.276 -
1.277 - - An empty vtable struct is no longer generated for extension
1.278 - types with no C methods.
1.279 - [Robin Becker <robin@reportlab.com>]
1.280 -
1.281 - - Memory was leaked in the sq_item function of an extension
1.282 - type with a __getitem__ method.
1.283 - [Atsuo Ishimoto <ishimoto@gembook.org>]
1.284 -
1.285 - - Code generated to work around a bug in some versions of Python
1.286 - 2.2 which fails to initialise the tp_free slot correctly in
1.287 - some circumstances.
1.288 - [Matthias Baas <baas@ira.uka.de>]
1.289 -
1.290 - - Compiler crash when defining an extension type with a base
1.291 - class specified by a dotted name.
1.292 - [Alain Pointdexter <alainpoint@yahoo.fr>]
1.293 -
1.294 - - Referencing an extension type defined in a cimported module
1.295 - at run time did not work correctly.
1.296 - [Alain Pointdexter <alainpoint@yahoo.fr>]
1.297 -
1.298 - - Incorrect object struct code generated for an extension type
1.299 - whose base class was defined in a .pxd file.
1.300 - [Alain Pointdexter <alainpoint@yahoo.fr>]
1.301 -
1.302 - - Redeclaring a type that wasn't previously an extension type
1.303 - as an extension type caused a compiler crash.
1.304 - [Scott Robinson <scott@tranzoa.com>]
1.305 -
1.306 - - Incorrect code was generated for return statements in a
1.307 - special method with no return value.
1.308 - [Gary Bishop <gb@cs.unc.edu>]
1.309 -
1.310 - - Single-line def statement did not work.
1.311 - [Francois Pinard <pinard@iro.umontreal.ca>]
1.312 -
1.313 -Modifications:
1.314 -
1.315 - - Only the last pathname component of the .pyx file is reported in
1.316 - backtraces now.
1.317 - [Bryan Weingarten <bryan.weingarten@pobox.com>]
1.318 -
1.319 - - Documentation corrected to remove the erroneous statement that
1.320 - extension classes can have a __del__ method.
1.321 - [Bryan Weingarten <bryan.weingarten@pobox.com>]
1.322 -
1.323 - - Note added to documentation explaining that it is not possible
1.324 - for an extension type's __new__ method to explicitly call the
1.325 - inherited __new__ method.
1.326 -
1.327 - - The version of Plex included with Pyrex is now installed
1.328 - as a subpackage of the Pyrex package, rather than as a
1.329 - top-level package, so as not to interfere with any other
1.330 - version of Plex the user may have installed.
1.331 -
1.332 -0.9
1.333 ----
1.334 -
1.335 -New features:
1.336 -
1.337 - - Extension types can have properties. See the new "Properties"
1.338 - section in the "Extension Types" page.
1.339 -
1.340 - - An extension type can inherit from a builtin type or another
1.341 - extension type. See "Subclassing" in the "Extension Types" page.
1.342 -
1.343 - - Extension types can have C methods, which can be overridden
1.344 - in derived extension types. See "C Methods" in the "Extension Types"
1.345 - page.
1.346 -
1.347 -Enhancements:
1.348 -
1.349 - - Conversion is now performed between C long longs and Python
1.350 - long integers without chopping to the size of a C long.
1.351 - Also the Python PY_LONG_LONG type is now used for long longs
1.352 - for greater portability.
1.353 -
1.354 -Bug fixes:
1.355 -
1.356 - - Names were sometimes being generated that were insufficiently
1.357 - unique in the presence of cimported declarations.
1.358 -
1.359 - - Changed the way the included filename table is declared from
1.360 - char *[] to char **, to stop MSVC from complaining about it
1.361 - having an unknown size.
1.362 - [Alexander A Naanou <alex_nanou@pochta.ru>]
1.363 -
1.364 - - Second argument of assert statement was not being coerced
1.365 - to a Python value.
1.366 - [Francois Pinard http://www.iro.umontreal.ca/~pinard]
1.367 -
1.368 - - Return statement without value wasn't accepted in some
1.369 - extension type special methods when it should have been.
1.370 - [Francois Pinard http://www.iro.umontreal.ca/~pinard]
1.371 -
1.372 - - Attempting to call a non-function C value crashed the
1.373 - compiler.
1.374 - [John J Lee <jjl@pobox.com>]
1.375 -
1.376 - - Functions declared as "except *" were not returning exceptions.
1.377 - [John J Lee <jjl@pobox.com>]
1.378 -
1.379 - - A syntax warning from Plex about assignment to None has
1.380 - been eliminated.
1.381 - [Gordon Williams <g_will@cyberus.ca>]
1.382 -
1.383 - - Public function declaration with empty argument list was
1.384 - producing (void) in .pxi file.
1.385 - [Michael P. Dubner <dubnerm@mindless.com>]
1.386 -
1.387 - - Incorrect error signalling code was being generated in the
1.388 - __hash__ special method of an extension type.
1.389 -
1.390 -
1.391 -0.8.1
1.392 ------
1.393 -
1.394 -Bug fixes:
1.395 -
1.396 - - Names of structs, unions and enums in external header
1.397 - files were getting mangled when they shouldn't have been.
1.398 - [Norman Shelley <Norman.Shelley@motorola.com>]
1.399 -
1.400 - - Modified distutils extension so that it will stop before
1.401 - compiling the C file if the Pyrex compiler reports errors.
1.402 - [John J Lee <jjl@pobox.com>]
1.403 -
1.404 -
1.405 -0.8
1.406 ----
1.407 -
1.408 -New features:
1.409 -
1.410 - - INCOMPATIBLE CHANGE: The type object of an external extension
1.411 - type is now imported at run time using the Python import
1.412 - mechanism. To make this possible, an 'extern' extension type
1.413 - declaration must DECLARE THE MODULE from which the extension
1.414 - type originates. See the new version of the "Extension Types"
1.415 - documentation for details.
1.416 -
1.417 - This change was made to eliminate the need for Pyrex to be
1.418 - told the C name of the type object, or for the Pyrex module
1.419 - to be linked against the object code providing the type object.
1.420 -
1.421 - You will have to update any existing external extension type
1.422 - declarations that you are using. I'm sorry about that, but it
1.423 - was too hard to support both the old and new ways.
1.424 -
1.425 - - Compile-time importing: A Pyrex module can now import declarations
1.426 - from another Pyrex module using the new 'cimport' statement. See
1.427 - the new section on "Sharing Declarations Between Pyrex Modules" in
1.428 - the documentation.
1.429 -
1.430 -Minor improvements:
1.431 -
1.432 - - An error is reported if you declare a struct, union or
1.433 - extension type using 'cdef' in one place and 'ctypedef'
1.434 - in another.
1.435 -
1.436 - - Struct, union and extension types can only be forward-
1.437 - declared using 'cdef', not 'ctypedef' (otherwise invalid
1.438 - C code would be generated).
1.439 -
1.440 - - The 'global' statement can be used at the module level to
1.441 - declare that a name is a module-level name rather than a
1.442 - builtin. This can be used to access module attributes such
1.443 - as __name__ that would otherwise be assumed to be builtins.
1.444 - [Pat Maupin <pmaupin@speakeasy.net>]
1.445 -
1.446 - - The 'assert' statement now accepts a second argument.
1.447 - [Francois Pinard <pinard@iro.umontreal.ca>]
1.448 -
1.449 -Bug fixes:
1.450 -
1.451 - - When using Python 2.3, "True" or "False" could sometimes
1.452 - turn up in generated code instead of "1" or "0".
1.453 - [Adam Hixson <chixson@ou.edu>]
1.454 -
1.455 - - Function return value not always converted to or from a
1.456 - Python object when it should have been.
1.457 -
1.458 - - Certain kinds of error in a function call expression
1.459 - could crash the compiler.
1.460 - ["Edward C. Jones" <edcjones@erols.com>]
1.461 -
1.462 - - Fixed memory leak in functions with * or ** args.
1.463 - [Alexander A Naanou <alex_nanou@pochtamt.ru>]
1.464 -
1.465 -
1.466 -0.7.1
1.467 ------
1.468 -
1.469 -Bug fixes:
1.470 -
1.471 - - Calling a function declared as returning an extension
1.472 - type could crash the compiler.
1.473 -
1.474 - - A function call with type errors in the argument list
1.475 - could crash the compiler.
1.476 -
1.477 - - An 'else' clause on a for-from statement could crash
1.478 - the compiler.
1.479 -
1.480 - - Incorrect casting code was generated when a generic
1.481 - object argument of a special method was declared as
1.482 - being of an extension type.
1.483 - [Phillip J. Eby <pje@telecommunity.com>]
1.484 -
1.485 - - A blank line that couldn't be interpreted wholly as
1.486 - a valid indentation sequence caused a syntax error.
1.487 - In particular, a formfeed character on an otherwise
1.488 - blank line wasn't accepted.
1.489 - [Francois Pinard <pinard@iro.umontreal.ca>]
1.490 -
1.491 - - Parallel assignments were incorrectly optimised.
1.492 -
1.493 - - A bare tuple constructor with an extra comma at the
1.494 - end of a line caused a syntax error.
1.495 -
1.496 -0.7
1.497 ----
1.498 -
1.499 -New features:
1.500 -
1.501 - - Attributes of extension types can be exposed to Python
1.502 - code, either read/write or read-only.
1.503 -
1.504 - - Different internal and external names can be specified
1.505 - for C entities.
1.506 -
1.507 - - None is a compile-time constant, and more efficient code
1.508 - is generated to reference it.
1.509 -
1.510 - - Command line options for specifying directories to
1.511 - search for include files.
1.512 -
1.513 -Enhancements:
1.514 -
1.515 - - More efficient code is generated for access to Python
1.516 - valued C attributes of extension types.
1.517 -
1.518 - - Cosmetic code improvement: Less casting back and forth
1.519 - between extension types and PyObject * when referencing
1.520 - C members of the object struct.
1.521 -
1.522 - - C arguments and variables declared as an extension type
1.523 - can take the value None.
1.524 -
1.525 - - Form feed characters are accepted as whitespace.
1.526 -
1.527 - - Function names in tracebacks are qualified with
1.528 - module name and class name.
1.529 -
1.530 -Bug fixes:
1.531 -
1.532 - - A sufficiently complex expression in a boolean context
1.533 - could cause code to be generated twice for the same
1.534 - subexpression.
1.535 -
1.536 - - Incorrect casting code was generated when passing an
1.537 - extension type to a function expecting a generic Python
1.538 - object.
1.539 -
1.540 - - Executable statements are now disallowed inside a
1.541 - cdef class block (previously they silently caused
1.542 - crazy C code to be generated).
1.543 -
1.544 - - Tracebacks should now report the correct filename for
1.545 - functions defined in files included with the 'include'
1.546 - statement.
1.547 -
1.548 - - The documentation incorrectly claimed that an extension
1.549 - type can't have a __del__ method. In fact, it can, and
1.550 - it behaves as expected.
1.551 -
1.552 -
1.553 -0.6.1
1.554 ------
1.555 -
1.556 -Bug fixes:
1.557 -
1.558 - - Fixed broken distutils extension.
1.559 -
1.560 -
1.561 -
1.562 -0.6
1.563 ----
1.564 -
1.565 -New features:
1.566 -
1.567 - - Command line options for reporting version number,
1.568 - requesting a listing file and specifying the name of
1.569 - the generated C file.
1.570 -
1.571 - - An 'include' statement allows inclusion of declarations
1.572 - from other Pyrex source files.
1.573 -
1.574 - - If there are any public declarations, a Pyrex include
1.575 - file is generated (as well as a .h file) containing
1.576 - declarations for them.
1.577 -
1.578 - - Extension types can be declared public, so their C
1.579 - attributes are visible to other Pyrex and C code.
1.580 -
1.581 - - Try-except statements can now have an 'else' clause.
1.582 - [Francois Pinard <pinard@iro.umontreal.ca>]
1.583 -
1.584 - - Multiple simple statements can be placed on one line
1.585 - separated by semicolons.
1.586 -
1.587 - - A suite consisting of a simple statement list can now
1.588 - be placed on the same line after the colon in most
1.589 - cases.
1.590 - [Francois Pinard <pinard@iro.umontreal.ca>]
1.591 -
1.592 - - The automatic coercion of a C string to a C char has
1.593 - been removed (it proved to be too error-prone).
1.594 - Instead, there is a new form of literal for C
1.595 - character constants: c'X'
1.596 -
1.597 - - The __get__ special method (used by descriptor objects)
1.598 - now allows for the possibility of the 2nd or 3rd
1.599 - arguments being NULL. Also the __set__ method has been
1.600 - split into two methods, __set__ and __delete__.
1.601 - [Phillip J. Eby <pje@telecommunity.com>]
1.602 -
1.603 -Bug fixes:
1.604 -
1.605 - - Values unpacked into a non-Python destination variable
1.606 - were not being converted before assignment.
1.607 - [Gareth Watts <gareth@omnipotent.net>]
1.608 -
1.609 - - Hex constants greater than 0x7fffffff caused compiler
1.610 - to crash. [Gareth Watts <gareth@omnipotent.net>]
1.611 -
1.612 - - Type slots are no longer statically initialised with
1.613 - extern function pointers, to avoid problems with
1.614 - some compilers. The hack in the distutils extension
1.615 - to work around this by compiling as C++ has been
1.616 - disabled. [Phillip J. Eby <pje@telecommunity.com>]
1.617 -
1.618 - - Fixed several more instances of the error-reporting
1.619 - routine being called with arguments in the wrong
1.620 - order. Hoping I've *finally* got all of them now...
1.621 -
1.622 - - Nested for-from loops used the same control variable.
1.623 - [Sebastien de Menten <sdementen@hotmail.com>]
1.624 -
1.625 - - Fixed some other error message related bugs.
1.626 - [Francois Pinard <pinard@iro.umontreal.ca>]
1.627 -
1.628 - - Assigning to slice didn't work.
1.629 - [Francois Pinard <pinard@iro.umontreal.ca>]
1.630 -
1.631 - - Temp variables were being declared as extension
1.632 - types and then being assigned PyObject *'s. All
1.633 - Python temp vars are now declared as PyObject *.
1.634 - [Francois Pinard <pinard@iro.umontreal.ca>]
1.635 -
1.636 -0.5
1.637 ----
1.638 -
1.639 -Bug fixes:
1.640 -
1.641 - - Algorithm for allocating temp variables redesigned
1.642 - to fix various errors concerning temp
1.643 - variable re-use.
1.644 - [Mark Rowe <bdash@gmx.net>]
1.645 -
1.646 - - Memory leak occured sometimes when an implicit
1.647 - type test was applied to the result of an
1.648 - expression.
1.649 - [christoph.wiedemann@daimlerchrysler.com]
1.650 -
1.651 - - __set__ method of extension types had wrong
1.652 - signature.
1.653 - [Josh Littlefield <joshl@cisco.com>]
1.654 -
1.655 -0.4.6
1.656 ------
1.657 -
1.658 -Bug fixes:
1.659 -
1.660 - - Indexing multi-dimensional C arrays didn't
1.661 - work.
1.662 - [Gary Dietachmayer <gary.dietachmayer@dsto.defence.gov.au>]
1.663 -
1.664 -
1.665 -0.4.5
1.666 ------
1.667 -
1.668 -New features:
1.669 -
1.670 - - There is now a 'public' declaration for
1.671 - making Pyrex-defined variables and functions
1.672 - available to external C code. A .h file is
1.673 - also generated if there are any public
1.674 - declarations.
1.675 -
1.676 -Enhancements:
1.677 -
1.678 - - Defining __len__/__getitem__ methods in an
1.679 - extension class fills sq_length/sq_item slots
1.680 - as well as mp_length/mp_subscript.
1.681 - [Matthias Baas <baas@ira.uka.de>]
1.682 -
1.683 - - The Distutils extension now allows .c files
1.684 - to be incorporated along with .pyx files.
1.685 - [Modification to Distutils extension contributed
1.686 - by Darrell Gallion <dgallion1@yahoo.com>.]
1.687 -
1.688 -Bug fixes:
1.689 -
1.690 - - Float literals without a decimal point
1.691 - work again now.
1.692 - [Mike Rovner <mike@bindkey.com>]
1.693 - [Peter Lepage <gpl@mail.lns.cornell.edu>]
1.694 -
1.695 - - Compiler crashed if exception value didn't
1.696 - match function return type.
1.697 - [Michael JasonSmith <mpj17@smtphost.canterbury.ac.nz>]
1.698 -
1.699 - - The setup.py file should now install the
1.700 - Lexicon.pickle file in the right place.
1.701 - [Patch supplied by David M. Cooke
1.702 - <cookedm@arbutus.physics.mcmaster.ca>]
1.703 -
1.704 - - Compiler crashed when compiling a C function that
1.705 - returned an extension type.
1.706 - [David M. Cooke
1.707 - <cookedm@arbutus.physics.mcmaster.ca>]
1.708 -
1.709 - - Anonymous enum types did not have C code
1.710 - suppressed inside an extern-from block.
1.711 - [Matthew Mueller <donut@azstarnet.com>]
1.712 -
1.713 -
1.714 -0.4.4
1.715 ------
1.716 -
1.717 -Enhancements:
1.718 -
1.719 - - Tracebacks now extend into Pyrex function
1.720 - calls and show line numbers in the Pyrex
1.721 - source file.
1.722 -
1.723 - - Syntax for float literals made more lenient
1.724 - (no longer requires digits both before and
1.725 - after the point).
1.726 - [Peter Lepage <gpl@mail.lns.cornell.edu>]
1.727 -
1.728 - - Method calls can be made on string literals
1.729 - (e.g. ",".join(x)).
1.730 - [pedro_rodriguez@club-internet.fr]
1.731 -
1.732 -Bug fixes:
1.733 -
1.734 - - Incorrect refcount code generated when a
1.735 - Python function needing argument type tests
1.736 - had local Python variables.
1.737 - [Matthias Baas <baas@ira.uka.de>]
1.738 -
1.739 - - 'self' parameter of __getitem__ method of
1.740 - extension type had wrong implicit type.
1.741 - [Peter Lepage <gpl@mail.lns.cornell.edu>]
1.742 -
1.743 - - Repaired breakage introduced by trying to
1.744 - allow an empty parameter list to be written
1.745 - as (void). No longer attempting to allow
1.746 - this (too hard to parse correctly).
1.747 - [Peter Lepage <gpl@mail.lns.cornell.edu>]
1.748 -
1.749 - - Found bug in Plex 1.1.2 which was the *real*
1.750 - cause of the two-newlines-in-a-row problem.
1.751 - Removed the Opt(Eol)+Str("\n") hacks in
1.752 - the scanner which were working around this
1.753 - before.
1.754 - [pedro_rodriguez@club-internet.fr]
1.755 -
1.756 - - __call__ special method of extension types
1.757 - had wrong signature.
1.758 - [Peter Lepage <gpl@mail.lns.cornell.edu>]
1.759 -
1.760 -
1.761 -0.4.3
1.762 ------
1.763 -
1.764 -New language features:
1.765 -
1.766 - - For-from loop for iterating over integer
1.767 - ranges, using pure C loop where possible.
1.768 -
1.769 -Enhancements:
1.770 -
1.771 - - sizeof() can now be applied to types as
1.772 - well as variables.
1.773 -
1.774 - - Improved handling of forward-declared
1.775 - extension types.
1.776 -
1.777 -Bug fixes:
1.778 -
1.779 - - Two newlines in a row in a triple quoted
1.780 - string caused a parse error on some
1.781 - platforms.
1.782 - [Matthias Baas <baas@ira.uka.de>]
1.783 -
1.784 - - Fixed problem with break and continue in
1.785 - the else-clause of a loop.
1.786 -
1.787 -
1.788 -0.4.2
1.789 ------
1.790 -
1.791 -New language features:
1.792 -
1.793 - - C functions can be declared as having an
1.794 - exception return value, which is checked
1.795 - whenever the function is called. If an
1.796 - exception is detected inside a C function
1.797 - for which no exception value is declared,
1.798 - a warning message is printed and the
1.799 - exception is cleared.
1.800 -
1.801 - - Cascaded assignments (i.e. a = b = c
1.802 - are now supported.
1.803 -
1.804 - - Anonymous enum declarations are allowed,
1.805 - for when you just want to declare constants.
1.806 -
1.807 - - The C types "long long" and "long double"
1.808 - are now understood. Also, "int" is optional
1.809 - after "short" or "long".
1.810 -
1.811 -Enhancements:
1.812 -
1.813 - - A * argument in a function call can now be
1.814 - any sequence, not just a tuple.
1.815 -
1.816 - - A C char* or char[] will be turned into
1.817 - a char by taking its first character if
1.818 - used in a context where a char is required,
1.819 - thus allowing a string literal to be used as
1.820 - a char literal.
1.821 -
1.822 - - C string * C int or vice versa is now
1.823 - interpreted as Python string replication.
1.824 -
1.825 - - Function arguments are checked for void or
1.826 - incomplete type.
1.827 -
1.828 -Bug fixes:
1.829 -
1.830 - - Non-external extension types show up in the
1.831 - module dict once more (this got broken in
1.832 - 0.4.1).
1.833 -
1.834 - - A spurious decref has been removed from the
1.835 - runtime support code for the "import" statement.
1.836 - Hopefully this will prevent the crashes some
1.837 - people have been experiencing when importing
1.838 - builtin modules.
1.839 - [Mathew Yeates <mathew@comma.jpl.nasa.gov>]
1.840 -
1.841 -0.4.1
1.842 ------
1.843 -
1.844 -New language features:
1.845 -
1.846 - - "ctypedef struct/union/enum/class" statements
1.847 - added, for use in extern-from blocks when a
1.848 - header file uses a ctypedef to declare a
1.849 - tagless struct, union or enum type.
1.850 -
1.851 - - "pass" allowed in an extern-from block.
1.852 -
1.853 - - "cdef extern from *" for when you don't want
1.854 - to specify an include file name.
1.855 -
1.856 - - Argument names may be omitted in function
1.857 - signatures when they're not needed.
1.858 -
1.859 - - New reserved word NULL for the null C pointer.
1.860 -
1.861 -Compiler enhancements:
1.862 -
1.863 - - Lexicon is now picked in binary format, so
1.864 - startup should be much faster on slower
1.865 - machines.
1.866 -
1.867 - - If Pyrex decides to rebuild the lexicon and
1.868 - then finds that it can't write a pickle file,
1.869 - it now prints a warning and carries on
1.870 - instead of crashing.
1.871 -
1.872 - - Chat about hash codes and lexicon pickling
1.873 - now turned off by default except when creating
1.874 - a new lexicon (which ought never happen now
1.875 - unless you change the scanner).
1.876 -
1.877 -Bug fixes:
1.878 -
1.879 - - Modified the runtime support code for "import"
1.880 - statements, hopefully fixing problem with using
1.881 - a Pyrex module in conjunction with py2exe.
1.882 -
1.883 - - DL_EXPORT now used in both the prototype and
1.884 - definition of the module init function.
1.885 -
1.886 - - Exception state is now saved and restored around
1.887 - calls to an extension type __dealloc__ method,
1.888 - to avoid screwing up if the object is deallocated
1.889 - while an exception is being propagated.
1.890 -
1.891 - - Making an attribute reference to a method of
1.892 - an extension type caused a compiler crash.
1.893 -
1.894 - - Doc string in new-style class definition
1.895 - caused a run-time error.
1.896 -
1.897 - - Insufficient parentheses were put around C type
1.898 - casts.
1.899 -
1.900 - - Constructors for extension types are now read-only
1.901 - C global variables instead of entries in the
1.902 - module dict. This change was needed to prevent
1.903 - Numeric from blowing up due to touching its
1.904 - typeobject before import_numeric() could be called.
1.905 -
1.906 -0.4
1.907 ----
1.908 -
1.909 -New features:
1.910 -
1.911 - - "cdef extern from" statement allows inclusion
1.912 - of C header files to be specified, solving
1.913 - a number of problems including:
1.914 - - Clashes between Pyrex and C declarations,
1.915 - due to "const" and other reasons
1.916 - - Windows-specific features required in
1.917 - function declarations
1.918 - - Helping deal with types such as "size_t"
1.919 - - Helping deal with functions defined as
1.920 - macros
1.921 -
1.922 - - Access to internals of pre-existing extension
1.923 - types is now possible by placing an extension
1.924 - type declaration inside a "cdef extern from"
1.925 - block.
1.926 -
1.927 -Bug fixes:
1.928 -
1.929 - - Error not reported properly when passing
1.930 - wrong number of args to certain special
1.931 - methods of extension types.
1.932 - [Mitch Chapman <mitchchapman@earthlink.net>]
1.933 -
1.934 - - Compile-time crash when defining an extension
1.935 - type with a __hash__ method.
1.936 -
1.937 -Minor enhancements:
1.938 -
1.939 - - Hashing of the scanner source file made more
1.940 - platform-independent, making spurious regeneration
1.941 - of the pickle less likely.
1.942 -
1.943 -
1.944 -0.3.4
1.945 ------
1.946 -
1.947 -Bug fixes:
1.948 -
1.949 - - Runtime crash when using * or ** args in
1.950 - a method of an extension type fixed.
1.951 - [Matthew Mueller <donut@azstarnet.com>]
1.952 -
1.953 - - Compiler crash when using default argument
1.954 - values in a method of a Python class.
1.955 - [Mike Rovner <mike@bindkey.com>]
1.956 -
1.957 -Enhancements:
1.958 -
1.959 - - Type slots filled with functions from outside
1.960 - the extension module are now initialised dynamically,
1.961 - which should eliminate at least some of the
1.962 - "initialiser is not constant" problems experienced
1.963 - on Windows.
1.964 - [Marek Baczek <imbaczek@poczta.fm>]
1.965 -
1.966 - - On Windows, __declspec(dllexport) is now used for
1.967 - the module init func declaration (or should be --
1.968 - I haven't tested this).
1.969 - [Marek Baczek <imbaczek@poczta.fm>]
1.970 -
1.971 - - The compiler shouldn't attempt to rewrite the
1.972 - Lexicon.pickle file unless the source has been
1.973 - changed (hashing is used now instead of comparing
1.974 - timestamps). So there should be no problem any more
1.975 - with installing Pyrex read-only.
1.976 - [fawcett@uwindsor.ca]
1.977 -
1.978 -0.3.3
1.979 ------
1.980 -
1.981 -Bug fixes:
1.982 -
1.983 -* A void * can be assigned from any other
1.984 -pointer type.
1.985 -[piers@cs.su.oz.au]
1.986 -
1.987 -* File names in error messages no longer
1.988 -quoted (this was apparently confusing some
1.989 -editors).
1.990 -[donut@azstarnet.com]
1.991 -
1.992 -* Reference to a struct member which is an
1.993 -array is coerced to a pointer.
1.994 -[donut@azstarnet.com]
1.995 -
1.996 -* Default argument values did not work
1.997 -in methods of an extension type.
1.998 -[donut@azstarnet.com]
1.999 -
1.1000 -* Single or double quote characters in a
1.1001 -triple-quoted string didn't work.
1.1002 -[donut@azstarnet.com]
1.1003 -
1.1004 -* Using *args in a function definition
1.1005 -sometimes caused a crash at runtime.
1.1006 -[donut@azstarnet.com]
1.1007 -
1.1008 -* A hack is included which tries to make
1.1009 -functions in Python.h which use 'const'
1.1010 -accessible from Pyrex. But it doesn't
1.1011 -work on all platforms. Thinking about a
1.1012 -better solution.
1.1013 -
1.1014 -
1.1015 -New features:
1.1016 -
1.1017 -* Comment containing Pyrex version number
1.1018 -and date/time at top of generated C file.
1.1019 -[baas@ira.uka.de]
1.1020 -
1.1021 -
1.1022 -0.3.2
1.1023 ------
1.1024 -
1.1025 -Bug fixes:
1.1026 -
1.1027 -* The & operator works again.
1.1028 -[matthias.oberlaender@daimlerchrysler.com]
1.1029 -[baas@ira.uka.de]
1.1030 -
1.1031 -* The & operator had incorrect precedence.
1.1032 -
1.1033 -* "SystemError: 'finally' pops bad exception"
1.1034 -under some circumstances when raising an
1.1035 -exception. [baas@ira.uka.de]
1.1036 -
1.1037 -* Calling a Python function sometimes leaked
1.1038 -a reference.
1.1039 -
1.1040 -* Crash under some circumstances when casting
1.1041 -a Python object reference to a C pointer type.
1.1042 -[mpj17@cosc.canterbury.ac.nz]
1.1043 -
1.1044 -* Crash when redeclaring a function.
1.1045 -[baas@ira.uka.de]
1.1046 -
1.1047 -* Crash when using a string constant inside
1.1048 -a Python class definition.
1.1049 -[mike@bindkey.com]
1.1050 -
1.1051 -* 2-element slice indexing expressions.
1.1052 -[mike@bindkey.com]
1.1053 -
1.1054 -* Crash when encountering mixed tabs and
1.1055 -spaces.
1.1056 -[mike@bindkey.com]
1.1057 -
1.1058 -New features:
1.1059 -
1.1060 -* A wider variety of constant expressions is
1.1061 -now accepted for enum values, array
1.1062 -dimensions, etc.
1.1063 -[mike@bindkey.com]
1.1064 -
1.1065 -
1.1066 -0.3.1
1.1067 ------
1.1068 -
1.1069 -New features:
1.1070 -
1.1071 -* More special methods for extension types:
1.1072 -__delitem__, __delslice__, __getattr__,
1.1073 -__setattr__, __delattr__
1.1074 -
1.1075 -* Module-level variable of a Python object type
1.1076 -declared with 'cdef' is private to the module, and
1.1077 -held in a C variable instead of the module dict.
1.1078 -
1.1079 -* External C functions with variable argument lists
1.1080 -can be declared and called.
1.1081 -
1.1082 -* Pyrex-defined Python functions can have default
1.1083 -argument values and * and ** arguments, and can be
1.1084 -called with keyword arguments.
1.1085 -
1.1086 -* Pointer-to-function types can be declared.
1.1087 -
1.1088 -* Pyrex now supports a declaration syntax that
1.1089 -C doesn't! Example:
1.1090 -
1.1091 - cdef (int (*)()) foo() # function returning a function ptr
1.1092 -
1.1093 -* There is now a ctypedef statement.
1.1094 -
1.1095 -* Extension types can now be forward-declared.
1.1096 -
1.1097 -* All permutations of (non-Unicode) string literals
1.1098 -and escape codes should work now.
1.1099 -
1.1100 -* Hex and octal integer literals.
1.1101 -
1.1102 -* Imaginary number literals.
1.1103 -
1.1104 -* Docstrings are now supported.
1.1105 -
1.1106 -Bug fixes:
1.1107 -
1.1108 -* Type tests are performed when using a Python object
1.1109 -in a context requiring a particular extension type.
1.1110 -
1.1111 -* Module-level variable holding the type object
1.1112 -of an extension type had incorrect type.
1.1113 -
1.1114 -0.3
1.1115 ----
1.1116 -
1.1117 -New features:
1.1118 -
1.1119 -* Extension types! Yay!
1.1120 -
1.1121 -0.2.2
1.1122 ------
1.1123 -
1.1124 -Bug fixes:
1.1125 -
1.1126 -* Fixed error message generation again after a previous
1.1127 -bug was accidentally re-indroduced.
1.1128 -
1.1129 -* Removed the declaration of isspace() from the code
1.1130 -generated for print statement support (it's not needed
1.1131 -and was conflicting with the system-supplied one on
1.1132 -some platforms).
1.1133 -
1.1134 -0.2
1.1135 ----
1.1136 -
1.1137 -New features:
1.1138 -
1.1139 -* Executable statements are now allowed at the
1.1140 -top level of a module.
1.1141 -
1.1142 -* Python class definitions are now supported, with
1.1143 -the following limitations:
1.1144 -
1.1145 - - Class definitions are only allowed at the top
1.1146 - level of a module, not inside a control structure
1.1147 - or function or another class definition.
1.1148 -
1.1149 - - Assigning a Pyrex-defined Python function to a
1.1150 - class attribute outside of the class definition
1.1151 - will not create a method (because it's not an
1.1152 - interpreted Python function and therefore
1.1153 - won't trigger the bound-method creation magic).
1.1154 -
1.1155 - - The __metaclass__ mechanism and the creation of
1.1156 - new-style classes is not (yet) supported.
1.1157 -
1.1158 -* Casting between Python and non-Python types is
1.1159 -better supported.
1.1160 -
1.1161 -Bug fixes:
1.1162 -
1.1163 -* Fixed bug preventing for-loops from working.
1.1164 -
1.1165 -
1.1166 -0.1.1
1.1167 ------
1.1168 -
1.1169 -* I've discovered a flaw in my algorithm for releasing
1.1170 -temp variables. Fixing this properly will require some
1.1171 -extensive reworking; I've put in a hack in the meantime
1.1172 -which should work at the cost of using more temp variables
1.1173 -than are strictly necessary.
1.1174 -
1.1175 -* Fixed bug preventing access to builtin names from
1.1176 -working. This should also have fixed the import
1.1177 -statement, but I haven't tested it.
1.1178 -
1.1179 -* Fixed some errors in __Pyx_GetExcValue.
1.1180 -
1.1181 -* Fixed bug causing boolean expressions to malfunction
1.1182 -sometimes.
2.1 --- a/MANIFEST.in Sat Nov 08 18:05:10 2008 -0800
2.2 +++ b/MANIFEST.in Mon Nov 10 11:04:30 2008 -0800
2.3 @@ -1,16 +1,15 @@
2.4 -include MANIFEST.in README.txt INSTALL.txt CHANGES.txt ToDo.txt USAGE.txt
2.5 -include CHANGES_pyrex.txt COPYING.txt LICENSE.txt Makefile
2.6 +include MANIFEST.in README.txt INSTALL.txt ToDo.txt USAGE.txt
2.7 +include COPYING.txt LICENSE.txt Makefile
2.8 recursive-include .hg *
2.9 include .hgignore .hgtags
2.10 include setup.py
2.11 -include bin/cython bin/update_references
2.12 +include bin/cython
2.13 include cython.py
2.14 include Cython/Compiler/Lexicon.pickle
2.15 include Cython/Includes/*.pxd
2.16 include Doc/*
2.17
2.18 include Demos/*.pyx
2.19 -include Demos/*.pxd
2.20 include Demos/*.py
2.21 include Demos/callback/*
2.22 include Demos/embed/*
