Neal Norwitz [Sun, 23 Feb 2003 23:28:15 +0000 (23:28 +0000)]
Fix SF bug #691793, Python 2.3a2 build fails on Tru64
Need to make sure that preprocessor directives start in first column.
This means we can't indent code which has preprocessor directives,
nor have a space between [ #include for example.
Jack Jansen [Sun, 23 Feb 2003 23:23:47 +0000 (23:23 +0000)]
Added a linkmodel attribute, showing how Python was built. This is so
packages can check that extension modules are built for the right type
of python. Current values can be static, framework, shared and cfm (for
completeness, for MacPyton-OS9).
Closes bug #691889. The reporter suggests backporting this to 2.2.3
and I think I agree.
Jack Jansen [Sun, 23 Feb 2003 22:59:01 +0000 (22:59 +0000)]
Disabled -prebind again when linking the interpreter on MacOSX. It caused
a serious slowdown when loading dynamic modules that depend on large shared
libraries or frameworks.
Guido van Rossum [Fri, 21 Feb 2003 22:02:54 +0000 (22:02 +0000)]
Implementing the salient parts of __reduce_ex__ in C.
This still falls back to helpers in copy_reg for:
- pickle protocols < 2
- calculating the list of slot names (done only once per class)
- the __newobj__ function (which is used as a token but never called)
Tim Peters [Fri, 21 Feb 2003 20:14:35 +0000 (20:14 +0000)]
SF bug 690622: test_cpickle overflows stack on MacOS9.
test_nonrecursive_deep(): Reduced nesting depth to 60.
Not a bugfix candidate. 2.3 increased the number of stack frames
needed to pickle a list (in order to get implement the "list
batching" unpickling memory optimization new in 2.3).
Walter Dörwald [Fri, 21 Feb 2003 18:18:49 +0000 (18:18 +0000)]
Use 'ISO8859-1' instead of 'ASCII' when testing whether byteswapping
is required for the chosen internal encoding in the init function,
as this seems to have a better chance of working under Irix and
Solaris.
Also change the test character from '\x01' to '0'.
Jack Jansen [Fri, 21 Feb 2003 16:31:11 +0000 (16:31 +0000)]
Added a method WMAvailable(). This will return True if and only if there
is a window manager and we can connect to it, i.e. if it is safe to try
and put up windows.
As a side effect the first call will make the current process frontmost.
Walter Dörwald [Fri, 21 Feb 2003 12:53:50 +0000 (12:53 +0000)]
Port all string tests to PyUnit and share as much tests
between str, unicode, UserString and the string module
as possible. This increases code coverage in stringobject.c
from 83% to 86% and should help keep the string classes
in sync in the future. From SF patch #662807
time.sleep(1) sometimes delays for fractionally less than a second
resulting in too short of an interval for C's time.time() function
to create a distinct seed.
Thomas Heller [Thu, 20 Feb 2003 20:32:11 +0000 (20:32 +0000)]
Strange control flow in PyInt_AsLong. When nb_int is called inside
the PyInt_AsLong function, and this returns a long, the value is first
retrieved with PyLong_AsLong, but afterwards overwritten by a call to
PyInt_AS_LONG.
As far as I can tell PyEval_GetOwner was removed in 1997 (when it was
called something else!). I can't imagine removing the prototype is
going to hurt, but put it back if *you* can.
Guido van Rossum [Wed, 19 Feb 2003 17:50:16 +0000 (17:50 +0000)]
The connect timeout code wasn't working on Windows.
Rather than trying to second-guess the various error returns
of a second connect(), use select() to determine whether the
socket becomes writable (which means connected).
Guido van Rossum [Wed, 19 Feb 2003 15:25:10 +0000 (15:25 +0000)]
- sys.path[0] (the directory from which the script is loaded) is now
turned into an absolute pathname, unless it is the empty string.
(SF patch #664376, by Skip Montanaro.)
Andrew MacIntyre [Wed, 19 Feb 2003 12:51:34 +0000 (12:51 +0000)]
OS/2 has no concept of file ownership, like DOS & MS Windows version
prior to NT. EMX has a number of Posix emulation routines, including
geteuid() but lacks chown(), so silently skip trying to actually set
a file ownership when extracting a file from a tar archive.
Jack Jansen [Wed, 19 Feb 2003 10:37:08 +0000 (10:37 +0000)]
Use pythonw as the default interpreter also for .py scripts (overridable
by the user), as this will cause the least surprises with scripts
brought over from other unixen. Suggested by Kevin Altis.
Guido van Rossum [Wed, 19 Feb 2003 03:19:29 +0000 (03:19 +0000)]
PyObject_Generic{Get,Set}Attr:
Don't access tp_descr_{get,set} of a descriptor without checking the
flag bits of the descriptor's type. While we know that the main type
(the type of the object whose attribute is being accessed) has all the
right flag bits (or else PyObject_Generic{Get,Set}Attr wouldn't be
called), we don't know that for its class attributes!
Tim Peters [Wed, 19 Feb 2003 02:44:12 +0000 (02:44 +0000)]
Reverted whitespace normalization on this file. I should really change
this thing so it doesn't rely on being unnormalized. (That's the
editorial "I", if anyone's listening <wink>.)
Jack Jansen [Tue, 18 Feb 2003 23:29:46 +0000 (23:29 +0000)]
Added an argv_emulation option (command line option: --argv or -a) which
creates the sys.argv emulation wrapper for droplets. Also updates
the plist, if needed, and the includedModules (but this last is untested).
Guido van Rossum [Tue, 18 Feb 2003 22:05:12 +0000 (22:05 +0000)]
Introducing __reduce_ex__, which is called with a protocol number argument
if it exists in preference over __reduce__. Now Tim can go implement this
in cPickle.c.
Tim Peters [Tue, 18 Feb 2003 20:50:45 +0000 (20:50 +0000)]
save_global(): Trying to resolve module.name can fail for two
reasons: importing module can fail, or the attribute lookup
module.name can fail. We were giving the same error msg for
both cases, making it needlessly hard to guess what went wrong.
These cases give different error msgs now.
Guido van Rossum [Tue, 18 Feb 2003 19:22:22 +0000 (19:22 +0000)]
The recent changes to super(), in particular supercheck(), broke when
using super() for an instance in a metaclass situation. Because the
class was a metaclass, the instance was a class, and hence the
PyType_Check() branch was taken. But this branch didn't apply. Make
it so that if this branch doesn't apply, the other branch is still
tried. All tests pass.
Jeremy Hylton [Tue, 18 Feb 2003 15:06:17 +0000 (15:06 +0000)]
Copy the trace module here from Tools/scripts.
There are some problems with this module, but the tool works for
simple tasks and no one else has volunteered a better code coverage
tool. Should cleanup and document before the beta release.
Neal Norwitz [Tue, 18 Feb 2003 03:37:49 +0000 (03:37 +0000)]
Fix 64-bit problem, ParseTuple("i") needs C ints; ("l") needs C longs.
Use "l" as that *probably* makes more sense (at least to me it does :-)
And the test passes on the alpha.