+ Function div_id was defined in both editor.js and support.js. Solution:
moved the more general version from editor.js to support.js.
+ Function div_class was defined in both editor.js and support.js. Solution:
resolv incompatibility with an argument type test and put the generalized
function in support.js.
Check that the reconstructed abstract syntax tree is type correct before
enabling word-for-word replacement. Show an error message if word replacement
nevertheless fails.
To enable customized error handling, the methods in the pgf_online objects and
the AJAX server call functions in support.js accept an error callback function
as an extra argument, in addition to the callback (continuation) for normal
results.
Turn off the highlighting that indicates that word-for-word replacement is
enabled when it is no longer available (e.g if a word is deleted and there no
longer is a complete parse).
It seems that in Gecko browsers, the effect of "with(x) stmts" reaches inside
the bodies of local functions in stmts, but in Webkit browers it does not.
Also moved the translation quiz from demos/TransQuiz to src/www/TransQuiz so
that it will be installed by 'cabal install' along with the other files that
are installed for use by gf -server mode.
This is an experimental feature. It requires server support for parsing and is
thus not available while offline, unlike most other editing functionality.
Grammars can now inherit from several other grammars.
Hovering over a catagory name in a function type in the abstract syntax
shows where the category was inherited from.
Two methods used the global variable p instead of declaring a local variable p.
This caused the function p (that constructs HTML <p> elements) in support.js
to suddenly be redefined as a number.
The minibar is now displayed inside the editor, intead of on a separate page.
This makes the context clearer and makes it more obiovous how to return to the
editor.
If there is an error in the grammar, the error message is shown below the
grammar instead.
Also: GFServer.hs now returns compiler output in a JSON structure instead of
as a HTML page.
The link to the minibar (or compiler errors) are now shown below the grammar
on the same page. If you go to the minibar, you only have to press the back
button once to get back to the editor.
Also some output formatting changes in GFServer.hs.
The grammar that the user is currently working is now the one shown initially
in minibar, instead of the first grammar in alphabetical order.
Also GFServer.hs now removes absolute paths to the grammar files on the server in error messages from GF returned to to gfse.
There is a new way to create a new grammar based on an existing grammar:
by extending it. (It is also possible to clone an existing grammar, a before.)
Instead of showing nothing, show disabled buttons and some expanatory text to
provide guidance for users getting started with example-based grammar writing.