From c2bc187382aa0b567e3a6a8b4cefacd918efea0c Mon Sep 17 00:00:00 2001 From: Grzegorz Adam Hankiewicz Date: Fri, 10 May 2013 23:37:34 +0200 Subject: [PATCH] Adds note to quit() about being called for termination. --- lib/system.nim | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/lib/system.nim b/lib/system.nim index 5dafd6e134..4cdc212b90 100644 --- a/lib/system.nim +++ b/lib/system.nim @@ -909,12 +909,17 @@ var programResult* {.exportc: "nim_program_result".}: int proc quit*(errorcode: int = QuitSuccess) {. magic: "Exit", importc: "exit", noDecl, noReturn.} - ## stops the program immediately; before stopping the program the - ## "quit procedures" are called in the opposite order they were added - ## with ``addQuitProc``. ``quit`` never returns and ignores any - ## exception that may have been raised by the quit procedures. - ## It does *not* call the garbage collector to free all the memory, - ## unless a quit procedure calls ``GC_collect``. + ## Stops the program immediately with an exit code. + ## + ## Before stopping the program the "quit procedures" are called in the + ## opposite order they were added with ``addQuitProc``. ``quit`` never + ## returns and ignores any exception that may have been raised by the quit + ## procedures. It does *not* call the garbage collector to free all the + ## memory, unless a quit procedure calls ``GC_collect``. + ## + ## The proc ``quit(QuitSuccess)`` is called implicitly when your nimrod + ## program finishes without incident. A raised unhandled exception is + ## equivalent to calling ``quit(QuitFailure)``. template sysAssert(cond: bool, msg: string) = when defined(useSysAssert):