cpython/PC
Christian Heimes 99170a5dbf Merged revisions 59541-59561 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r59544 | raymond.hettinger | 2007-12-18 01:13:45 +0100 (Tue, 18 Dec 2007) | 1 line

  Add more namedtuple() test cases.  Neaten the code and comments.
........
  r59545 | christian.heimes | 2007-12-18 04:38:03 +0100 (Tue, 18 Dec 2007) | 3 lines

  Fixed for #1601: IDLE not working correctly on Windows (Py30a2/IDLE30a1)

  Amaury's ideas works great. Should we build the Python core with WINVER=0x0500 and _WIN32_WINNT=0x0500, too?
........
  r59546 | christian.heimes | 2007-12-18 10:00:13 +0100 (Tue, 18 Dec 2007) | 1 line

  Make it a bit easier to test Tcl/Tk and idle from a build dir.
........
  r59547 | christian.heimes | 2007-12-18 10:12:10 +0100 (Tue, 18 Dec 2007) | 1 line

  Removed several unused files from the PCbuild9 directory. They are relics from the past.
........
  r59548 | raymond.hettinger | 2007-12-18 19:26:18 +0100 (Tue, 18 Dec 2007) | 29 lines

  Speed-up dictionary constructor by about 10%.

  New opcode, STORE_MAP saves the compiler from awkward stack manipulations
  and specializes for dicts using PyDict_SetItem instead of PyObject_SetItem.

  Old disassembly:
                0 BUILD_MAP                0
                3 DUP_TOP
                4 LOAD_CONST               1 (1)
                7 ROT_TWO
                8 LOAD_CONST               2 ('x')
               11 STORE_SUBSCR
               12 DUP_TOP
               13 LOAD_CONST               3 (2)
               16 ROT_TWO
               17 LOAD_CONST               4 ('y')
               20 STORE_SUBSCR

  New disassembly:
                0 BUILD_MAP                0
                3 LOAD_CONST               1 (1)
                6 LOAD_CONST               2 ('x')
                9 STORE_MAP
               10 LOAD_CONST               3 (2)
               13 LOAD_CONST               4 ('y')
               16 STORE_MAP
........
  r59549 | thomas.heller | 2007-12-18 20:00:34 +0100 (Tue, 18 Dec 2007) | 2 lines

  Issue #1642: Fix segfault in ctypes when trying to delete attributes.
........
  r59551 | guido.van.rossum | 2007-12-18 21:10:42 +0100 (Tue, 18 Dec 2007) | 2 lines

  Issue #1645 by Alberto Bertogli.  Fix a comment.
........
  r59553 | raymond.hettinger | 2007-12-18 22:24:09 +0100 (Tue, 18 Dec 2007) | 12 lines

  Give meaning to the oparg for BUILD_MAP:  estimated size of the dictionary.

  Allows dictionaries to be pre-sized (upto 255 elements) saving time lost
  to re-sizes with their attendant mallocs and re-insertions.

  Has zero effect on small dictionaries (5 elements or fewer), a slight
  benefit for dicts upto 22 elements (because they had to resize once
  anyway), and more benefit for dicts upto 255 elements (saving multiple
  resizes during the build-up and reducing the number of collisions on
  the first insertions).  Beyond 255 elements, there is no addional benefit.
........
  r59554 | christian.heimes | 2007-12-18 22:56:09 +0100 (Tue, 18 Dec 2007) | 1 line

  Fixed #1649: IDLE error: dictionary changed size during iteration
........
  r59557 | raymond.hettinger | 2007-12-18 23:21:27 +0100 (Tue, 18 Dec 2007) | 1 line

  Simplify and speedup _asdict() for named tuples.
........
  r59558 | christian.heimes | 2007-12-19 00:22:54 +0100 (Wed, 19 Dec 2007) | 3 lines

  Applied patch #1635: Float patch for inf and nan on Windows (and other platforms).

  The patch unifies float("inf") and repr(float("inf")) on all platforms.
........
  r59559 | raymond.hettinger | 2007-12-19 00:51:15 +0100 (Wed, 19 Dec 2007) | 1 line

  Users demand iterable input for named tuples. The author capitulates.
........
  r59560 | raymond.hettinger | 2007-12-19 01:21:06 +0100 (Wed, 19 Dec 2007) | 1 line

  Beef-up tests for dict literals
........
  r59561 | raymond.hettinger | 2007-12-19 01:27:21 +0100 (Wed, 19 Dec 2007) | 1 line

  Zap a duplicate line
........
2007-12-19 02:07:34 +00:00
..
bdist_wininst #1535: rename __builtin__ module to builtins. 2007-12-02 09:40:06 +00:00
example_nt Four months of trunk changes (including a few releases...) 2006-12-13 04:49:30 +00:00
icons Partially merge trunk into p3yk. The removal of Mac/Tools is confusing svn 2006-06-08 14:42:34 +00:00
os2emx #1535: rename __builtin__ module to builtins. 2007-12-02 09:40:06 +00:00
os2vacpp #1535: rename __builtin__ module to builtins. 2007-12-02 09:40:06 +00:00
VC6 Remove more hotshot cruft. 2007-10-13 18:56:00 +00:00
_msi.c Remove PyInt_CheckExact. Add PyLong_AsLongAndOverflow. 2007-12-04 22:10:37 +00:00
_subprocess.c Cleanup: Replaced most PyInt_ aliases with PyLong_ and disabled the aliases in intobject.h 2007-12-02 14:31:20 +00:00
_winreg.c Cleanup: Replaced most PyInt_ aliases with PyLong_ and disabled the aliases in intobject.h 2007-12-02 14:31:20 +00:00
config.c #1535: rename __builtin__ module to builtins. 2007-12-02 09:40:06 +00:00
dl_nt.c Merged revisions 59234-59238 via svnmerge from 2007-11-30 19:27:20 +00:00
dllbase_nt.txt Merge p3yk branch with the trunk up to revision 45595. This breaks a fair 2006-04-21 10:40:58 +00:00
empty.c Add main program for icon file. 2004-09-03 13:32:57 +00:00
errmap.h Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk. 2006-05-27 19:21:47 +00:00
errmap.mak Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk. 2006-05-27 19:21:47 +00:00
frozen_dllmain.c 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
generrmap.c Much-needed merge (using svnmerge.py this time) of trunk changes into p3yk. 2006-05-27 19:21:47 +00:00
getpathp.c Merged revisions 53952-54987 via svnmerge from 2007-04-27 19:54:29 +00:00
icons.mak Help compiling icons into an exe, for use with MSI advertisement. 2004-08-13 15:26:40 +00:00
icons.rc Help compiling icons into an exe, for use with MSI advertisement. 2004-08-13 15:26:40 +00:00
import_nt.c Merge ssize_t branch. 2006-02-15 17:27:45 +00:00
make_versioninfo.c Merged revisions 55325-55327 via svnmerge from 2007-05-14 22:51:27 +00:00
msvcrtmodule.c Merged revisions 59441-59449 via svnmerge from 2007-12-10 16:18:49 +00:00
py.ico Merge the rest of the trunk. 2006-06-08 15:35:45 +00:00
pyc.ico Merge the rest of the trunk. 2006-06-08 15:35:45 +00:00
pycon.ico Merge the rest of the trunk. 2006-06-08 15:35:45 +00:00
pyconfig.h Merged revisions 59541-59561 via svnmerge from 2007-12-19 02:07:34 +00:00
python_exe.rc Add pretty icon to python.exe 1997-12-05 06:31:40 +00:00
python_nt.rc Merged revisions 53005-53303 via svnmerge from 2007-01-09 23:18:33 +00:00
python.mk Jim A's new versions of these 1998-08-03 20:23:42 +00:00
readme.txt Remove svn:mime-type (inexplicably set to a binary type), 2006-03-01 06:28:58 +00:00
testpy.py Fix more lingering print statements. 2007-08-30 18:50:25 +00:00
w9xpopen.c Fix all wrong instances of "it's". 2005-07-22 21:49:32 +00:00
WinMain.c Merged revisions 55631-55794 via svnmerge from 2007-06-06 23:52:48 +00:00
winsound.c Use unicode 2007-08-25 07:41:59 +00:00

Welcome to the "PC" subdirectory of the Python distribution
***********************************************************

*** Note: the project files for MS VC++ 7.1 are now in the
*** PCbuild directory.  See the file readme.txt there for build
*** instructions.  There is some information below that might
*** still be relevant.

This "PC" subdirectory contains complete project files to make
several older PC ports of Python, as well as all the PC-specific
Python source files.  It should be located in the root of the
Python distribution, and there should be directories "Modules",
"Objects", "Python", etc. in the parent directory of this "PC"
subdirectory.  Be sure to read the documentation in the Python
distribution.

Python requires library files such as string.py to be available in
one or more library directories.  The search path of libraries is
set up when Python starts.  To see the current Python library search
path, start Python and enter "import sys" and "print sys.path".

All PC ports use this scheme to try to set up a module search path:

  1) The script location; the current directory without script.
  2) The PYTHONPATH variable, if set.
  3) For Win32 platforms (NT/95), paths specified in the Registry.
  4) Default directories lib, lib/win, lib/test, lib/tkinter;
     these are searched relative to the environment variable
     PYTHONHOME, if set, or relative to the executable and its
     ancestors, if a landmark file (Lib/string.py) is found ,
     or the current directory (not useful).
  5) The directory containing the executable.

The best installation strategy is to put the Python executable (and
DLL, for Win32 platforms) in some convenient directory such as
C:/python, and copy all library files and subdirectories (using XCOPY)
to C:/python/lib.  Then you don't need to set PYTHONPATH.  Otherwise,
set the environment variable PYTHONPATH to your Python search path.
For example,
   set PYTHONPATH=.;d:\python\lib;d:\python\lib\win;d:\python\lib\dos-8x3

There are several add-in modules to build Python programs which use
the native Windows operating environment.  The ports here just make
"QuickWin" and DOS Python versions which support a character-mode
(console) environment.  Look in www.python.org for Tkinter, PythonWin,
WPY and wxPython.

To make a Python port, start the Integrated Development Environment
(IDE) of your compiler, and read in the native "project file"
(or makefile) provided.  This will enable you to change any source
files or build settings so you can make custom builds.

pyconfig.h    An important configuration file specific to PC's.

config.c    The list of C modules to include in the Python PC
            version.  Manually edit this file to add or
            remove Python modules.

testpy.py   A Python test program.  Run this to test your
            Python port.  It should produce copious output,
	    ending in a report on how many tests were OK, how many
	    failed, and how many were skipped.  Don't worry about
	    skipped tests (these test unavailable optional features).


Additional files and subdirectories for 32-bit Windows
======================================================

python_nt.rc   Resource compiler input for python15.dll.

dl_nt.c, import_nt.c
               Additional sources used for 32-bit Windows features.

getpathp.c     Default sys.path calculations (for all PC platforms).

dllbase_nt.txt A (manually maintained) list of base addresses for
               various DLLs, to avoid run-time relocation.

example_nt     A subdirectory showing how to build an extension as a
               DLL.

Visual Studio 6.0
=================
The subdirectory VC6 contains Visual Studio 6 project files. These
were originally located in the PCBuild directory, but are no longer
maintained.


IBM VisualAge C/C++ for OS/2
============================

See os2vacpp/readme.txt.  This platform is supported by Jeff Rush.


Note for Windows 3.x and DOS users
==================================

Neither Windows 3.x nor DOS is supported any more.  The last Python
version that supported these was Python 1.5.2; the support files were
present in Python 2.0 but weren't updated, and it is not our intention
to support these platforms for Python 2.x.