* libbacktrace support
* switch to a generic stack trace overriding mechanism
When "nimStackTraceOverride" is defined, once of the imported modules
can register its own procedure to replace the default stack trace
generation by calling `registerStackTraceOverride(myOwnProc)`.
Tested with `./koch boot -d:release --debugger:native -d:nimStackTraceOverride --import:libbacktrace`
for the compiler itself and `./bin/nim c -r -f --stacktrace:off --debugger:native -d:nimStackTraceOverride --import:libbacktrace foo.nim`
for an external program.
* make the StackTraceOverrideProc {.noinline.}
(cherry picked from commit ee9ee297d8)
Stack traces on an unbuffered stderr get out of sync with line-buffered
stdout - usually on Windows terminals or CI logs. This fixes it by
calling C's fflush() on the output buffer in the procedure used for
printing stack traces.
(cherry picked from commit defaf3b5a5)
* Update asyncftpclient.nim
When use newStringOfCap function not have assign memory for the string data,so if use this address the fault is rasise.
* complelete the bugfix
(cherry picked from commit 1f27a2f8ab)
When trying to evaluate a Nimble file which imports a Nim module
I was getting the following errors for some reason:
```
/Users/dom/projects/nim/lib/pure/parseopt.nim(229, 46) Error: ambiguous call; both system.paramCount() [declared in /Users/dom/projects/nim/lib/system/nimscript.nim(65, 6)] and os.paramCount() [declared in /Users/dom/projects/nim/lib/pure/os.nim(2613, 8)] match for: ()
```
(cherry picked from commit bab5351d43)
* fix undefined behavior in terminate handler
* fix failing unit test
* Revert "fix failing unit test"
This reverts commit 0e5e385fbf.
* Revert "fix undefined behavior in terminate handler"
This reverts commit 2b582871f1.
* do not throw inside terminate handler with msvc < 1923
(cherry picked from commit 4e841ab156)
The reason for this revert is that 'runnableExamples' keep
mysteriously failing on 32-bit OS-es on version 1.0.x
(devel version is fine, as are 64-bit OS-es).
'countBits32' is now fixed in the same way that
'countBits64' was already patched earlier (by adding 'u32
where needed).
(cherry picked from commit ae32d637f7)
This is more friendly to those browsing the documentation without
a network connection. The nim-doc package in Debian allows this,
for example.
Also, the domain name being used was not consistent. It could have
been either nim-lang.org or nim-lang.github.io, and those reading
the stable docs could have found themselves suddenly reading the
devel docs instead.
(cherry picked from commit 72147c9ba4)
Note that contrary to what docgen.rst currently says, the ids have
to match exactly or else most web browsers will not jump to the
intended symbol.
(cherry picked from commit 93461aee34)