Add missing public API documentation for duk_log(). Also make 'make site'
tolerate network errors (from a git pull for Duktape release binaries) to
work better in offline use.
This target is used during development and the git pull just brings the
Duktape binaries up-to-date from duktape-releases. For offline use it's
nice not to fail a 'make site' when network is not available.
The 'make dist-site' target also does a git pull and won't allow an error.
Add =introduced version to API call docs. Reserve =deprecated and =removed
for marking deprecation and removal versions.
For now, render =introduced as a fake tag in the API doc entry.
Add two example allocators to the distributable:
- A logging allocator writes alloc/realloc/free sizes and results to
/tmp/duk-alloc-log.txt. The log includes previous allocation size
for realloc() and free() so that the memory behavior can be played
back and used for e.g. optimizing allocator pool sizes.
- A torture allocator uses red zones to detect out-of-bound writes,
inits data to a non-zero value, and wipes freed memory areas so
accidental reads after freeing are detected more easily. This
allocator can be used on almost any target to detect basic issues
and is useful especially when Valgrind doesn't work on the target.
Also fix some NULL checks in sandbox allocator example.
By default dukweb.js gets a shallow stack intended for embedded
environments. This results in C recursion limits being hit for
large expression that work fine on the command line, see e.g.
GH-67.
RELEASES.rst is only updated in master branch to make it easier to make
and merge fixes to multiple branches. Including it in the dist package
would mean that it would need to be updated in maintenance branches too
or it would be out-of-date in patch releases.
So, drop release notes from the dist package, and just link to it in the
dist README.