| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
about this...
|
| |
|
| |
|
|
|
|
| |
Repaired that, and added appropriate tests for it to test_struct.py.
|
|
|
|
|
|
|
|
|
|
|
| |
Replaced PyLong_{As,From}{Unsigned,}LongLong guts with calls
to _PyLong_{As,From}ByteArray.
_testcapimodule.c:
Added strong tests of PyLong_{As,From}{Unsigned,}LongLong.
Fixes SF bug #432552 PyLong_AsLongLong() problems.
Possible bugfix candidate, but the fix relies on code added to longobject
to support the new q/Q structmodule format codes.
|
|
|
|
|
|
|
|
|
|
| |
functions. I intend to replace their guts with calls to the new
_PyLong_{As,From}ByteArray() functions, but AFAICT there's no tests for
them at all now; I also suspect PyLong_AsLongLong() isn't catching all
overflow cases, but without a std test to demonstrate that why should you
believe me <wink>.
Also added a raiseTestError() utility function.
|
|
|
|
| |
clarity. Should have no effect visible to callers.
|
| |
|
|
|
|
| |
still set to python2.0 ...
|
|
|
|
|
|
|
| |
Add a -F option similar to "cvs commit -F <file>".
Add a -t option to allow specifying the prefix to the directory into which
the docs should be unpacked (useful when I start trying out new styles for
the presentation).
|
| |
|
|
|
|
|
|
|
| |
references did not get updated when the notes were renumbered in a
previous update.
This fixes SF bug #432208.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This completes the q/Q project.
longobject.c _PyLong_AsByteArray: The original code had a gross bug:
the most-significant Python digit doesn't necessarily have SHIFT
significant bits, and you really need to count how many copies of the sign
bit it has else spurious overflow errors result.
test_struct.py: This now does exhaustive std q/Q testing at, and on both
sides of, all relevant power-of-2 boundaries, both positive and negative.
NEWS: Added brief dict news while I was at it.
|
|
|
|
|
|
| |
K. O'Brien on idle-dev.
(Should other bindings follow suit?)
|
|
|
|
|
|
|
|
|
|
| |
_PyLong_FromByteArray
_PyLong_AsByteArray
Untested and probably buggy -- they compile OK, but nothing calls them
yet. Will soon be called by the struct module, to implement x-platform
'q' and 'Q'.
If other people have uses for them, we could move them into the public API.
See longobject.h for usage details.
|
|
|
|
|
|
|
| |
functions -- these are not available on traditional Mac OS platforms.
Corrected the version annotations for the spawn*() functions and related
constants; these were added in Python 1.6, not 1.5.2.
|
| |
|
|
|
|
| |
in native mode on platforms that don't HAVE_LONG_LONG.
|
|
|
|
|
|
| |
not just to alignment. Spotted by Guido.
Bugfix candidate.
|
|
|
|
| |
on (some versions of ?) AIX.
|
|
|
|
|
|
|
| |
a reference to these functions and popen() from the "Process Management"
section.
Based on a suggestion from comp.lang.python.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
native mode, and only when config #defines HAVE_LONG_LONG. Standard mode
will eventually treat them as 8-byte ints across all platforms, but that
likely requires a new set of routines in longobject.c first (while
sizeof(long) >= 4 is guaranteed by C, there's nothing in C we can rely
on x-platform to hold 8 bytes of int, so we'll have to roll our own;
I'm thinking of a simple pair of conversion functions, Python long
to/from sized vector of unsigned bytes; that may be useful for GMP
conversions too; std q/Q would call them with size fixed at 8).
test_struct.py: In addition to adding some native-mode 'q' and 'Q' tests,
got rid of unused code, and repaired a non-portable assumption about
native sizeof(short) (it isn't 2 on some Cray boxes).
libstruct.tex: In addition to adding a bit of 'q'/'Q' docs (more needed
later), removed an erroneous footnote about 'I' behavior.
|
| |
|
|
|
|
|
|
|
| |
Patch from Michael Hundson.
format_exception_only() blew up when trying to report a SyntaxError
from a string input (line is None in this case, but it assumed a string).
Bugfix candidate.
|
| |
|
|
|
|
|
|
|
|
|
| |
Armin Rigo pointed out that the way the line-# table got built didn't work
for lines generating more than 255 bytes of bytecode. Fixed as he
suggested, plus corresponding changes to pyassem.py, plus added some
long overdue docs about this subtle table to compile.c.
Bugfix candidate (line numbers may be off in tracebacks under -O).
|
|
|
|
| |
This fixes bug #431557.
|
|
|
|
|
|
| |
case of objects with equal types which support tp_compare. Give
type objects a tp_compare function.
Also add c<0 tests before a few PyErr_Occurred tests.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
need to understand about the binary & decimal fp, so that representation
weirdness is documented somewhere. This makes it easier to repond to "bug"
reports caused by user confusion & ignorance of the issues.
This closes SF patch #426208.
|
|
|
|
| |
module is __main__ and once when module is imported.
|
|
|
|
|
|
| |
about setting up the dispatch table, and update the OldProfile and
HotProfile classes to the current implementations, showing the adjusted
construction for the dispatch table.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that should be used to cache an interned version of the event
string passed to the profile/trace function. call_trace() will
create interned strings and cache them in using the storage
specified by this additional parameter, avoiding a lot of string
object creation at runtime when using the profiling or tracing
functions.
All call sites are modified to pass the additional parameter, and four
static PyObject* variables are allocated to cache the interned string
objects.
This closes SF patch #431257.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ensure that all the default timers are called as functions, not an
expensive method wrapper around a variety of different functions.
Agressively avoid dictionary lookups.
Modify the dispatch scheme (Profile.trace_dispatch_*(), where * is not
'call', 'exception' or 'return') so that the callables dispatched to
are simple functions and not bound methods -- this reduces the number
of layers of Python call machinery that gets touched.
Remove a couple of duplicate imports from the "if __name__ == ..."
section.
This closes SF patch #430948.
|
|
|
|
|
| |
with the addition of the euro character.
Also added a few EDBDIC aliases.
|
| |
|
|
|
|
|
| |
use faster code for base64.encodestring (courtesy of Mr. Tim Peters)
and for base64.decodestring (courtesy of Anthony Baxter)
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Makefile and used by the setup.py script. Ignore it in .cvsignore;
remove it in "make clobber".
|
|
|
|
|
|
|
|
| |
Add reference to the documentation for the Python documentation markup.
Fixed up a couple of descriptions.
This closes SF bug #430627.
|
|
|
|
| |
Suggested by the comments in SF bug #430627.
|
| |
|
| |
|