--- gforth/Attic/kernel.fs 1997/03/19 18:27:16 1.18 +++ gforth/Attic/kernel.fs 1997/04/10 21:32:08 1.24 @@ -69,7 +69,7 @@ NIL AConstant NIL \ gforth \ Aliases ' i Alias r@ ( -- w ; R: w -- w ) \ core r-fetch -\ copy w from the return stack to the data stack +\G copy w from the return stack to the data stack \ Bit string manipulation 06oct92py @@ -1038,7 +1038,10 @@ G -1 warnings T ! 0C constant #ff ( -- c ) \ gforth 0A constant #lf ( -- c ) \ gforth -: bell #bell emit ; +: bell ( -- ) \ gforth + \g makes a beep and flushes the output buffer + #bell emit + outfile-id flush-file drop ; : cr ( -- ) \ core \ emit a newline #lf ( sic! ) emit ; @@ -1262,6 +1265,10 @@ DEFER DOERROR ; : (DoError) ( throw-code -- ) + [ has-os [IF] ] + outfile-id dup flush-file drop >r + stderr to outfile-id + [ [THEN] ] sourceline# IF source >in @ sourceline# 0 0 .error-frame THEN @@ -1283,7 +1290,9 @@ DEFER DOERROR ELSE .error THEN - normal-dp dpp ! ; + normal-dp dpp ! + [ has-os [IF] ] r> to outfile-id [ [THEN] ] +; ' (DoError) IS DoError @@ -1314,12 +1323,12 @@ Defer 'cold ( -- ) \ gforth tick-cold [ [THEN] ] 'cold [ has-files [IF] ] - argc @ 1 > + ['] process-args catch ?dup IF - ['] process-args catch ?dup - IF - dup >r DoError cr r> negate (bye) - THEN + dup >r DoError cr r> negate (bye) + THEN + argc @ 1 > + IF \ there may be some unfinished line, so let's finish it cr THEN [ [THEN] ]