* nre-proj/master: (132 commits)
Change to options module
Reweave readme
Better handle errors
Update documentation
Change flags to inline
Improve performance
Add tests for empty or non-empty match
Fix skipping an empty match at the end
Add longer flags
Fix getinfo overflows
Use docweave
Convert readme to RST
Fix result shadowing warning
Throw an exception when replacing with a nil value
Fix potential buffer overflow
Fix zero-length matches for multibyte characters
Make splitting an empty string give 1 empty result
Change endpos to inclusive
Change endpos default from -1 to int.high
Change capture upper bounds to inclusive
...
Motivation
----------
Currenly tarballs for linux created manually. ZIP files are not
suitable, because they do not preserve unix file permissions.
Modification
------------
Implement 'koch xz' command to produce dist tarball in xz format. Also
the same command implemented in niminst.nim.
Result
------
Now it is easy to create source distribution for git stapshot and use it
further in packaging scripts.
Motivation
----------
Some linuxes (like Fedora) actually multiarch. And it means that
libgc.so.1 not always installed into /usr/lib. It is better to entrust
this job to ld and system configuration for it.
Modification
------------
Use relative path for Boehm GC on 'other' OS (and linux in particular)
Result
------
It is possible now to build nim with --gc:boehm on linux
Motivation
----------
peekLine procs use defer to reset position in the stream, but it also
make them always return nil.
Modification
------------
Explicitly set result value in peekLine, and write missing unit test.
Result
------
Tests are green and bug is fixed
Motivation
----------
External tools need to know whether or not any test in suite failed. For
example buildbot, or packaging tool would like to stop the execution and
mark it as failed if some tests does not pass.
Modification
------------
Add `--pedantic` switch to tester program which will force it to quit
with non-zero exit code if at least one failure detected. Also update
`tests()` proc in koch to inspect result from tester and propagate it to
user.
Result
------
Nothing has changed in default behaviour. But following invocations will
exit with non-zero code if there failed tests:
./koch tests --pedantic all
./tests/testament/tester --pedantic all