summaryrefslogtreecommitdiffstats
path: root/Python
Commit message (Collapse)AuthorAgeFilesLines
* When re-writing a factor containing a unary negation of a literal, onlyFred Drake2001-08-301-0/+3
| | | | | affect nodes without another operator. This was causing negated exponentiations to drop the exponentiation. This closes SF bug #456756.
* Do the int inlining only if the type is really an int, not wheneverGuido van Rossum2001-08-301-6/+9
| | | | | PyInt_Check() succeeds. That returns true for subtypes of int, which may override __add__ or __sub__.
* fix for part of bug #453523: disable unmarshalling of code objects inMichael W. Hudson2001-08-301-1/+7
| | | | restricted execution mode.
* Removed unreachable goto statement to silence SGI compiler.Sjoerd Mullender2001-08-301-1/+0
|
* Removed some unreachable break statements to silence SGI compiler.Sjoerd Mullender2001-08-301-3/+0
|
* Add a new function imp.lock_held(), and use it to skip test_threaded_importTim Peters2001-08-301-0/+19
| | | | when that test is doomed to deadlock.
* SF bug [#456252] Python should never stomp on [u]intptr_t.Tim Peters2001-08-291-2/+2
| | | | | | | | | | | pyport.h: typedef a new Py_intptr_t type. DELICATE ASSUMPTION: That HAVE_UINTPTR_T implies intptr_t is available as well as uintptr_t. If that turns out not to be true, things must get uglier (C99 wants both, so I think it's an assumption we're *likely* to get away with). thread_nt.h, PyThread_start_new_thread: MS _beginthread is documented as returning unsigned long; no idea why uintptr_t was being used. Others: Always use Py_[u]intptr_t, never [u]intptr_t directly.
* GUSI on the Mac creates threads with a default stack size of 20KB, which isJack Jansen2001-08-291-1/+21
| | | | | not enough for Python. Increased the stacksize to a (somewhat arbitrary) 64KB.
* marshal.c r_long64: When reading a TYPE_INT64 value on a box with 32-bitTim Peters2001-08-291-12/+24
| | | | ints, convert to PyLong (rather than throwing away the high-order 32 bits).
* The "O!" format code should implement an isinstance() testGuido van Rossum2001-08-281-1/+1
| | | | rather than a type equality test.
* If an integer constant can't be generated from an integer literalJeremy Hylton2001-08-271-5/+2
| | | | because of overflow, generate a long instead.
* Refer to the toolbox modules by their official name (Carbon.AE), not the ↵Jack Jansen2001-08-271-59/+59
| | | | internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
* PyErr_Format(): Factor out most of this code intoBarry Warsaw2001-08-241-114/+1
| | | | | PyString_FromFormat() since it's much more generally useful than just for exceptions.
* Add 'super' builtin type.Guido van Rossum2001-08-241-0/+3
|
* Add new built-in type 'getset' (PyGetSet_Type).Guido van Rossum2001-08-231-0/+3
| | | | This implements the 'getset' class from test_binop.py.
* Mac toolbox modules have gotten an _ prepended to their name.Jack Jansen2001-08-231-58/+58
|
* When an inlined operation on two small ints causes overflow, don'tGuido van Rossum2001-08-231-32/+24
| | | | | raise the exception here -- call the generic function (which may convert the arguments to long and try again).
* Introduce OverflowWarning -- to be issued when short int operationsGuido van Rossum2001-08-231-0/+7
| | | | are overflowing and a long int operation is substituted.
* Fix SF bug [ #450245 ] Error in parsing future stmtsJeremy Hylton2001-08-201-3/+18
| | | | | | | | | Check return value from future_parse() in for loop for file_input to accomodate multiple future statements on separate lines. Add several comments explaining how the code works. Remove out-dated XXX comment.
* Fix SF bug #443600:Guido van Rossum2001-08-181-15/+46
| | | | | | | | Change to get/set/del slice operations so that if the object doesn't support slicing, *or* if either of the slice arguments is not an int or long, we construct a slice object and call the get/set/del item operation instead. This makes it possible to design classes that support slice arguments of non-integral types.
* Fix for bug [#452230] future division isn't propagated.Tim Peters2001-08-171-1/+8
| | | | | | | builtin_eval wasn't merging in the compiler flags from the current frame; I suppose we never noticed this before because future division is the first future-feature that can affect expressions (nested_scopes and generators had only statement-level effects).
* A fiddled version of the rest of Michael Hudson's SF patchTim Peters2001-08-171-8/+26
| | | | | #449043 supporting __future__ in simulated shells which implements PEP 264.
* ceval, PyEval_MergeCompilerFlags: wasn't merging in theTim Peters2001-08-171-6/+3
| | | | | | | | | | | | | | CO_FUTURE_DIVISION flag. Redid this to use Jeremy's PyCF_MASK #define instead, so we dont have to remember to fiddle individual feature names here again. pythonrun.h: Also #define a PyCF_MASK_OBSOLETE mask. This isn't used yet, but will be as part of the PEP 264 implementation (compile() mustn't raise an error just because old code uses a flag name that's become obsolete; a warning may be appropriate, but not an error; so compile() has to know about obsolete flags too, but nobody is going to remember to update compile() with individual obsolete flag names across releases either -- i.e., this is the flip side of PyEval_MergeCompilerFlags's oversight).
* Patch #445762: Support --disable-unicodeMartin v. Löwis2001-08-177-14/+80
| | | | | | | | - Do not compile unicodeobject, unicodectype, and unicodedata if Unicode is disabled - check for Py_USING_UNICODE in all places that use Unicode functions - disables unicode literals, and the builtin functions - add the types.StringTypes list - remove Unicode literals from most tests.
* Patch #427190: Implement and use METH_NOARGS and METH_O.Martin v. Löwis2001-08-163-168/+138
|
* Oops. Two fixes for SF bug #422004 are not needed. :-)Guido van Rossum2001-08-161-1/+0
|
* Bunchathings:Guido van Rossum2001-08-161-5/+6
| | | | | | | | | | | - initsigs(): Ignore SIGXFZ so writing files beyond the file system size limit won't kill us. - Py_Initialize(): call _Py_ReadyTypes() instead of readying types here. - Py_Initialize(): call _PyImport_FixupExtension() for module "extensions". (SF bug #422004.)
* Fix SF bug [ #450909 ] __future__.division fails at promptJeremy Hylton2001-08-141-2/+6
| | | | | | When code is compiled and compiler flags are passed in, be sure to update cf_flags with any features defined by future statements in the compiled code.
* Fixed typo in comment leading up to _PyImport_FixupExtension().Barry Warsaw2001-08-131-1/+1
|
* Py_Initialize(): Apply patch by Jürgen Hermann to callBarry Warsaw2001-08-131-0/+1
| | | | | | | | _PyImport_FixupExtension() on the exceptions module. Now reload(exceptions) acts just like reload(sys) instead of raising an ImportError. This closes SF bug #422004.
* Remove much dead code from ceval.cJeremy Hylton2001-08-121-220/+18
| | | | | | | | | | | | | | The descr changes moved the dispatch for calling objects from call_object() in ceval.c to PyObject_Call() in abstract.c. call_object() and the many functions it used in ceval.c were no longer used, but were not removed. Rename meth_call() as PyCFunction_Call() so that it can be called by the CALL_FUNCTION opcode in ceval.c. Also, fix error message that referred to PyEval_EvalCodeEx() by its old name eval_code2(). (I'll probably refer to it by its old name, too.)
* SF Patch [ 429024 ] deal with some unary ops at compile timeJeremy Hylton2001-08-121-3/+66
| | | | | | | | | | | | | Revised version of Fred's patch, including support for ~ operator. If the unary +, -, or ~ operator is applied to a constant, don't generate a UNARY_xxx opcode. Just store the approriate value as a constant. If the value is negative, extend the string containing the constant and insert a negative in the 0th position. For ~, compute the inverse of int and longs and use them directly, but be prepared to generate code for all other possibilities (invalid numbers, floats, complex).
* Patch by Jonathan Wight (slightly reformatted) to forestall loading theJack Jansen2001-08-111-3/+7
| | | | | | | | same module twice, which apparently crashes Python. I could not test the error condition, but in normal life it seems to have no adverse effects. Also removed an unsued variable, and corrected 2 glaring errors (missing 'case' in front of a label).
* Remove st_nested_scopes from struct symtable,Jeremy Hylton2001-08-111-130/+46
| | | | | | | because nested scopes are always enabled. (Accidentally checked in one small change along this path yesterday, wreaking havoc in the Windows build.)
* st_nested_scopes was uninitialized trash. Jeremy should fix in a betterTim Peters2001-08-111-0/+6
| | | | way; see code comments.
* Refactor future feature handlingJeremy Hylton2001-08-104-52/+17
| | | | | | | | | | | Replace uses of PyCF_xxx with CO_xxx. Replace individual feature slots in PyFutureFeatures with single bitmask ff_features. When flags must be transfered among the three parts of the interpreter that care about them -- the pythonrun layer, the compiler, and the future feature parser -- can simply or (|) the definitions.
* Apply SF patch #424554: check for PYTHONDUMPREFS to be set instead ofGuido van Rossum2001-08-091-5/+1
| | | | asking to print the references.
* Got rid of unused includes.Jack Jansen2001-08-081-22/+2
|
* Split macglue.c into two: a new mactoolboxglue.c (in ./Python)Jack Jansen2001-08-081-0/+430
| | | | | | | | | | | | with functionality needed for both unix-Python and MacPython and a new smaller ./Mac/Python/macglue.c which contains MacPython stuff only. pymactoolbox.h has moved to ./Include from ./Mac/Include and now also contains the relevant stuff from macglue.h. The net effect of this is that the ./Mac subdirectory is not needed anymore for building the unix-Python core on MacOSX (it is needed for building the extension modules).
* Put conditional S_IFMT definition into pyport.h.Martin v. Löwis2001-08-081-5/+0
|
* Put conditional S_ISDIR definition(s) into pyport.h.Martin v. Löwis2001-08-082-5/+1
|
* Repair the Windows build (S_ISDIR() macro doesn't exist).Tim Peters2001-08-081-1/+1
| | | | | Somebody else should feel free to repair this a different way; see Python- Dev for discussion.
* Patch #448227: Raise an exception when a directory is passed to execfile.Martin v. Löwis2001-08-081-4/+23
|
* Implement PEP 238 in its (almost) full glory.Guido van Rossum2001-08-084-196/+264
| | | | | | | | | | | | | | | | | | | | | | | | | | This introduces: - A new operator // that means floor division (the kind of division where 1/2 is 0). - The "future division" statement ("from __future__ import division) which changes the meaning of the / operator to implement "true division" (where 1/2 is 0.5). - New overloadable operators __truediv__ and __floordiv__. - New slots in the PyNumberMethods struct for true and floor division, new abstract APIs for them, new opcodes, and so on. I emphasize that without the future division statement, the semantics of / will remain unchanged until Python 3.0. Not yet implemented are warnings (default off) when / is used with int or long arguments. This has been on display since 7/31 as SF patch #443474. Flames to /dev/null.
* - Rename PyType_InitDict() to PyType_Ready().Guido van Rossum2001-08-071-1/+4
| | | | | | - Add an explicit call to PyType_Ready(&PyList_Type) to pythonrun.c (just for the heck of it, really -- we should either explicitly ready all types, or none).
* Another bug fix for recent import * warning (caught by Thomas Wouters)Jeremy Hylton2001-08-061-3/+3
| | | | | Only return if symtable_warn() returns -1, indicating that the warning was turned into an error.
* Fix error message for import * in function/class scopeJeremy Hylton2001-08-061-1/+1
|
* Fix SF bug [ #445474 ] warn about import * inside functionsJeremy Hylton2001-08-061-0/+5
| | | | Reported by the Man himself.
* Derived from SF patch #446899 Permit import of .pyw under Windows, fromTim Peters2001-08-041-5/+14
| | | | David Bolen.
* Plug a memory leak in Py_InitModule4(): when PyDict_SetItemString() failed,Fred Drake2001-08-041-2/+6
| | | | | | the object being inserted was not being DECREFed. This closes SF bug #444486.