* 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
----------
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
Corrected `noSideEffect pragma` links in lib/system
(The newer documentation uses slightly different links)
Corrected `noSideEffect pragma` in types links to match the updated link names
Minor link adjustment in stmts to match the newer link names
Since typedesc are exception in macros and they are not implicitly converted to
NimNode on macro call, we need some means to perform such conversion on demand.
Fortunately it is as simple as declaring new magic "NGetType" proc with
typedesc parameter.
NOTE: Keeping actual macro exceptional behavior for typedesc is important,
since it allows passing typedesc macro parameter to other procs or macros
expecting type parameter. If typedesc parameter was implicitly converted, then
we would lost this ability.