File Release Notes and Changelog
Release Name: 0.5p1
Notes:
This is a minor bug-fix release of Pyjamas 0.5p1
Pyjamas is a dynamic Web Widget Framework, written in
Python, that includes a stand-alone python-to-javascript
compiler. The project originated from a port of GWT.
Changes:
Changes made to Pyjamas since 0.5
---------------------------------
* Fixed Autocompletion which just needed non-modal on PopupPanel
(thanks to lovelysystems for implementing non-modal dialogs
otherwise it wouldn't be possible to fix Autocompletion)
* Added implementation of metaclass "type" function
* Made KeyboardListener a singleton module rather than have a class
named the same as the module. Likewise with MouseListener, Event
and Focus.
* Added Right-clickable Context Menus, and added an example in KitchenSink
Menus.py to show how to set them up.
* Added python-spidermonkey as an experimental platform, exactly like
pyv8run.py now there is pysmrun.py
* Top-level global variables, and top-level functions, now
correctly scope in a module (thanks to Jose for raising this one)
* String constants are now returned as instances of String()
which results in them having the __iter__ method that has
been added to the proto of the javascript base String type.
* made TypeError inherit from BaseException rather than being a
javascript proto from Error(). TypeError can now be raised
as an Exception, with a message.
* made == comparison use __eq__, which conditionally uses __cmp__
if it is available: this fixes bugs in comparison of lists in the
LibTest. replaced a large number of numerical "==" comparisons
with "is", so that __eq__ doesn't get called (efficiency).
* added support for calling *args on functions: previously, a call
function(*args) would result in the args being thrown away!
* made Tuple its own class, rather than inheriting from List, in order
that it can be distinguished from List. __cmp__ of a List with a
Tuple now correctly fails.
* rewrote the examples/libtest so that they can be run under standard
python (python ./LibTest.py). this allows for a comparison of pyjs
against standard python.
* add method extend to pyjslib.List
* add float to builtins
* add pyjamas.log based on examples/libtest/write.py
* registered builtin function 'cmp'. was already implemented but not
registered in pyjs.py
* added an --optimize option to which results in removing print
statements. this could be further improved. e.g. when assert is
implemented
* fixed Mozilla "Permission Denied" bug in DOM.isOrHasChild
* pyjslib.Dict now use the hash method to generate keys internally,
so it si possible to use objects as keys like in python. For
limitations on dicts read examples/libtest/DictTest.py