--- gforth/kernel/basics.fs 2006/03/25 18:37:16 1.52 +++ gforth/kernel/basics.fs 2006/05/26 21:18:45 1.53 @@ -241,6 +241,10 @@ defer throw ( y1 .. ym nerror -- y1 .. y \G If @i{nerror} is 0, drop it and continue. Otherwise, transfer \G control to the next dynamically enclosing exception handler, reset \G the stacks accordingly, and push @i{nerror}. +defer throw>error ( y1 .. ym nerror -- y1 .. ym / z1 .. zn error ) \ exception +\G If @i{nerror} is 0, drop it and continue. Otherwise, transfer +\G control to the next dynamically enclosing exception handler, reset +\G the stacks accordingly, and push @i{nerror}. Doesn't reset the error stack :noname ( y1 .. ym error -- y1 .. ym / z1 .. zn error ) ?dup if @@ -249,7 +253,8 @@ defer throw ( y1 .. ym nerror -- y1 .. y [ has? file [IF] ] script? IF 1 (bye) ELSE quit THEN [ [ELSE] ] quit [ [THEN] ] then ; -is throw +dup is throw +is throw>error [THEN] \ (abort")