0
0
mirror of https://github.com/python/cpython.git synced 2024-12-01 11:15:56 +01:00
Commit Graph

269 Commits

Author SHA1 Message Date
Mark Hammond
4779a0a6fd Remove some debugging messages - although this code is a complete hack, we dont need to announce it to the world every time they use freeze! 2000-10-05 22:10:33 +00:00
Trent Mick
c85eb0bd4b Enable the binascii module for Win64. It builds and passes the test suite.
(I had explicitly disabled it a while ago, possibly unecessarily, along with
rgbimg, audioop, and imageop, which are advertised as "not for 64-bit
platforms.)
2000-10-04 20:57:29 +00:00
Mark Hammond
e61aca7d4a Patch for [ Bug #113828 ] getpythonregpath with null data in registry key
If there was a NULL registry key, Python could barf.

Also wraps some surrounding lines to 80 chars.
2000-09-10 09:14:53 +00:00
Guido van Rossum
8586991099 REMOVED all CWI, CNRI and BeOpen copyright markings.
This should match the situation in the 1.6b1 tree.
2000-09-01 23:29:29 +00:00
Jeremy Hylton
ee5adfbae6 add user-modifiable recursion_limit
ceval.c:
    define recurion_limit (static), default value is 2500
    define Py_GetRecursionLimit and Py_SetRecursionLimit
    raise RuntimeError if limit is exceeded
PC/config.h:
    remove plat-specific definition
sysmodule.c:
    add sys.(get|set)recursionlimit
2000-08-31 19:23:01 +00:00
Mark Hammond
48b3eee170 Registered modules could only exist in HKEY_LOCAL_MACHINE - now HKEY_CURRENT_USER can override. 2000-08-22 11:20:21 +00:00
Mark Hammond
c756bdb66c From Rene Liebscher:
This patch makes it possible to use gnu-win32 and lcc-win32
(http://www.cs.virginia.edu/~lcc-win32/) compilers to build
extension modules. It adds compiler specific sections to
PC/config.h .
It also extends the Borland compiler section. This has then two parts,
one for Win32 and the other one for the rest. The Win32 part
should be almost complete.

*** This patch is not intended to make it possible to compile
     Python with these compilers, it is intended to be able to
     use these compilers to build extension modules. ****
2000-08-15 22:33:59 +00:00
Mark Hammond
fb439abbc9 Patch #101032, from David Bolen:
Ensure the "proxied" command's return code bubbles back up.
2000-08-14 05:04:28 +00:00
Fredrik Lundh
6947d0b65e -- from Trent Mick: [Patch #101010] replace use of INT_PTR
with uintptr_t (fix MSVC 5.0 build)
2000-08-07 20:16:28 +00:00
Greg Ward
ff7b562bc6 Pragmas that instruct the linker to link against python20.lib (or
python20_d.lib) only active on MSVC++; different library formats needed
for different compilers, and it's handled by the Distutils anyways.
2000-08-05 00:58:14 +00:00
Mark Hammond
4e80bb551e Allow any object supporting the buffer protocol to be written as a binary object. 2000-07-28 03:44:41 +00:00
Thomas Wouters
a534594fc7 ANSIfication: remove very-old-varargs code, fix function declarations so
they include prototypes.
2000-07-22 23:59:33 +00:00
Thomas Wouters
7889010731 Miscelaneous ANSIfications. I'm assuming here 'main' should take (int,
char**) and return an int even on PC platforms. If not, please fix
PC/utils/makesrc.c ;-P
2000-07-22 19:25:51 +00:00
Thomas Wouters
7e47402264 Spelling fixes supplied by Rob W. W. Hooft. All these are fixes in either
comments, docstrings or error messages. I fixed two minor things in
test_winreg.py ("didn't" -> "Didn't" and "Didnt" -> "Didn't").

There is a minor style issue involved: Guido seems to have preferred English
grammar (behaviour, honour) in a couple places. This patch changes that to
American, which is the more prominent style in the source. I prefer English
myself, so if English is preferred, I'd be happy to supply a patch myself ;)
2000-07-16 12:04:32 +00:00
Guido van Rossum
f981c8f915 Add "exceptions" to list of built-in modules for the sake of
sys.builtin_module_names.  (Noticed by Toby Dickenson.)

[Tim, please test!]
2000-07-12 12:11:36 +00:00
Fredrik Lundh
43298d1fff - win95/98 helper for new os.popen code
this should be built as a console application (link with
  USER32.LIB), and installed in the same directory as the
  Python DLL.
2000-07-09 11:35:36 +00:00
Fredrik Lundh
c0348ac670 - removed barry's workaround, to make room for
bill's more complete solution.
2000-07-08 20:49:58 +00:00
Fredrik Lundh
ddbc11893f - this is a tentative checkin of the #100764 patch (by
Barry Scott).  it appears to solve the problem on NT
  and 2000, but not on Windows 95.

  in other words, it's better than before, but not per-
  fect.  I'll leave the patch open for now.
2000-07-08 18:06:41 +00:00
Tim Peters
db6382941b Squash signed-vs-unsigned warning. Also edits to bring into line
with Python coding stds (max line length, C-style comments).
2000-07-03 23:51:17 +00:00
Tim Peters
b4dccf0dcd Checked in a wrong version. 2000-07-02 23:21:49 +00:00
Tim Peters
090c2161a1 The example_nt directory was old enough to vote. Frank Stajano
pointed out some of the problems he had following the instructions,
and I stumbled into the others:  MSVC has changed in several
respects, Python has changed the directories into which it builds
its own Windows outputs, and we grew the unusual scheme of
appending "_d" to the names of debug-mode output files.

This should all work with VC6 + CVS Python now.  Some other Windows
geek please confirm!  And the less you know, the better <0.5 wink>.

Explanations and examples for versions of MSVC before 6, and
versions of Python before 2.0b1, have been removed, because
they're too different and so confuse life.  This last step I OK'ed
with Guido first (indeed, 'twas his idea!).
2000-07-02 23:18:43 +00:00
Guido van Rossum
ffcc3813d8 Change copyright notice - 2nd try. 2000-06-30 23:58:06 +00:00
Guido van Rossum
fd71b9e9d4 Change copyright notice. 2000-06-30 23:50:40 +00:00
Guido van Rossum
361b583e88 Only include <basetsd.h> for VC 6.0 and higher. 2000-06-30 22:17:53 +00:00
Guido van Rossum
47674029e1 As Neil Schemenauer points out, WITH_CYCLE_GC should be uncommented if
we want to have GC enabled in the beta.
2000-06-30 20:31:50 +00:00
Fred Drake
25e1726d31 [*** Not tested as I don't have Windows running right now! ***]
Trent Mick <trentm@activestate.com>:

Fix PC/msvcrtmodule.c and PC/winreg.c for Win64. Basically:

- sizeof(HKEY) > sizeof(long) on Win64, so use PyLong_FromVoidPtr()
instead of PyInt_FromLong() to return HKEY values on Win64

- Check for string overflow of an arbitrary registry value (I know
that ensuring that a registry value does not overflow 2**31 characters
seems ridiculous but it is *possible*).

Closes SourceForge patch #100517.
2000-06-30 17:48:51 +00:00
Mark Hammond
306e2403fa Python's .lib is now named Python20.lib 2000-06-30 15:47:02 +00:00
Guido van Rossum
ae1b5b2e98 Trivial commit to test Windows CVS capabilities. 2000-06-30 13:00:32 +00:00
Jeremy Hylton
c5007aa5c3 final patches from Neil Schemenauer for garbage collection 2000-06-30 05:02:53 +00:00
Guido van Rossum
537a551e23 Bump version to 2.0b1. Change copyright to BeOpen, CNRI, SMC. 2000-06-29 22:30:37 +00:00
Fred Drake
a3f6e91307 This patch extends PC/config.h and configure.in as appropriate for
64-bit readiness (the config values are needed for patches that I will
be submitting later today. The changes are as follows:

- add SIZEOF_OFF_T #define's to PC/config.h (it was already in configure.in)

- add SIZEOF_TIME_T #define to PC/config.h and configure
Needed for some buffer overflow checking because sizeof(time_t) is
different on Win64.

- add SIZEOF_FPOS_T #define
Needed for the Win64 large file support implementation.

- add SIZEOF_HKEY in PC/config.h only
Needed for proper Win32 vs. Win64 handling in PC/winreg.c

- #define HAVE_LARGEFILE_SUPPORT for Win64

- typedef long intptr_t; for all Windows except Win64 (which defines it
itself)
This is a new ANSI (I think) type that is useful (and used by me) for
proper handling in msvcrtmodule.c and posixmodule.c

- indent the nested #ifdef's and #defines in PC/config.h
This is *so* much more readable. There cannot be a compiler
compatibilty issue here can there? Perl uses indented #defines and it
compiles with everything.
2000-06-29 20:44:47 +00:00
Fred Drake
13634cf7a4 This patch addresses two main issues: (1) There exist some non-fatal
errors in some of the hash algorithms. For exmaple, in float_hash and
complex_hash a certain part of the value is not included in the hash
calculation. See Tim's, Guido's, and my discussion of this on
python-dev in May under the title "fix float_hash and complex_hash for
64-bit *nix"

(2) The hash algorithms that use pointers (e.g. func_hash, code_hash)
are universally not correct on Win64 (they assume that sizeof(long) ==
sizeof(void*))

As well, this patch significantly cleans up the hash code. It adds the
two function _Py_HashDouble and _PyHash_VoidPtr that the various
hashing routine are changed to use.

These help maintain the hash function invariant: (a==b) =>
(hash(a)==hash(b))) I have added Lib/test/test_hash.py and
Lib/test/output/test_hash to test this for some cases.
2000-06-29 19:17:04 +00:00
Fred Drake
ee8c418408 Finish converting the winreg extension to _winreg. 2000-06-29 16:43:49 +00:00
Fred Drake
270e19b060 Update the module name to _winreg, pending checkin of Paul Prescod's
OO wrapper for this module.
2000-06-29 16:14:14 +00:00
Guido van Rossum
1c44e28766 Trent Mick: familiar simple Win64 patches 2000-06-28 22:20:06 +00:00
Fred Drake
e39607f27e Changed the #error to a #warning when checking gcc versions, and
noted the minimum recommended version in the message.
2000-06-28 03:54:48 +00:00
Fred Drake
91c4e2bf12 Patch from Rene Liebscher <R.Liebscher@gmx.de>, slightly modified and
commented by Fred Drake, to prevent usage of sufficiently broken GCC
versions.
2000-06-19 13:41:54 +00:00
Mark Hammond
b422f95db0 Cleanup a few docstrings. 2000-06-09 06:01:47 +00:00
Jeremy Hylton
847a9968e9 Patch from M.-A. Lemburg:
Python on UNIX now trusts PYTHONHOME unconditionally

Modules/getpath.c:

Landmark changed to os.py.

Setting PYTHONHOME now unconditionally sets sys.prefix
(and sys.exec_prefix). No further checks are done whether the
standard lib can be found in that location or not. This is in
sync with the PC subdir getpath implementations.

PC/getpathp.c:

Landmark changed to os.py.

PC/os2vacpp/getpathp.c:

Landmark changed to os.py.

Note: BAW's checkin on exceptions.c eliminates earlier concerns about
a bogus PYTHONHOME value leading to a core dump.  Instead it causes a
useless sys.path and prevents imports.
2000-05-26 21:49:07 +00:00
Guido van Rossum
da5cc82d59 Trent Mick:
Use "win32" for sys.platform on Win64 instead of "win32" because:
1. While it may be confusing to the Python scriptor on Win64 that he has to
   check for win*32*, that is something that he will learn the first time. It
   is better than the alternative of the scriptor happily using "win64" and
   then that code not running on Win32 for no good reason.
2. The main question is: is Win64 so much more like Win32 than different from
   it that the common-case general Python programmer should not ever have to
   make the differentiation in his Python code. Or, at least, enough so that
   such differentiation by the Python scriptor is rare enough that some other
   provided mechanism is sufficient (even preferable). Currently the answer
   is yes. Hopefully MS will not change this answer.
2000-05-10 13:25:32 +00:00
Guido van Rossum
23ef82ffe3 Trent Mick:
The following modules are specifically excluded in the Win64 build:
audioop, binascii, imageop, rgbimg. They are advertised as heavily 32-bit
dependent.  [They should probably be fixed!  --GvR]
2000-05-08 14:15:19 +00:00
Guido van Rossum
c66ae966ed Trent Mick:
Changes to PC\config.[hc] for Win64. MSVC defines _WINxx to differentiate the
various windows platforms. Python's MS_WINxx are keyed off of these. Note
that _WIN32 (and hence MS_WIN32 in Python) are defined on Win32 *and* on
Win64. This is for compatibility reasons. The idea is that the common case is
that code specific to Win32 will also work on Win64 rather than being
specific to Win32 (i.e. there is more the same than different in WIn32 and
Win64).

The following modules are specifically excluded in the Win64 build:
audioop, binascii, imageop, rgbimg. They are advertised as heavily 32-bit
dependent.  [They should probably be fixed!  --GvR]

The patch to config.h looks big but it really is not. These are the effective
changes:
- MS_WINxx are keyed off _WINxx
- SIZEOF_VOID_P is set to 8 for Win64
- COMPILER string is changed appropriately for Win64
2000-05-08 14:14:48 +00:00
Guido van Rossum
b18618dab7 Vladimir Marangozov's long-awaited malloc restructuring.
For more comments, read the patches@python.org archives.
For documentation read the comments in mymalloc.h and objimpl.h.

(This is not exactly what Vladimir posted to the patches list; I've
made a few changes, and Vladimir sent me a fix in private email for a
problem that only occurs in debug mode.  I'm also holding back on his
change to main.c, which seems unnecessary to me.)
2000-05-03 23:44:39 +00:00
Guido van Rossum
db575db0d6 Add definition of socklen_t so that socketmodule.c will compile on Windows. 2000-04-24 15:37:34 +00:00
Guido van Rossum
a8ee4c31bf Mark Hammond:
* Base address for all extension modules updated. PC\dllbase_nt.txt
also updated.  Erroneous "libpath" directory removed for all
projects.

* winsound module moved from a builtin module to an extension
module.  This was done primarily to avoid Python16.dll needing to
pull in winmm.dll.  Really dumb test added for winsound - but if
nothing else it ensures the module imports.
2000-04-21 21:26:43 +00:00
Guido van Rossum
f4a3bd4991 Remove _socket, select, soundex, and unicodedata. These have been
moved to their own DLLs, or are obsolete (soundex).
2000-04-06 14:41:11 +00:00
Guido van Rossum
4f3cc35cc1 Get rid of Win32s check. 2000-04-04 22:48:55 +00:00
Guido van Rossum
5cf648b654 Seems there was a version string here that still looked like 1.5.2. 2000-03-30 22:59:09 +00:00
Guido van Rossum
88716bba55 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.

Read the comments for more details.
2000-03-30 19:45:39 +00:00
Guido van Rossum
9c94a8882c Version -> 1.6. 2000-03-29 01:50:50 +00:00