File: CHANGES

package info (click to toggle)
decompyle2.2 2.2beta1-8
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 2,236 kB
  • ctags: 66,081
  • sloc: python: 69,620; ansic: 784; makefile: 50; sh: 14
file content (75 lines) | stat: -rw-r--r-- 2,799 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
release 2.2beta1 (hartmut Goebel)
  - support for Python 1.5 up to Python 2.2
  - no longer requires to be run with the Python interpreter version
    which generated the byte-code.
  - requires Python 2.2
  - pretty-prints docstrings, hashes, lists and tuples
  - decompyle is now a script and a package
  - added emacs mode-hint and tab-width for each file output
  - enhanced test suite: more test patterns, .pyc/.pyo included
  - avoids unnecessary 'global' statements
  - still untested: EXTENDED_ARG

  internal changes:
  - major code overhoul: splitted into several modules, clean-ups
  - use a list of valid magics instead of the single one from imp.py
  - uses copies of 'dis.py' for every supported version. This ensures
    correct disassemling of the byte-code.
  - use a single Walker and a single Parser, thus saving time and memory
  - use augmented assign and 'print >>' internally
  - optimized 'Walker.engine', the main part of code generation

release 0.6.0: (hartmut Goebel)
  - extended print (Python 2.0)
  - extended import (Python 2.0) (may not cover all cases)
  - augmented assign (Python 2.0) (may not cover all cases)
  - list comprehensions (Python 2.0)
  - equivalent for 'apply' (Python 1.6)
  - if .. elif .. else are now nested as expected
  - assert test, data
  - unpack list corrected (was the same as unpack tuple)
  - fixed unpack tuple (trailing semicolon was missing)
  - major speed up :-)
  - reduced memory usage (pre-alpha-0.5 has increased it a lot)
  - still missing: EXTENDED_ARG

pre-alpha-0.5: (hartmut Goebel)
  - *args, **kwargs
  - global
  - formal tuple parameters (eg. def a(self, (x,y,z)) )
  - actual lambda parameters (eg.  X(lambda z: z**2) )
  - remove last 'return None' in procedures
  - remove last 'return locals()' in class definitions
  - docstrings

pre-alpha-0.4: (hartmut Goebel)
  - assert
  - try/except/finally
  - parentheses in expressions
  - nested expressions
  - extracted dissassemble() from module dis and
    removed ugly redirect of stdout, thus saved a lot of
    ugly code and a lot of memory

pre-alpha-0.3: (hartmut Goebel)
  - keyword arguments
  - some boolean expressions
  - and/or
  - complex conditions in if/while
  - read byte-code from .pyc without importing
  - access to the body of classes and modules
  - class and function definitions
  - a = b = c = xxx

pre-alpha-0.1 -> pre-alpha-0.2:
  -  SET_LINENO filtered out in lexer now
  -  added support for subscripts (just for Christian Tismer :-)
  -  fixed bug with handling of BUILD_{LIST,TUPLE} & CALL_FUNCTION
  -  dict-building support
  -  comparison support
  -  exec support
  -  del support
  -  pass support
  -  slice support
  -  no more extraneous (albeit legal) commas
  -  finally, it excepts try [sic] but not all 42 variations of it