Commit Graph

35345 Commits

Author SHA1 Message Date
Amaury Forgeot d'Arc a2d1d7e3b2 Oops, I missed this one again (test_univnewlines fails):
Some incremental decoders return multiple characters, even when fed with
only one more byte. In this case the tell() state must subtract the
number of extra characters.
2007-11-19 21:14:47 +00:00
Amaury Forgeot d'Arc 1ff9910f59 Issue1395: Universal mode used to duplicate newlines when using read(1).
"Universal newline" is now an incremental decoder wrapping the initial one,
with its own additional buffer (if '\r' is seen at the end of the input).

A decoder allows the tell() funtion to record the state of the translation.
This also simplifies the readline() process.

Now test_netrc passes on Windows, as well as many new tests in test_io.py
2007-11-19 20:34:10 +00:00
Guido van Rossum 74c29c71b1 Make test_cmd_line_scripts pass by using a unicode string instead of
a bytes string to hold argv0 in RunMainFromImporter().
Also changed the code lay-out a bit to be more readable (for me :-),
and print any unexpected errors rather than suppressing them.
2007-11-19 18:36:41 +00:00
Christian Heimes 82f013bb58 Fixed build order of the _ssl project. The openssl project needs to come first because the makefile puts the header files in the right place.
Added some optimization flags to the Release builds of pythoncore and the executables.
2007-11-19 18:35:20 +00:00
Guido van Rossum 87c0f1d1c9 Merged revisions 59041-59055 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r59044 | neal.norwitz | 2007-11-18 17:46:20 -0800 (Sun, 18 Nov 2007) | 1 line

  Use a slightly more recent version than 1.5.2b2.
........
  r59047 | walter.doerwald | 2007-11-19 04:14:05 -0800 (Mon, 19 Nov 2007) | 2 lines

  Fix typo in comment.
........
  r59049 | walter.doerwald | 2007-11-19 04:41:10 -0800 (Mon, 19 Nov 2007) | 4 lines

  Fix for #1444: utf_8_sig.StreamReader was (indirectly through decode())
  calling codecs.utf_8_decode() with final==True, which falled with incomplete
  byte sequences. Fix and test by James G. Sack.
........
  r59051 | nick.coghlan | 2007-11-19 05:56:27 -0800 (Mon, 19 Nov 2007) | 1 line

  Enable some test_cmd_line_script debugging output to investigate failure on Mac OSX buildbot
........
  r59053 | facundo.batista | 2007-11-19 08:30:24 -0800 (Mon, 19 Nov 2007) | 3 lines


  Fixed detail in add_type() explanation (issue 1463).
........
  r59054 | guido.van.rossum | 2007-11-19 09:35:24 -0800 (Mon, 19 Nov 2007) | 2 lines

  Make this work stand-alone, too.
........
  r59055 | guido.van.rossum | 2007-11-19 09:50:22 -0800 (Mon, 19 Nov 2007) | 3 lines

  Fix the OSX failures in this test -- they were due to /tmp being a symlink
  to /private/tmp.  Adding a call to os.path.realpath() to temp_dir() fixed it.
........
2007-11-19 18:03:44 +00:00
Guido van Rossum 87afcbfe54 Tweak the imports so this script will run stand-alone.
(No, this doesn't fix the bugs on OSX.)
2007-11-19 15:56:44 +00:00
Christian Heimes 97e8029d0b I've spend some time to automate more steps of the build process. Now bzip2, bsddb, sqlite and openssl are automatically build by prelink steps.
I had to use some tricks to build openssl for 32 and 64bit CPUs in two separate build dirs.
2007-11-19 08:36:32 +00:00
Martin v. Löwis a6b46357f6 Revert modifications to extract_msvcr71 in 59040,
as they didn't actually work.
2007-11-19 06:46:55 +00:00
Christian Heimes 8a48c4c915 Removed ReleaseAMD64 and replaced it with platform x64. The x64 builds fine except of the modules that depend on external libraries like tkinter and openssl. And I can't test the build on my 32bit CPU. 2007-11-19 01:23:57 +00:00
Christian Heimes 80101a8ac7 I'm using the xxmodule and xxsubtype to test the msvccompiler on Windows. I'm having trouble to compile the module with VS 2008 cl.exe because "initializer is not a constant". 2007-11-18 21:30:36 +00:00
Christian Heimes 9cd177526a Merged revisions 59005-59040 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

I've tried to fix test_cmd_line_script but I wasn't able to get all tests
right. Nick, can you please have a look?

........
  r59020 | facundo.batista | 2007-11-16 19:04:14 +0100 (Fri, 16 Nov 2007) | 12 lines


  Now in find, rfind, index, and rindex, you can use None as defaults,
  as usual with slicing (both with str and unicode strings).  This
  fixes issue 1259.

  For str only the stringobject.c file was modified.  But for unicode,
  I needed to repeat in the four functions a lot of code, so created
  a new function that does part of the job for them (and placed it in
  find.h, following a suggestion of Barry).

  Also added tests for this behaviour.
........
  r59021 | facundo.batista | 2007-11-16 19:41:24 +0100 (Fri, 16 Nov 2007) | 4 lines


  Fix for stupid error (I need to remember to do a full 'make clean + make'
  cycle before the tests...). Sorry.
........
  r59022 | facundo.batista | 2007-11-16 20:16:15 +0100 (Fri, 16 Nov 2007) | 3 lines


  Made _ParseTupleFinds only defined to unicodeobject.c
........
  r59024 | raymond.hettinger | 2007-11-17 02:51:22 +0100 (Sat, 17 Nov 2007) | 1 line

  Fix signature in example
........
  r59033 | brett.cannon | 2007-11-17 08:07:29 +0100 (Sat, 17 Nov 2007) | 5 lines

  Remove a confusing sentence about pth files and which directories are searched
  for them.

  Closes issue #1431.  Thanks Giambattista Bloisi for the help.
........
  r59039 | nick.coghlan | 2007-11-18 12:56:28 +0100 (Sun, 18 Nov 2007) | 1 line

  Patch #1739468: Directories and zipfiles containing __main__.py are now executable
........
2007-11-18 19:35:23 +00:00
Christian Heimes 81ca7c784c Updates to the msi builder and PCbuild9 directory. msi.py can now create installers from the PCbuild9 directory with MSVCR90.dll. PCbuild and MSVCR71.dll are still the default. 2007-11-18 18:18:41 +00:00
Bill Janssen 6030a60a4e remove now-obsolete test_socket_ssl 2007-11-17 21:51:51 +00:00
Christian Heimes bce52be491 Fixed some build issues and updated docs. 2007-11-17 19:08:41 +00:00
Christian Heimes d157e69777 The _winreg module returns bytes which must be decoded to unicode, not encoded. 2007-11-17 11:46:54 +00:00
Christian Heimes ad14d11a5e Initial import of new PCbuild9 for VS 2008. It partly based on PCbuild and partly hand crafted with some idea from PCbuild8. I've recreated all the extension module projects.
The new directory needs some more love and care but it works. I'm not able to test the AMD64 build.

The new tree is heavily using the *.vcprops property sheets. Please set any global settings in the property sheets.
2007-11-17 08:15:27 +00:00
Thomas Heller 1c8e5bc3b7 Use 'del' instead of rmpyc.py to remove the pyc and pyo files. 2007-11-16 07:00:30 +00:00
Christian Heimes 631784322b Fixed an error in my last commit. The dll files are in the bin directory, not in the lib directory. 2007-11-16 02:35:02 +00:00
Christian Heimes 3bff4373e6 I finally figured out why _tkinter and _bsddb didn't compile with PCbuild8. 2007-11-16 02:14:19 +00:00
Guido van Rossum b7b030ec37 Disable dup() of SSLSocket. I don't think it can be made to work. 2007-11-16 01:28:45 +00:00
Guido van Rossum 39eb8fa0db This is roughly socket2.diff from issue 1378, with a few changes applied
to ssl.py (no need to test whether we can dup any more).
Regular sockets no longer have a _base, but we still have explicit
reference counting of socket objects for the benefit of makefile();
using duplicate sockets won't work for SSLSocket.
2007-11-16 01:24:05 +00:00
Amaury Forgeot d'Arc dd9e3b8736 Correct a failing test when test_import is run after test_coding:
be sure to import a fresh module by removing it from sys.modules
2007-11-16 00:56:23 +00:00
Guido van Rossum cf171a7fbc Cleanup of tokenizer.c. 2007-11-16 00:51:45 +00:00
Guido van Rossum 053b4f3a0e Oops, forgot to test this after the merge. 2007-11-16 00:48:13 +00:00
Guido van Rossum 3d392eb327 Merged revisions 58947-59004 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r58952 | christian.heimes | 2007-11-12 10:58:08 -0800 (Mon, 12 Nov 2007) | 6 lines

  readline module cleanup
  fixed indention to tabs
  use Py_RETURN_NONE macro
  added more error checks to on_completion_display_matches_hook

  open question: Does PyList_SetItem(l, i, o) steal a reference to o in the case of an error?
........
  r58956 | guido.van.rossum | 2007-11-12 12:06:40 -0800 (Mon, 12 Nov 2007) | 2 lines

  Add the test from issue 1704621 (the issue itself is already fixed here).
........
  r58963 | amaury.forgeotdarc | 2007-11-13 13:54:28 -0800 (Tue, 13 Nov 2007) | 23 lines

  Merge from py3k branch:
  Correction for issue1265 (pdb bug with "with" statement).

  When an unfinished generator-iterator is garbage collected, PyEval_EvalFrameEx
  is called with a GeneratorExit exception set.  This leads to funny results
  if the sys.settrace function itself makes use of generators.
  A visible effect is that the settrace function is reset to None.
  Another is that the eventual "finally" block of the generator is not called.

  It is necessary to save/restore the exception around the call to the trace
  function.

  This happens a lot with py3k: isinstance() of an ABCMeta instance runs
      def __instancecheck__(cls, instance):
          """Override for isinstance(instance, cls)."""
          return any(cls.__subclasscheck__(c)
                     for c in {instance.__class__, type(instance)})
  which lets an opened generator expression each time it returns True.

  Backport candidate, even if the case is less frequent in 2.5.
........
  r58968 | georg.brandl | 2007-11-14 05:59:09 -0800 (Wed, 14 Nov 2007) | 2 lines

  Remove dead link from random docs.
........
  r58971 | raymond.hettinger | 2007-11-14 14:56:16 -0800 (Wed, 14 Nov 2007) | 1 line

  Make __fields__ read-only.  Suggested by Issac Morland
........
  r58972 | raymond.hettinger | 2007-11-14 15:02:30 -0800 (Wed, 14 Nov 2007) | 1 line

  Add test for __fields__ being read-only
........
  r58975 | raymond.hettinger | 2007-11-14 18:44:53 -0800 (Wed, 14 Nov 2007) | 6 lines

  Accept Issac Morland's suggestion for __replace__ to allow multiple replacements
  (suprisingly, this simplifies the signature, improves clarity, and is comparably fast).
  Update the docs to reflect a previous change to the function name.
  Add an example to the docs showing how to override the default __repr__ method.
........
  r58976 | raymond.hettinger | 2007-11-14 18:55:42 -0800 (Wed, 14 Nov 2007) | 1 line

  Small improvement to the implementation of __replace__().
........
  r58977 | raymond.hettinger | 2007-11-14 18:58:20 -0800 (Wed, 14 Nov 2007) | 1 line

  Fixup example in docs.
........
  r58978 | raymond.hettinger | 2007-11-14 19:16:09 -0800 (Wed, 14 Nov 2007) | 1 line

  Example of multiple replacements.
........
  r58998 | raymond.hettinger | 2007-11-15 14:39:34 -0800 (Thu, 15 Nov 2007) | 1 line

  Add example for use cases requiring default values.
........
  r59000 | bill.janssen | 2007-11-15 15:03:03 -0800 (Thu, 15 Nov 2007) | 1 line

  add the certificate for the Python SVN repository for testing SSL
........
  r59004 | guido.van.rossum | 2007-11-15 16:24:44 -0800 (Thu, 15 Nov 2007) | 8 lines

  A patch from issue 1378 by roudkerk:

  Currently on Windows set_error() make use of a large array which maps
  socket error numbers to error messages.

  This patch removes that array and just lets PyErr_SetExcFromWindowsErr()
  generate the message by using the Win32 function FormatMessage().
........
2007-11-16 00:35:22 +00:00
Guido van Rossum 5b8b1555de Fix some minor style nits. (I'll leave adding __all__ and making the
docstrings conform to PEP 8 to someone else.)
2007-11-16 00:06:11 +00:00
Christian Heimes b61506989e Fix for VS 2008
Although WS2_32.dll doesn't have inet_pton the definition conflicts with ws2tcpip.h.
2007-11-15 23:37:07 +00:00
Amaury Forgeot d'Arc 65f9aced6e Correction for issue1134: all source files with a coding spec, except latin-1
and utf-8, crashed when parsing a multiline string, or a line longer that 512
columns.
2007-11-15 23:19:43 +00:00
Bill Janssen c05f42a8a7 add the certificate for the Python SVN repository for testing SSL 2007-11-15 23:01:30 +00:00
Bill Janssen 6e027dba93 get SSL support to work again 2007-11-15 22:23:56 +00:00
Amaury Forgeot d'Arc f83088aefe Attempt to manually add _ssl to the PCBuild8 solution file.
Seems to start compiling.
2007-11-15 21:36:47 +00:00
Amaury Forgeot d'Arc b7f17e4bb4 Found another memory leak in longrangeiter. And redo the previous correction
without calling PyType_Ready().

Question 1: Should the interpreter register all types with PyType_Ready()?
Many types seem to avoid it.

Question 2: To reproduce the problem, run the following code:
    def f():
        while True:
           for a in iter(range(0,1,10**20)):
              pass
    f()
And watch the memory used by the process.
How do we test this in a unittest?
2007-11-15 20:52:21 +00:00
Thomas Heller 519a042c7c Replace PyObject_Unicode with PyObject_Str everywhere, and remove the
#define for PyObject_Unicode in object.h.
2007-11-15 20:48:54 +00:00
Thomas Heller 6e8ea0fd9c Fix two compiler warnings on Win64. 2007-11-15 20:03:00 +00:00
Christian Heimes 4d0ebcc7fa In anticipation of the upcoming ssl patch I've added _ssl to PCbuild8. It's based on a copy of _socket.vcproj. My German version of VS 2005 alters almost every line of pcbuild.sln. Could somebody else please add _ssl.vcproj to the solution? 2007-11-15 19:57:43 +00:00
Guido van Rossum fc158e25d6 Patch 1144 by David Binger, fix for parser module. With unittest.
(I also cleared out all trailing whitespace in the C file.)
2007-11-15 19:17:28 +00:00
Amaury Forgeot d'Arc a1e9ec4e55 Correct a memory leak: the range() object was not properly freed. 2007-11-15 19:16:08 +00:00
Thomas Heller a041ba56fb On Win64, linking the python dll currently fails with 'unresolved
external symbol PyObject_Unicode'.

Building _ssl than hangs the build server because starting python.exe
displayes a message box that 'Python30.dll' cannot be found.

Temporary (?) solution: Look for existance of python30.dll and fail
the _ssl build when it is missing.
2007-11-15 19:11:49 +00:00
Christian Heimes 2be03734f8 Added some additional checks for sys.std?? is None, see #1440 2007-11-15 02:26:46 +00:00
Christian Heimes 70021d7164 The peeping and bawling of the builtin speaker is giving my poor cat the creeps. 2007-11-15 02:15:53 +00:00
Guido van Rossum 86bc33cb7c Patch 1439 by Bill Janssen. I think this will work.
Tested on Windows by Christian Heimes.
I changed the code slightly, renaming decref_socketios() to
_decref_socketios(), and moving it closer to the close() method
that it calls.  Hopefully Bill can now submit his SSL port to 3.0.
2007-11-14 22:32:02 +00:00
Christian Heimes e69a08ea93 Fix for bug #1442 pythonstartup addition of minor error checking
Python failed to report an error when it wasn't able to open the PYTHONSTARTUP file.
2007-11-14 16:21:32 +00:00
Christian Heimes 9a68f8c304 Moved the initalization of the exception before the initialization of sys.
On Windows _PySys_Init() could raise an uninitialized exception which leads to a seg fault.
2007-11-14 00:16:07 +00:00
Christian Heimes eb9b39bd57 Paths and file names from the fs should always be decoded with PyUnicode_DecodeFSDefault and not PyUnicode_FromString 2007-11-14 00:15:01 +00:00
Christian Heimes fef9bbaff2 Another #1415 fix for Windows GUI apps
print() mustn't raise an exception when sys.stdout is None.
2007-11-13 15:24:14 +00:00
Christian Heimes db23308c71 Fixed space -> tab 2007-11-13 02:34:21 +00:00
Christian Heimes 58cb1b8b0e Fix for #1415 pythonw.exe fails because std streams a missing
After a long discussion about the problem with Windows GUI apps Guido decided that sys.stdin, stdout and stderr should be None when the C runtime library returns invalid file descriptors for the standard streams.

So far the only known cases are Windows GUI apps and scripts started with pythonw on Windows. The OS restrictions are tight enough to catch the problem on other OSes.
2007-11-13 02:19:40 +00:00
Amaury Forgeot d'Arc f05149a257 Correction for issue1265 (pdb bug with "with" statement).
When an unfinished generator-iterator is garbage collected, PyEval_EvalFrameEx
is called with a GeneratorExit exception set.  This leads to funny results
if the sys.settrace function itself makes use of generators.
A visible effect is that the settrace function is reset to None.
Another is that the eventual "finally" block of the generator is not called.

It is necessary to save/restore the exception around the call to the trace
function.

This happens a lot with py3k: isinstance() of an ABCMeta instance runs
    def __instancecheck__(cls, instance):
        """Override for isinstance(instance, cls)."""
        return any(cls.__subclasscheck__(c)
                   for c in {instance.__class__, type(instance)})
which lets an opened generator expression each time it returns True.

Seems a backport candidate, even if the case is less frequent in 2.5.
2007-11-13 01:05:30 +00:00
Guido van Rossum 8161a65cd8 Add -i option. Don't exit when the command fails. Redirect stderr to stdout. 2007-11-12 23:12:57 +00:00
Christian Heimes db4a2ef23a Another fix for #1414 2007-11-12 19:53:03 +00:00