summaryrefslogtreecommitdiffstats
path: root/Python
Commit message (Collapse)AuthorAgeFilesLines
* Repair widespread misuse of _PyString_Resize. Since it's clear peopleTim Peters2002-04-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | don't understand how this function works, also beefed up the docs. The most common usage error is of this form (often spread out across gotos): if (_PyString_Resize(&s, n) < 0) { Py_DECREF(s); s = NULL; goto outtahere; } The error is that if _PyString_Resize runs out of memory, it automatically decrefs the input string object s (which also deallocates it, since its refcount must be 1 upon entry), and sets s to NULL. So if the "if" branch ever triggers, it's an error to call Py_DECREF(s): s is already NULL! A correct way to write the above is the simpler (and intended) if (_PyString_Resize(&s, n) < 0) goto outtahere; Bugfix candidate.
* - New builtin function enumerate(x), from PEP 279. Example:Guido van Rossum2002-04-261-0/+1
| | | | | enumerate("abc") is an iterator returning (0,"a"), (1,"b"), (2,"c"). The argument can be an arbitrary iterable object.
* If Py_OptimizeFlag is false then always evaluate assert conditions, don'tNeil Schemenauer2002-04-261-15/+7
| | | | test __debug__ at runtime. Closes SF patch #548833.
* Ignore SIGXFSZ.Jeremy Hylton2002-04-231-0/+3
| | | | | | | | | | | | The SIGXFSZ signal is sent when the maximum file size limit is exceeded (RLIMIT_FSIZE). Apparently, it is also sent when the 2GB file limit is reached on platforms without large file support. The default action for SIGXFSZ is to terminate the process and dump core. When it is ignored, the system call that caused the limit to be exceeded returns an error and sets errno to EFBIG. Python always checks errno on I/O syscalls, so there is nothing to do with the signal.
* Moving pymalloc along.Tim Peters2002-04-221-2/+2
| | | | | | | | | | | | | | | | | | + Redirect PyMem_{Del, DEL} to the object allocator's free() when pymalloc is enabled. Needed so old extensions can continue to mix PyObject_New with PyMem_DEL. + This implies that pgen needs to be able to see the PyObject_XYZ declarations too. pgenheaders.h now includes Python.h. An implication is that I expect obmalloc.o needs to get linked into pgen on non-Windows boxes. + When PYMALLOC_DEBUG is defined, *all* Py memory API functions now funnel through the debug allocator wrapper around pymalloc. This is the default in a debug build. + That caused compile.c to fail: it indirectly mixed PyMem_Malloc with raw platform free() in one place. This is verbotten.
* ceval.c/do_raise(): Tighten the test to disallow raising an instance ofTim Peters2002-04-181-1/+4
| | | | | | | | a str subclass. test_descr.py/string_exceptions(): New sub-test. For 2.3 only. Guido doesn't want this backported.
* Mass checkin of universal newline support.Jack Jansen2002-04-144-9/+9
| | | | | | | | Highlights: import and friends will understand any of \r, \n and \r\n as end of line. Python file input will do the same if you use mode 'U'. Everything can be disabled by configuring with --without-universal-newlines. See PEP278 for details.
* Patch #542659: Eliminate duplicate check for NULL of freevars/cellvars.Martin v. Löwis2002-04-141-4/+0
|
* _PyObject_DebugDumpStats: renamed to _PyObject_DebugMallocStats.Tim Peters2002-04-131-0/+5
| | | | | | Added code to call this when PYMALLOC_DEBUG is enabled, and envar PYTHONMALLOCSTATS is set, whenever a new arena is obtained and once late in the Python shutdown process.
* Removed more hair in support of future-generator stmts.Tim Peters2002-04-121-1/+1
|
* Got rid of ifdefs for long-obsolete GUSI versions.Jack Jansen2002-04-111-21/+0
|
* is_builtin() is not a Boolean -- it can return -1, 0, 1. [SF #541652]Guido van Rossum2002-04-091-1/+1
|
* Move Unicode finalization further down in the chain.Marc-André Lemburg2002-04-081-5/+5
| | | | Fixes bug #525620.
* Return bools from functions named is_<whatever>().Guido van Rossum2002-04-071-4/+4
|
* Fix by Greg Chapman from SF bug 534347: Potential AV in vgetargskeywords.Guido van Rossum2002-04-041-1/+7
| | | | Bugfix candidate.
* Add the 'bool' type and its values 'False' and 'True', as described inGuido van Rossum2002-04-032-8/+27
| | | | | | | | | | | | | PEP 285. Everything described in the PEP is here, and there is even some documentation. I had to fix 12 unit tests; all but one of these were printing Boolean outcomes that changed from 0/1 to False/True. (The exception is test_unicode.py, which did a type(x) == type(y) style comparison. I could've fixed that with a single line using issubtype(x, type(y)), but instead chose to be explicit about those places where a bool is expected. Still to do: perhaps more documentation; change standard library modules to return False/True from predicates.
* Get rid of another use of PyArg_Parse()Neal Norwitz2002-04-011-2/+2
|
* Use symbolic METH_VARARGS instead of 1 for ml_flagsNeal Norwitz2002-03-312-20/+20
|
* Remove the CACHE_HASH and INTERN_STRINGS preprocessor symbols.Tim Peters2002-03-291-2/+0
|
* Call PyObject_GC_UnTrack before putting an object on the list of trash.Neil Schemenauer2002-03-291-2/+2
|
* add comment reminding people about class hierarchy in Doc/lib/libexcs.texSkip Montanaro2002-03-281-0/+5
|
* Fix an issue that was reported in but unrelated to the main problem ofGuido van Rossum2002-03-281-2/+10
| | | | | | | | | | | | | SF bug 535905 (Evil Trashcan and GC interaction). The SETLOCAL() macro should not DECREF the local variable in-place and then store the new value; it should copy the old value to a temporary value, then store the new value, and then DECREF the temporary value. This is because it is possible that during the DECREF the frame is accessed by other code (e.g. a __del__ method or gc.collect()) and the variable would be pointing to already-freed memory. BUGFIX CANDIDATE!
* Introduce two new flag bits that can be set in a PyMethodDef methodFred Drake2002-03-281-0/+7
| | | | | | | | | | | | | | | | | | | descriptor, as used for the tp_methods slot of a type. These new flag bits are both optional, and mutually exclusive. Most methods will not use either. These flags are used to create special method types which exist in the same namespace as normal methods without having to use tedious construction code to insert the new special method objects in the type's tp_dict after PyType_Ready() has been called. If METH_CLASS is specified, the method will represent a class method like that returned by the classmethod() built-in. If METH_STATIC is specified, the method will represent a static method like that returned by the staticmethod() built-in. These flags may not be used in the PyMethodDef table for modules since these special method types are not meaningful in that case; a ValueError will be raised if these flags are found in that context.
* Change sys_exit to use METH_VARARGS.Neal Norwitz2002-03-271-2/+5
| | | | sys.exit() now requires 0-1 arguments. Previously 2+ arguments were allowed.
* I've been waiting 8 years for KSR to re-emerge from bankruptcy. If theyTim Peters2002-03-251-4/+0
| | | | ever do, they can damn well #define _POSIX_THREADS their own damn selves.
* SF bug 480215: softspace confused in nested printTim Peters2002-03-241-10/+12
| | | | | | | | | | This fixes the symptom, but PRINT_ITEM has no way to know what (if anything) PyFile_WriteObject() writes unless the object being printed is a string. When the object isn't a string, this fix retains the guess that softspace should be set after PyFile_WriteObject(). We might want to say that it's the job of filelike-object write methods to leave the file's softspace in the correct state. That would probably be better -- but everyone relies on PRINT_ITEM to guess for them now.
* Fix wording of sys.exit docstring. Close SF bug 534113.Neil Schemenauer2002-03-231-1/+1
|
* Disable the parser hacks that enabled the "yield" keyword using a futureNeil Schemenauer2002-03-222-11/+15
| | | | statement.
* Re-enable GC of generator objects.Neil Schemenauer2002-03-181-6/+6
|
* Document that _POSIX_SEMAPHORES is predefined.Martin v. Löwis2002-03-171-0/+4
|
* Patch #525532: Add support for POSIX semaphores.Martin v. Löwis2002-03-171-0/+119
|
* Patch #504224: add plan9 threads include to thread.c.Martin v. Löwis2002-03-091-0/+4
|
* Patch #494045: patches errno and stat to cope on plan9.Martin v. Löwis2002-03-092-16/+36
|
* Docstring for filter(): Someone on the Tutor list reasonably complainedTim Peters2002-03-091-5/+5
| | | | | that it didn't tell enough of the truth. Bugfix candidate (I guess -- it helps and it's harmless).
* Patch #50002: Display line information for bad \x escapes:Martin v. Löwis2002-03-034-17/+52
| | | | | | - recognize "SyntaxError"s by the print_file_and_line attribute. - add the syntaxerror attributes to all exceptions in compile.c. Fixes #221791
* SF #506611, fix sys.setprofile(), sys.settrace() core dumpsNeal Norwitz2002-03-031-2/+2
| | | | when no arguments are passed
* SF patch 522961: Leak in Python/thread_nt.h, from Gerald S. Williams.Tim Peters2002-02-281-14/+1
| | | | | | | A file-static "threads" dict mapped thread IDs to Windows handles, but was never referenced, and entries never got removed. This gets rid of the YAGNI-dict entirely. Bugfix candidate.
* Add 2002 to PSF copyrights.Michael W. Hudson2002-02-271-1/+1
| | | | | Doc/README is odd; it assigns some copyright to the PSF in 2000, when I didn't think it existed...
* OS/2 EMX port changes (Python part of patch #450267):Andrew MacIntyre2002-02-264-3/+140
| | | | | | | | | Python/ dynload_shlib.c // EMX port emulates dlopen() etc. for DL extensions import.c // changes to support 8.3 DLL name limit (VACPP+EMX) // and case sensitive import semantics importdl.h thread_os2.h
* Move some opcodes to top of big eval_frame switch statement. SkipNeil Schemenauer2002-02-171-44/+45
| | | | | things_to_do block for a few common opcodes that don't do any real work. Closes SF patch #512256.
* LOAD_FAST: rearrange branches to favor the expected case, and getTim Peters2002-02-121-10/+7
| | | | rid of a redundant NULL-pointer check in the expected case.
* Removed a spurious }. (How did it get there in the first place??)Jack Jansen2002-02-111-2/+0
|
* Fix to the UTF-8 encoder: it failed on 0-length input strings.Marc-André Lemburg2002-02-071-1/+20
| | | | | | | | | | | | | | Fix for the UTF-8 decoder: it will now accept isolated surrogates (previously it raised an exception which causes round-trips to fail). Added new tests for UTF-8 round-trip safety (we rely on UTF-8 for marshalling Unicode objects, so we better make sure it works for all Unicode code points, including isolated surrogates). Bumped the PYC magic in a non-standard way -- please review. This was needed because the old PYC format used illegal UTF-8 sequences for isolated high surrogates which now raise an exception.
* Got rid of an extra level of {} and funny formatting that was stillJack Jansen2002-02-011-58/+56
| | | | there because of the NeXT history.
* A new dynload_next, which actually only works on OSX but isn't renamed yet.Jack Jansen2002-02-011-112/+56
| | | | | | | | | | By default every module is imported in its own namespace, but this can be changed by defining USE_DYLD_GLOBAL_NAMESPACE. In a future version this define will be replaced by a runtime setting, but that needs a bit more thought. This code is largely based on code and feedback from Steven Majewski, Marcel Prastawa, Manoj Plakal and other on pythonmac-sig.
* Fix missing space between words. Bugfix candidate.Neal Norwitz2002-01-291-1/+1
|
* Fix spelling mistakes. Bugfix candidates.Neal Norwitz2002-01-292-4/+4
|
* Test for error status of shl_findsym. Fixes #505417. 2.2.1 candiate.Martin v. Löwis2002-01-261-1/+4
|
* Fix forMichael W. Hudson2002-01-231-2/+2
| | | | | | [ #496154 ] Typos in dynload_beos.c as suggested in the report. A little embarassing; 2.2.1 candidate for sure.
* Remove the unused & broken PyThread_*_sema() functions and related constants.Fred Drake2002-01-1910-550/+0
| | | | This closes SF patch #504215.