Commit Graph

18699 Commits

Author SHA1 Message Date
Tim Peters 96e1d2f206 Massive fiddling to get the install to work at all on a Win2K box under a
plain unprivileged User acct:
+ Had to duplicate Wise's Uninstal.wse script, in order to change the line
  at its end that unconditionally tries to write uninstall info under HKLM.
  This is our new file Uninstal.wse, which must be included by python20.wse
  instead of using Wise's version.
+ In every other case we write to HKLM, also write to HKCU instead (we
  were already doing that in *most* places, but not quite all).
+ If the user doesn't have admin privs, the DLLs we usually write to the
  system dir are written to the root of the Python installation instead.
  That's python22.dll, plus the two MSVC runtime DLLs.
+ Added a new component "Register file extensions".  Registering .py etc
  is done under HKEY_CLASSES_ROOT, and that also requires admin privs;
  i.e., AFAICT it's impossible for an unprivileged user to accomplish this.
  In the component selection dialog, if the user doesn't have admin privs
  I gray out this new component so the user knows they aren't getting file
  extensions.
After all that, Python installs, the Start Menu entries are OK, it runs
its test suite to completion, and the uninstaller works too.  Only known
problem so far is that the integration with Win2K's Add/Remove subsystem
isn't quite right yet in this irritating case.
2001-07-30 23:06:21 +00:00
Jeremy Hylton b7a7731e01 Add tests for getattr() and hasattr() with non-string args 2001-07-30 22:49:11 +00:00
Jeremy Hylton 302b54acd9 Do for hasattr() what was done for getattr()
Namely, an exception is raised if the second arg to hasattr() is not a
string or Unicode.
2001-07-30 22:45:19 +00:00
Fred Drake c974bf4dc2 Get the whitespace right! 2001-07-30 22:41:23 +00:00
Jeremy Hylton 0eb1115f44 Fix for SF byg [ #420304 ] getattr function w/ default
Fix suggested by Michael Hudson: Raise TypeError if attribute name
passed to getattr() is not a string or Unicode.  There is some
unfortunate duplication of code between builtin_getattr() and
PyObject_GetAttr(), but it appears to be unavoidable.
2001-07-30 22:39:31 +00:00
Jeremy Hylton 3ce45389bd Add _PyUnicode_AsDefaultEncodedString to unicodeobject.h.
And remove all the extern decls in the middle of .c files.
Apparently, it was excluded from the header file because it is
intended for internal use by the interpreter.  It's still intended for
internal use and documented as such in the header file.
2001-07-30 22:34:24 +00:00
Jeremy Hylton 5121e7de11 Fix for SF bug [ #443866 ] Evaluating func_code causing core dump
Add test that calls eval with a code object that has free variables.
2001-07-30 21:55:29 +00:00
Jeremy Hylton 15c1c4f6d2 Fix for SF bug [ #443866 ] Evaluating func_code causing core dump
If the code object has free variables, raise TypeError.
2001-07-30 21:50:55 +00:00
Jeremy Hylton e3c37d660f Ugly fix used when pyexpat is not available.
If pyexpat is not available and more than one attempt is made to load
an expat-based xml parser, an empty xml.parser.expat module will be
created.  This empty module will confuse xml.sax.expatreader into
thinking that pyexpat is available.

The ugly fix is to verify that the expat module actually defines the
names that are imported from pyexpat.
2001-07-30 21:49:22 +00:00
Jeremy Hylton 3c19ec4eab Fix when pyexpat not built
Import pyexpat first so that import error occurs when it is not
available.
2001-07-30 21:47:25 +00:00
Martin v. Löwis 0b8de98f08 Temporarily work around bug #445928: Force usage of getaddrinfo emulation
code on Darwin, since the C library version of that seems to be broken.
2001-07-30 16:52:55 +00:00
Martin v. Löwis 3bd071e3f7 Patch #442866: Tests for codeop.py. 2001-07-30 12:30:08 +00:00
Martin v. Löwis 27c430e54e Patch #445538: add completion for pstats.py sort cmd. 2001-07-30 10:21:13 +00:00
Tim Peters a1fd0505af Add a dialog for the backup directory (default "yes I want one, and
make it MyPythonDirectory\BACKUP\").
2001-07-30 07:30:56 +00:00
Tim Peters 6ea8baa5ee Now stop distutils and xml from getting *too* much (like .pyc files). 2001-07-29 22:12:28 +00:00
Just van Rossum 8d8e7a3256 Do convert_path() on script paths (now PyXML builds out of the box
under MacOS.)
2001-07-29 21:39:18 +00:00
Tim Peters 8e02fb15e6 Repair long-standing mistakes in the distutils and xml installations:
1. Only .py files were getting installed.
2. Empty CVS directories were getting created.
Both were due to trying to get away with "recursively copy *.py" one-
liner scripting.
2001-07-29 21:36:58 +00:00
Tim Peters 412e458495 Remove Lib\plat-win from PYTHONPATH; that directory went away a year ago. 2001-07-29 21:04:09 +00:00
Tim Peters d8c7da4bf0 Don't prompt for the doc (HTML) directory anymore (just assume ..\html). 2001-07-29 19:57:07 +00:00
Tim Peters 4670b3a2ee Whew -- I *think* this completes folding in all the new-in-8.1 stuff.
Still need to test it in pathological scenarios.
2001-07-29 19:48:44 +00:00
Tim Peters 4e9a00e3c2 Ewwww -- the 8.1 support for rolling back changes in case the user aborts
the installation was hiding in a part of the GUI I never saw before.  Add
it.
2001-07-29 19:31:03 +00:00
Tim Peters 0097bae32d Add oodles more 8.1 Wizard boilerplate. This creates lots of vrbls we
don't use directly, but the Wise utility scripts we invoke (like
uninstal.wse) sometimes need them.
2001-07-29 19:27:23 +00:00
Tim Peters 386b7a3a68 Add version resource info to installer .exe. 2001-07-29 19:02:52 +00:00
Tim Peters 6307bb8b7d Folding some Wizard boilerplate back in, created in new Wise projects but
not in the stuff we inherited from Wise 5.0 -- better safe than sorry.
2001-07-29 18:55:06 +00:00
Tim Peters e7b2a27d47 Updated to Wise 8.14 (web update).
Got rid of useless "Welcome" screen.
Folded Tcl/Tk into the main Python component.
Bug introduced during upgrade:  Start Menu entries didn't work if
    installation was to a path with an embedded space, because the
    enclosing quotes somehow got dropped on the cmdline args.  Repaired.
Years of wizard-generated code blocks left this script hard to read.
    Added many more comments, blank lines, and rearranged related code
    into related blocks where they had drifted apart.
Added %_PYMAJOR_% and %_PYMINOR_% compiler vrbls, and reworked script
    items to use them as appropriate.  This should slash the amount of
    hand-fiddling needed when version numbers change.  Indeed, in the
    body of the script, only the first line should need changing now.
Deleted unreferenced wizard-generated compiler vrbls.
2001-07-29 09:28:37 +00:00
Fred Drake 43211ecda2 Make some adjustments to the markup, and fix up some style-guide issues. 2001-07-29 03:41:23 +00:00
Tim Peters db642c66a8 Woo hoo! Relative paths! This is, alas, partly braindead: When the new
"relative paths" option is enabled, 8.1 rewrites *every* path to be
relative to PCbuild (the dir containing the .wse script), even absolute
paths you type in by hand, paths to the Wise installation itself, and even
paths to the Windows directories (sheesh).  Only way to stop it is to
start a path with a variable reference, and we screwed ourselves before
by not using the predefined %_WISE_% vrbl to point to the Wise
installation.  Repaired that old, repeated and well-hidden mistake.
Also:
+ Got rid of the %_SRC_% vrbl (such paths always relative to PCBuild now).
+ Changed the %_DOC_% vrbl to prompt for the location of the unzipped
  HTML files (defaults to ..\html, cuz that's where I put them, but I
  expect I'll change that later cuz I always hated mixing the generated
  docs into the CVS tree ... Guido, if you're reading this, where did you
  unpack the docs when building a Windows installer?  Happy to oblige.).
+ Stopped the generated installer from filling up the entire screen (got
  rid of the massive blue background gradient -- new option).
+ Added the helpful app publisher and app URL registry entries that Win2K
  displays in its version of Add/Remove.
2001-07-29 02:04:20 +00:00
Tim Peters 50e278ecfc Convert from Wise version 5.0 to 8.1. Gotta hand it to 'em! 8.1 imported
the old script without any complaints, didn't demand any manual changes,
and built a working installer from it that acts very much like the old one.
It did add a few script items, and changed one, so checking it in now
before I break everything again.
2001-07-29 00:48:54 +00:00
Martin v. Löwis 70195da3ff Patch #443337: Fix incompatibilities in imputil's behavior. 2001-07-28 20:33:41 +00:00
Martin v. Löwis d3011cd1d3 Remove usage of strop module. 2001-07-28 17:59:34 +00:00
Martin v. Löwis 66b6e192b9 Patch #416224: add readline completion to cmd.Cmd. 2001-07-28 14:44:03 +00:00
Tim Peters 9544fc5027 Squash compiler wng about mixing signed and unsigned in comparison. 2001-07-28 09:36:36 +00:00
Tim Peters faa7f116f2 Move Windows to Expat 1.95.2. CAUTION: Your Windows build won't work
until you download the new expat and install it; see PCbuild\readme.txt.
2001-07-28 07:56:38 +00:00
Barry Warsaw 63ce5af496 Added the -X/--no-docstrings flag which takes a filename containing a
list of files to not extract docstrings from when the -D option is
given.  This isn't optimal, but I didn't want to change the semantics
of -D, and it's bad form to allow optional switch arguments.

Bumping __version__ to 1.4.

TokenEater.__init__(): Initialize __curfile to None.

__waiting(): In order to extract docstrings from the module, both the
    -D flag should be set, and the __curfile should not be named in
    the -X filename (i.e. it isn't in opts.nodocstrings).

set_filename(): Fixed a bug where once the first module docstring is
    extracted, no subsequent module docstrings will be extracted.  The
    bug was that the first extraction set __freshmodule to 0, but that
    flag was never reset back to 1.  set_filename() is always called
    when the next file is being processed, so use it to reset the
    __freshmodule flag.

main(): Add support for -X/--no-docstring.
2001-07-27 16:47:18 +00:00
Guido van Rossum 702d08ec05 Fix buffer_info() docstring to match reality. See SF bug #444842. 2001-07-27 16:05:32 +00:00
Jack Jansen b4a7db7736 config.h renamed to pyconfig.h 2001-07-27 09:22:03 +00:00
Jack Jansen 8d2f3d66ee ProgressBar crashed when you tried to drag it. Fixed. Thanks go to Alfonso Baciero. 2001-07-27 09:21:28 +00:00
Tim Peters 33dc0a1705 One more crack at join(): stop trying to pretend this isn't a mass of
special cases.  test_pkg works again on Windows.
2001-07-27 08:09:54 +00:00
Tim Peters 4223f89edd Change ntpath.join() so that join("d:/", "/whatever") returns
d:/whatever instead of /whatever.  While I'm afraid changing isabs()
to be *consistent* with this would break lots of code, it makes
best sense for join() to do it this way.  Thanks to Alex Martelli for
pushing back on this one!
2001-07-26 21:54:37 +00:00
Tim Peters 76f373d081 Repair more now-obsolete references to config.h. 2001-07-26 21:34:59 +00:00
Fred Drake bd2e3b03d6 Document the PYTHONY2K environment variable that had been left out of this
list.

Present the URLs at the bottom in a consistent manner, conforming to the
style guide.

Remove the lone use of "e.g.", which the style guide does not allow.
2001-07-26 21:25:58 +00:00
Greg Ward 54f65094c3 Typo fix. 2001-07-26 21:01:21 +00:00
Tim Peters 7321ec437b SF bug #444510: int() should guarantee truncation.
It's guaranteed now, assuming the platform modf() works correctly.
2001-07-26 20:02:17 +00:00
Marc-André Lemburg 7cf92fa1c8 Add backwards compatibility. 2001-07-26 18:06:58 +00:00
Marc-André Lemburg ae21df59c3 Undoing the UCS-4 patch addition which caused unichr() to return
surrogates for Unicode code points outside range(0x10000) on narrow
Python builds.
2001-07-26 16:29:25 +00:00
Martin v. Löwis 4f1cd8bdcb Patch #411138: Rename config.h to pyconfig.h. Closes bug #231774. 2001-07-26 13:41:06 +00:00
Martin v. Löwis 4eb5940a4d Untabify IPv6 changes. 2001-07-26 13:37:33 +00:00
Guido van Rossum 2e441f7836 Fix a denial-of-service attack, SF bug #443120.
Code by Evan Simpson.
2001-07-25 21:00:19 +00:00
Greg Ward 7cf7e7e529 Undo revision 1.7: always mangle a #! line containing "python" to point
to the current Python interpreter (ie. the one used for
building/installation), even (especially!) if "/usr/bin/env" appears in
the #! line.

Rationale: installing scripts with "#!/usr/bin/env python" is asking for
trouble, because
  1) it might pick the wrong interpreter (not the one used to
     build/install the script)
  2) it doesn't work on all platforms (try it on IRIX 5, or on Linux
     with command-line options for python)
  3) "env" might not be in /usr/bin
2001-07-25 20:20:11 +00:00
Greg Ward e628a2fa85 Don't "import *" from stat at all -- just import what's needed, and
do it back in copy_file() (not at module level).
2001-07-25 19:48:03 +00:00