Commit Graph

278 Commits

Author SHA1 Message Date
Guido van Rossum
e7fc50f2d0 Add an errors parameter to open() and TextIOWrapper() to specify error handling. 2007-12-03 22:54:21 +00:00
Christian Heimes
217cfd1c86 Cleanup: Replaced most PyInt_ aliases with PyLong_ and disabled the aliases in intobject.h 2007-12-02 14:31:20 +00:00
Georg Brandl
1a3284ed69 #1535: rename __builtin__ module to builtins. 2007-12-02 09:40:06 +00:00
Christian Heimes
7d2ff884ee Merged revisions 59226-59233 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r59228 | amaury.forgeotdarc | 2007-11-29 21:24:36 +0100 (Thu, 29 Nov 2007) | 4 lines

  vc2008: Move python.vcproj first in the solution file, so that
  it becomes the default startup project when opening the file
  for the first time.
........
  r59230 | georg.brandl | 2007-11-30 00:00:03 +0100 (Fri, 30 Nov 2007) | 3 lines

  Add more examples to the wsgiref docs.
  From GHOP by Josip Dzolonga.
........
  r59231 | amaury.forgeotdarc | 2007-11-30 00:35:25 +0100 (Fri, 30 Nov 2007) | 7 lines

  Issue #1402: PyInterpreterState_Clear() may still invoke user code
  (in deallocation of running threads, for example), so the PyGILState_Release()
  function must still be functional.
  On the other hand, _PyGILState_Fini() only frees memory, and can be called later.

  Backport candidate, but only after some experts comment on it.
........
2007-11-30 14:35:04 +00:00
Christian Heimes
c896700235 Partial fix for bug #1306
Multiple reinitializations of Python 3.0 failed on a system without a hardcoded default fs encoding. The patch makes sure that the default fs encoding is freed and reset to NULL on e.g. Linux.
I've also taken the liberty to increase the debugging in Objects/object.c:_Py_ForgetReference(). The method is used to validate the reference chain.
Reinitialization still fails in the 3rd round of my test suite:
* ob
object  : <refcnt 0 at 0x821c840>
type    : str
refcount: 0
address : 0x821c840
* op->_ob_prev->_ob_next
object  : <refcnt 0 at 0x821c840>
type    : str
refcount: 0
address : 0x821c840
* op->_ob_next->_ob_prev
object  : bytearray(b'')
type    : bytearray
refcount: 1
address : 0x826b838
Fatal Python error: UNREF invalid object
2007-11-30 10:18:26 +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
Christian Heimes
2be03734f8 Added some additional checks for sys.std?? is None, see #1440 2007-11-15 02:26:46 +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
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
Guido van Rossum
98297ee781 Merging the py3k-pep3137 branch back into the py3k branch.
No detailed change log; just check out the change log for the py3k-pep3137
branch.  The most obvious changes:

  - str8 renamed to bytes (PyString at the C level);
  - bytes renamed to buffer (PyBytes at the C level);
  - PyString and PyUnicode are no longer compatible.

I.e. we now have an immutable bytes type and a mutable bytes type.

The behavior of PyString was modified quite a bit, to make it more
bytes-like.  Some changes are still on the to-do list.
2007-11-06 21:34:58 +00:00
Guido van Rossum
826d8973ac Patch 1352 (continued in issue 1329) by Christian Heimes.
Before sys.stderr is set to the proper thing, set it to a really simple
file-like object that can print tracebacks using direct file descriptor I/O.
This is handy for debugging.
2007-10-30 18:34:07 +00:00
Guido van Rossum
2dced8b602 Patch 1329 (partial) by Christian Heimes.
Add a closefd flag to open() which can be set to False to prevent closing
the file descriptor when close() is called or when the object is destroyed.
Useful to ensure that sys.std{in,out,err} keep their file descriptors open
when Python is uninitialized.  (This was always a feature in 2.x, it just
wasn't implemented in 3.0 yet.)
2007-10-30 17:27:30 +00:00
Guido van Rossum
40d20bcf1f Issue 1267, continued.
Additional patch by Christian Heimes to deal more cleanly with the
FILE* vs file-descriptor issues.
I cleaned up his code a bit, and moved the lseek() call into import.c.
2007-10-22 00:09:51 +00:00
Guido van Rossum
ce3a72aec6 Patch 1267 by Christian Heimes.
Move the initialization of sys.std{in,out,err} and __builtin__.open
to C code.
This solves the problem that "python -S" wouldn't work.
2007-10-19 23:16:50 +00:00
Guido van Rossum
00bc0e0a2d Patch #1272, by Christian Heimes and Alexandre Vassalotti.
Changes to make __file__ a proper Unicode object, using the default
filesystem encoding.
This is a bit tricky because the default filesystem encoding isn't
set by the time we import the first modules; at that point we fudge
things a bit.  This is okay since __file__ isn't really used much
except for error reporting.
Tested on OSX and Linux only so far.
2007-10-15 02:52:41 +00:00
Guido van Rossum
c5724deb1a get rid of some more PyString uses.
Only the filename is still a PyString now.
(We'll need to deal with the default filesystem encoding to do it right.)
2007-10-10 21:38:59 +00:00
Martin v. Löwis
85bcc66bb4 Convert code from sys.stdin.encoding to UTF-8 in
interactive mode. Fixes #1100.
2007-09-04 09:18:06 +00:00
Martin v. Löwis
5deb2101df Explicitly convert err->text to Unicode. Fixes #1069. 2007-08-31 11:17:42 +00:00
Neal Norwitz
2bad970293 Make some internal functions static 2007-08-27 06:19:22 +00:00
Neal Norwitz
a369c5aba6 Use unicode 2007-08-25 07:41:59 +00:00
Martin v. Löwis
47383403a0 Implement PEP 3131. Add isidentifier to str. 2007-08-15 07:32:56 +00:00
Martin v. Löwis
d1cd4d4176 Set sys.stdout.encoding properly.
Always set LC_CTYPE on interpreter startup.
Add device_encoding function.
2007-08-11 14:02:14 +00:00
Guido van Rossum
1bd2122041 Silence compiler warning. 2007-07-10 20:14:13 +00:00
Guido van Rossum
e8432ac42f Upon exit, flush stdout and stderr (twice: before and after the code that
attempts to delete all modules).  This makes test_subprocess work again.
(I can't quite figure out why stdout/stderr don't get deleted properly,
which would flush them anyway, but that's a separate issue.)
2007-07-09 15:04:50 +00:00