summaryrefslogtreecommitdiffstats
path: root/Lib
Commit message (Collapse)AuthorAgeFilesLines
* Add a new function imp.lock_held(), and use it to skip test_threaded_importTim Peters2001-08-301-4/+6
| | | | when that test is doomed to deadlock.
* Flush output more aggressively. This makes things look better ifNeil Schemenauer2001-08-291-0/+2
| | | | the setup script is running from inside Vim.
* Track the block stack more reasonably in order to handle continue inJeremy Hylton2001-08-291-13/+45
| | | | | | | | try/except or try/finally. Previous versions had only track SETUP_LOOP blocks and ignored the exception part. This meant that it allowed continue inside a try/except but generated buggy code. Now it does the right thing.
* Improve stack depth computation for try/except and try/finallyJeremy Hylton2001-08-291-1/+4
| | | | Add CONTINUE_LOOP to the list of unconditional transfers
* Add __getitem__() handler for use by visitContinue()Jeremy Hylton2001-08-291-0/+2
|
* Generate SET_LINENO for list and tuple literals when the open parenJeremy Hylton2001-08-291-1/+3
| | | | | | | starts a new line. Also fix undetected typo in visitDict() -- uncovered by recent change to add lineno attrs to atoms.
* Make sure that atoms (Tuple, List, etc.) have lineno attributesJeremy Hylton2001-08-291-2/+4
|
* Fix off-by-one errors in code to find depth of stack.Jeremy Hylton2001-08-291-3/+3
| | | | | XXX The code is still widely inaccurate, but most (all?) of the time it's an overestimate.
* Workaround by Tim Peters to skip this test if run from test.autotest,Jack Jansen2001-08-291-1/+5
| | | | | in which case it will hang because the import lock is already held by the main thread.
* Undo change from list to dict for handling varnames, consts, etc.Jeremy Hylton2001-08-291-49/+22
| | | | | | | | | | As the doc string for _lookupName() explains: This routine uses a list instead of a dictionary, because a dictionary can't store two different keys if the keys have the same value but different types, e.g. 2 and 2L. The compiler must treat these two separately, so it does an explicit type comparison before comparing the values.
* Change default() to use getChildNodes() instead of getChildren()Jeremy Hylton2001-08-291-3/+2
|
* Support // and //=Jeremy Hylton2001-08-291-1/+6
| | | | | | | Generate SET_LINENO for del statements. Define klass=1 for PyFlowGraph constructor for a class statement. A class has no varnames.
* Add support for // and //=.Jeremy Hylton2001-08-291-5/+16
| | | | | | | | Avoid if/elif/elif/else tests where the final else is supposed to handle exactly one case instead of all other cases. When the list of operators is extended, the catchall else treats all new operators as the last operator in the set of tests. Instead, raise an exception if an unexpected operator occurs.
* Add generator detection to symbol table.Jeremy Hylton2001-08-291-9/+35
| | | | | Fix bug in handling of statements like "l[x:y] = 2". The visitor was treating this as assignments to l, x, and y!
* Modify name conversion to be (hopefully) a bit more efficient.Jeremy Hylton2001-08-291-17/+52
| | | | | | | | Use a dictionary instead of a list to map objects to their offsets in a const/name tuple of a code object. XXX The conversion is perhaps incomplete, in that we shouldn't have to do the list2dict to start.
* Revise implementations of getChildren() and getChildNodes().Jeremy Hylton2001-08-291-100/+602
| | | | | | | | | | | | | | | | Add support for floor division (// and //=) The implementation of getChildren() and getChildNodes() is intended to be faster, because it avoids calling flatten() on every return value. But it's not clear that it is a lot faster, because constructing a tuple with just the right values ends up being slow. (Too many attribute lookups probably.) The ast.txt file is much more complicated, with funny characters at the ends of names (*, &, !) to indicate the types of each child node. The astgen script is also much more complex, making me wonder if it's still useful.
* Add opcodes for floor division and true division (PEP 238)Jeremy Hylton2001-08-291-0/+4
|
* Add tests for augmented floor divisionJeremy Hylton2001-08-292-0/+27
|
* Don't include doc string of class in its code childJeremy Hylton2001-08-291-0/+5
|
* Now that int is subclassable, have to change a test that tests forGuido van Rossum2001-08-291-2/+2
| | | | non-subclassability. (More tests for number subclassing should follow.)
* marshal.c r_long64: When reading a TYPE_INT64 value on a box with 32-bitTim Peters2001-08-291-0/+41
| | | | ints, convert to PyLong (rather than throwing away the high-order 32 bits).
* pickle.py, load_int(): Match cPickle's just-repaired ability to unpickleTim Peters2001-08-282-1/+20
| | | | | | | | 64-bit INTs on 32-bit boxes (where they become longs). Also exploit that int(str) and long(str) will ignore a trailing newline (saves creating a new string at the Python level). pickletester.py: Simulate reading a pickle produced by a 64-bit box.
* Update an email address.Barry Warsaw2001-08-281-10/+10
|
* Fix the test again due to fewer calls to __getattr__.Guido van Rossum2001-08-281-3/+1
|
* Fix one test to reflect the change in method lookup policy.Guido van Rossum2001-08-281-2/+1
|
* Make sure the JUMP_ABSOLUTE and POP_BLOCK at the end of a for loop areJeremy Hylton2001-08-281-1/+1
| | | | contiguous.
* XXX_NAME ops should affect varnamesJeremy Hylton2001-08-281-1/+4
| | | | | | varnames should list all the local variables (with arguments first). The XXX_NAME ops typically occur at the module level and assignment ops should create locals.
* Generate FOR_ITER-based loops instead of old FOR_LOOP-based loopsJeremy Hylton2001-08-281-5/+9
|
* FOR_ITER is a jrel_op() not a plain old def_op()Jeremy Hylton2001-08-281-1/+1
|
* Added list of tests expected to be skipped on the mac.Jack Jansen2001-08-281-0/+36
|
* Handle private namesJeremy Hylton2001-08-273-20/+50
| | | | | | | | | | | | | | | | | | | (Hard to believe these were never handled before) Add misc.mangle() that mangles based on the rules in compile.c. XXX Need to test the corner cases Update CodeGenerator with a class_name attribute bound to None. If a particular instance is created within a class scope, the instance's class_name is bound to that class's name. Add mangle() method to CodeGenerator that mangles if the class_name has a class_name in it. Modify the FunctionCodeGenerator family to handle an extra argument-- the class_name. Wrap all name ops and attrnames in calls to self.mangle()
* A quick hack to make the test pass on the Mac (similar to the quick hackJack Jansen2001-08-271-0/+4
| | | | to make it pass on Windows:-).
* emit SET_LINENO for augmented assignmentsJeremy Hylton2001-08-271-0/+4
|
* Many changes -- bug fixes and sundry improvementsJeremy Hylton2001-08-271-33/+30
| | | | | | | | | | | | | | | | Make nested scopes enabled by default Add is_constant_false() helper so that compiled code and symbols are consistent with builtin compiler's handling of "if 0:" Fix doc string handling to be consistent with recent change that eliminates the doc string from the Module's node attribute. Add fix to print handling from Evan & Shane. Track change to visitor api by making "verbose" explicit. Comment out setting CO_NESTED flag (it's unnecessary in 2.2).
* Fix another test still expecting overflow on big int literals.Tim Peters2001-08-271-7/+2
|
* Change test_overflow to test_no_overflow; looks like big int literalsTim Peters2001-08-271-4/+5
| | | | | are auto-coerced to longs now, but this test still expected OverflowError. I can't imagine this test failure was unique to Windows.
* Fix for sibling nodes that define the same free variableJeremy Hylton2001-08-271-6/+10
| | | | | | | | Evan Simpson's fix. And his explanation: If you defined two nested functions in a row that refer to the same non-global variable, the second one will be generated as though the variable were global.
* Add lookup_name() to optimize use of stack framesJeremy Hylton2001-08-271-5/+21
| | | | | | | | | | | | The use of com_node() introduces a lot of extra stack frames, enough to cause a stack overflow compiling test.test_parser with the standard interpreter recursionlimit. The com_node() is a convenience function that hides the dispatch details, but comes at a very high cost. It is more efficient to dispatch directly in the callers. In these cases, use lookup_node() and call the dispatched node directly. Also handle yield_stmt in a way that will work with Python 2.1 (suggested by Shane Hathaway)
* Two changes to visitor API:Jeremy Hylton2001-08-271-20/+23
| | | | | | | Remove _preorder as alias for dispatch and call dispatch directly. Add an extra optional argument to walk() XXX Also comment out some code that does debugging prints.
* Add content-type header to ftp URLs (SF patch #454553)Jeremy Hylton2001-08-273-14/+27
| | | | | | | | Modify rfc822.formatdate() to always generate English names, regardless of locale. This is required by RFC 1123. In open_local_file() of urllib and urllib2, use new formatdate() from rfc822.
* SF bug [#455775] float parsing discrepancy.Tim Peters2001-08-271-0/+15
| | | | PyTokenizer_Get: error if exponent contains no digits (3e, 2.0e+, ...).
* Patch by Bill Noon: added 'dylib' as a library type along withJack Jansen2001-08-272-4/+9
| | | | | 'static' and 'shared'. This fixes extension building for dynamic Pythons on MacOSX.
* Undo previous checkin -- Barry fixed it better.Guido van Rossum2001-08-241-2/+0
|
* Update test output to match new (more informative) error message aboutGuido van Rossum2001-08-241-2/+2
| | | | calling unbound method with wrong first argument.
* Quick and dirty fix for test_extcall failures trigged by Guido'sBarry Warsaw2001-08-242-4/+8
| | | | | | | recent classobject.c change. When calling an unbound method with no instances as first argument, the error message has changed. The message now contains the class name, but the output text being compared to is too generic, so skip printing it.
* Remove the local 'getset' class -- this is now a built-in type withGuido van Rossum2001-08-241-18/+0
| | | | the same signature.
* Rip the import repr truncation test out of here and put it in test_repr.pyBarry Warsaw2001-08-241-35/+0
|
* Added lots of tests for reprs of "simple" objects, such as file,Barry Warsaw2001-08-241-0/+156
| | | | | | | lambda (anonymous functions?), function, xrange, buffer, cell (need to fill in), and (some) descriptor types. Also added a new test case for testing repr truncation fixes.
* Repair repr of future-features (wasn't updated to include the newTim Peters2001-08-241-2/+3
| | | | compiler-flag argument).
* supers(): typo -- "if verify" should be "if verbose".Guido van Rossum2001-08-241-1/+1
|