summary refs log tree commit diff stats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/system.nim1
-rw-r--r--lib/system/excpt.nim5
2 files changed, 3 insertions, 3 deletions
diff --git a/lib/system.nim b/lib/system.nim
index 424d9694d..8f653c1e0 100644
--- a/lib/system.nim
+++ b/lib/system.nim
@@ -442,6 +442,7 @@ type
                                         ## providing an exception message
                                         ## is bad style.
     trace: string
+    up: ref Exception # used for stacking exceptions. Not exported!
 
   SystemError* = object of Exception ## \
     ## Abstract class for exceptions that the runtime system raises.
diff --git a/lib/system/excpt.nim b/lib/system/excpt.nim
index b0769b269..e35b0bd5d 100644
--- a/lib/system/excpt.nim
+++ b/lib/system/excpt.nim
@@ -73,12 +73,11 @@ proc popSafePoint {.compilerRtl, inl.} =
   excHandler = excHandler.prev
 
 proc pushCurrentException(e: ref Exception) {.compilerRtl, inl.} =
-  #if e.parent.isNil:
-  #  e.parent = currException
+  e.up = currException
   currException = e
 
 proc popCurrentException {.compilerRtl, inl.} =
-  currException = nil # currException.parent
+  currException = currException.up
 
 # some platforms have native support for stack traces:
 const