| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
SF patch 102989 by Thomas Wouters
|
|
|
|
|
| |
Track changes to new opcodes. Add hasfree list that applies to all
ops that use the closure.
|
|
|
|
|
|
|
|
| |
added test script and expected output file as well
this closes patch 103297.
__all__ attributes will be added to other modules without first submitting
a patch, just adding the necessary line to the test script to verify
more-or-less correct implementation.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
rfc822 (Addresslist) modules. Also a preliminary testcase for augmented
assignment, which should actually be merged with the test_class testcase I
added last week.
|
|
|
|
|
|
|
|
|
| |
Add the EXTENDED_ARG opcode to the virtual machine, allowing 32-bit
arguments to opcodes instead of being forced to stick to the 16-bit
limit. This is especially useful for machine-generated code, which
can be too long for the SET_LINENO parameter to fit into 16 bits.
This closes the implementation portion of SourceForge patch #100893.
|
| |
|
|
|
|
|
|
|
|
| |
name as n'. By doing some twists and turns, "as" is not a reserved word.
There is a slight change in semantics for 'from module import name' (it will
now honour the 'global' keyword) but only in cases that are explicitly
undocumented.
|
|
|
|
|
|
|
| |
did the same anyway.
I'm not sure what to do with Tools/compiler/compiler/* -- that isn't part of
distutils, is it ? Should it try to be compatible with old bytecode version ?
|
|
|
|
|
| |
name is much longer, which fouls up dis's formatting slightly; this is
a "fix" for that.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
executive summary:
Instead of typing 'apply(f, args, kwargs)' you can type 'f(*arg, **kwargs)'.
Some file-by-file details follow.
Grammar/Grammar:
simplify varargslist, replacing '*' '*' with '**'
add * & ** options to arglist
Include/opcode.h & Lib/dis.py:
define three new opcodes
CALL_FUNCTION_VAR
CALL_FUNCTION_KW
CALL_FUNCTION_VAR_KW
Python/ceval.c:
extend TypeError "keyword parameter redefined" message to include
the name of the offending keyword
reindent CALL_FUNCTION using four spaces
add handling of sequences and dictionaries using extend calls
fix function import_from to use PyErr_Format
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
should raise TypeError, not ValueError...
|
|
|
|
|
|
|
|
|
|
|
| |
dis() still disassembles the last frame of the lats stack trace.
dis(x) disassembles x, which may be a code object, function, or method.
disassemble(co, [lasti]) disassembles a code object; the lasti
argument is now optional.
disco(...) is an alias for disassemble(...), for backward compatibility.
|
|
|
|
|
|
|
|
| |
- add opcodes BINARY_LSHIFT ... BINARY_OR
- remove RESERVE_FAST
- Skip M's suggestion for displaying which comparison operator is meant
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
negative start indices starting from the right.
* ftplib.py: debug() -> set_debuglevel(); change demo to use __init__().
* os.py: added execl, execlp, and execvp.
* lambda.py: removed (now that we have built-in map, reduce, bagof, lambda)
* test_b{1,2}.py, testall.out: added tests for bagof, lambda, map, reduce
* commands.py: use os, not posix
* test_grammar.py: make it easy to disable non-portable int overflow tests
* dis.py: don't abuse range()
|
| |
|
| |
|
| |
|
|
|