Commit Graph

70 Commits

Author SHA1 Message Date
Jeremy Hylton 7690151c7e slightly modified version of Greg Ewing's extended call syntax patch
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
2000-03-28 23:49:17 +00:00
Guido van Rossum 1fdae12c93 Added a simple test program to disassemble a file, invoked as __main__. 2000-02-04 17:47:55 +00:00
Guido van Rossum 1cc2b9de35 Clarify why we define disco. Suggested by Andrew Dalke. 1999-05-03 18:09:53 +00:00
Guido van Rossum 9d865e1a30 Get rid of some obsolete opcodes. 1998-07-07 14:58:39 +00:00
Guido van Rossum 421c224044 Added docstrings (contributed by Martin von Loewis). 1997-11-18 15:47:55 +00:00
Guido van Rossum d0f2372cb9 Modernized for 1.5 1997-05-09 03:21:44 +00:00
Guido van Rossum 18aef3c102 Support disassembly of a variety of objects through dis.dis(). 1997-03-14 04:15:43 +00:00
Guido van Rossum 00f86e6086 Of course, when the type of the argument to dis() is unsupported, it
should raise TypeError, not ValueError...
1997-01-17 20:08:18 +00:00
Guido van Rossum bd30795192 More user friedly interface:
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.
1997-01-17 20:05:04 +00:00
Guido van Rossum d0bc9cb869 Merge several mods:
- add opcodes BINARY_LSHIFT ... BINARY_OR

- remove RESERVE_FAST

- Skip M's suggestion for displaying which comparison operator is meant
1997-01-16 18:52:24 +00:00
Guido van Rossum 934a4cea85 Show names of locals in disco (Ka-Ping Yee) 1996-09-12 17:39:36 +00:00
Guido van Rossum 151fcfd101 Zapped obsolete opcode LOAD_GLOBALS. 1996-09-10 18:26:36 +00:00
Guido van Rossum 56a733856e Added BUILD_SLICE opcode. 1996-07-30 16:26:07 +00:00
Guido van Rossum 6e21cebfbb New opcodes BINARY_POWER, RAISE_VARARGS, CALL_FUNCTION, MAKE_FUNCTION 1996-07-21 02:16:53 +00:00
Guido van Rossum b6775db241 Merge alpha100 branch back to main trunk 1994-08-01 11:34:53 +00:00
Guido van Rossum e65cce5eec * string.py: added rindex(), rfind(); changed index() to interpret
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()
1993-11-08 15:05:21 +00:00
Guido van Rossum 8379ed5f02 Updated because of new opcodes introduced for "fast" local variables. 1993-03-30 19:13:03 +00:00
Guido van Rossum bdfcfccbe5 New == syntax 1992-01-01 19:35:13 +00:00
Guido van Rossum a594fabbfa New opcodes: UNPACK_ARG, STORE_GLOBAL, DELETE_GLOBAL, LOAD_LOCAL, LOAD_GLOBAL 1991-12-16 13:09:28 +00:00
Guido van Rossum 217a5fa3c3 Initial revision 1990-12-26 15:40:07 +00:00