Add '#include <netinet/tcp.h>'
"man tcp" on Solaris says that TCP_NODELAY is defined in
netinet/tcp.h, and the Open Groups Unix98 spec agrees
(http://www.opengroup.org/onlinepubs/009619199/ninettcp.htm).
Greg Ward [Fri, 31 Mar 2000 16:53:42 +0000 (16:53 +0000)]
Simplified Thomas Heller's registry patch: just assign all those
HKEY_* and Reg* names once, rather than having near-duplicate code
in the two import attempts.
Also dropped the leading underscore on all the imported symbols,
as it's not appropriate (they're not local to this module).
Added Python interface to Expat XML parser.
The Setup.in entry is sort of a lie; it links with -lexpat, but
Expat's Makefile doesn't actually build a libexpat.a. I'll send
Expat's author a patch to do that; if he doesn't accept it, this
rule will have to list Expat's object files (ick!), or have a
comment explaining how to build a .a file.
Greg Ward [Fri, 31 Mar 2000 05:08:50 +0000 (05:08 +0000)]
Rename 'formats' option to 'format', and remove the ability to generate
multiple built distributions in one run -- it seemed a bit dodgy and I'd
rather remove it than try to beat it into submission right now.
Greg Ward [Fri, 31 Mar 2000 03:50:23 +0000 (03:50 +0000)]
Patch (mostly) from Thomas Heller for building on Windows:
* build to "Debug" or "Release" temp directory
* put linker turds (.lib and .exp files) in the build temp directory
* tack on "_d" to extensions built with debugging
* added 'get_ext_libname()' help in putting linker turds to temp dir
Also, moved the code that simplifies None to empty list for a bunch
of options to 'finalize_options()' instead of 'run()'.
Guido van Rossum [Fri, 31 Mar 2000 03:29:39 +0000 (03:29 +0000)]
Add back an obscure "feature" to the Obj version of Tkapp_Call(): a
None in an argument list *terminates* the argument list: further
arguments are *ignored*. This isn't kosher, but too much code relies
on it, implicitly. For example, IDLE was pretty broken.
Greg Ward [Fri, 31 Mar 2000 03:05:18 +0000 (03:05 +0000)]
Added 'get_name()' and 'get_full_name()' methods to Distribution.
Simplified 'Command.get_peer_option()' a tad -- just call 'find_peer()'
to get the peer command object.
Updated 'Command.copy_file()' to take a 'link' parameter, just like
'util.copy_file()' does now.
Added 'Command.make_archive()' to wrap 'util.make_archive()'.
Greg Ward [Fri, 31 Mar 2000 03:02:22 +0000 (03:02 +0000)]
Added 'create_tree()'.
Changes to 'copy_file()':
* added support for making hard links and symlinks
* noted that it silently clobbers existing files when copying, but
blows up if destination exists when linking -- hmmm...
* error message tweak
Added 'base_name' parameter to 'make_tarball()' and 'make_zipfile()'.
Added 'make_archive()' -- wrapper around 'make_tarball()' or
'make_zipfile()' to take care of the archive "root directory".
Greg Ward [Fri, 31 Mar 2000 02:56:34 +0000 (02:56 +0000)]
The 'bdist_dumb' command, the first worker bee for use by 'bdist'. This is
the command that actually creates "dumb" binary distributions, ie.
tarballs and zip files that you just unpack under <prefix> or <exec-prefix>.
Very limited, but it's a start.
Greg Ward [Fri, 31 Mar 2000 02:55:12 +0000 (02:55 +0000)]
The 'bdist' command, for creating "built" (binary) distributions.
Initial revision is pretty limited; it only knows how to generate "dumb"
binary distributions, i.e. a tarball on Unix and a zip file on Windows.
Also, due to limitations in the installation code, it only knows how to
distribute Python library code. But hey, it's a start.
Greg Ward [Fri, 31 Mar 2000 02:50:04 +0000 (02:50 +0000)]
Changed to use the new 'has_pure_modules()' and 'has_ext_modules()' methods
provided by Distribution.
Cosmetic and error message tweaks.
Simplified 'make_release_tree()':
* extracted 'distutils.util.create_tree()'
* don't have to do hard-linking ourselves -- it's now handled by
'distutils.util.copy_file()' (although the detection of
whether hard linking is available still needs to be factored out)
Removed 'make_tarball()' and 'make_zipfile()' entirely -- their role
is now amply filled by 'distutils.util.make_archive()'.
Simplified 'make_distribution()':
* use Distribution's new 'get_full_name()' method
* use 'make_archive()' instead of if/elif/.../else on the archive format
Guido van Rossum [Fri, 31 Mar 2000 01:17:07 +0000 (01:17 +0000)]
Hacked for Win32 by Mark Hammond.
Reformatted for 8-space tabs and fitted into 80-char lines by GvR.
Mark writes:
* the Win32 version now accepts the same args as the Unix version.
The win32 specific "tag" param is now optional. The end result is
that the exact same test suite runs on Windows (definately a worthy
goal!).
* I changed the error object. All occurences of the error, except
for 1, corresponds to an underlying OS error. This one was changed
to a ValueError (a better error for that condition), and the module
error object is now simply EnvironmentError. All win32 error
routines now call the new Windows specific error handler.
Guido van Rossum [Fri, 31 Mar 2000 00:51:37 +0000 (00:51 +0000)]
Don't use the object call interface in Tk 8.0 -- the EvalObj* API
changed from 8.0 to 8.1 and I see no big reason to use objects in 8.0.
At least now it works again with all versions from 8.0 - 8.3.
Jeremy Hylton [Thu, 30 Mar 2000 23:55:31 +0000 (23:55 +0000)]
Two fixes for extended call syntax:
If a non-tuple sequence is passed as the *arg, convert it to a tuple
before checking its length.
If named keyword arguments are used in combination with **kwargs, make
a copy of kwargs before inserting the new keys.
Guido van Rossum [Thu, 30 Mar 2000 19:45:39 +0000 (19:45 +0000)]
Revamped path access again, by Mark Hammond, to be more robust in the
light of three different situations: (1) running from build; (2)
running from installed; (3) running without being able to find an
installation (e.g. as a COM object). The system paths in the
repository are only used for (3); the path deduced from the
installation location are used otherwise. PYTHONHOME overrides in all
cases.
Guido van Rossum [Thu, 30 Mar 2000 15:02:11 +0000 (15:02 +0000)]
Michael Hudson: With the (cool!) new call syntax, the longest opcode
name is much longer, which fouls up dis's formatting slightly; this is
a "fix" for that.
Guido van Rossum [Thu, 30 Mar 2000 15:00:33 +0000 (15:00 +0000)]
Lawrence Kesteloot noted: Lib/user.py has a comment that says that the
script pointed to by PYTHONPATH will be executed on startup. That
should say PYTHONSTARTUP.
Barry Warsaw [Wed, 29 Mar 2000 21:05:53 +0000 (21:05 +0000)]
__pushtodev(): Ignore transient sunaudiodev.errors when setting the
device info. I don't know why these occur, but they seem to be
shortlived and harmless.
Barry Warsaw [Wed, 29 Mar 2000 18:36:49 +0000 (18:36 +0000)]
eval_code2(): Oops, in the last checkin, we shouldn't check for
PyErr_Occurred(), just set x=NULL and break. Oh, and make Jeremy stop
nagging me about the "special" indentation for this block.
Barry Warsaw [Wed, 29 Mar 2000 18:30:03 +0000 (18:30 +0000)]
eval_code2(): In the extended calling syntax opcodes, you must check
the return value of PySequence_Length(). If an exception occurred,
the returned length will be -1. Make sure this doesn't get obscurred,
and that the bogus length isn't used.
Greg Ward [Wed, 29 Mar 2000 03:29:34 +0000 (03:29 +0000)]
Patch inspired by Bastian Kleineidam <calvin@cs.uni-sb.de>:
use global __debug__ flag to determine if compiled files will be ".pyc"
or ".pyo". Tweaked compilation output messages too.