--- gforth/extend.fs 1999/11/08 22:01:08 1.36 +++ gforth/extend.fs 2000/08/08 12:37:05 1.39 @@ -42,7 +42,7 @@ decimal ' drop alias d>s ( d -- n ) \ double d_to_s -: m*/ ( d1 n2 u3 -- dqout ) \ double m-star-slash +: m*/ ( d1 n2 u3 -- dquot ) \ double m-star-slash >r s>d >r abs -rot s>d r> xor r> swap >r >r dabs rot tuck um* 2swap um* swap >r 0 d+ r> -rot r@ um/mod -rot r> um/mod nip swap @@ -85,7 +85,12 @@ decimal \ [COMPILE] 17may93jaw : [compile] ( compilation "name" -- ; run-time ? -- ? ) \ core-ext bracket-compile - comp' drop compile, ; immediate + comp' drop + dup [ comp' exit drop ] literal = if + execute \ EXIT has default compilation semantics, perform them + else + compile, + then ; immediate \ CONVERT 17may93jaw @@ -141,7 +146,7 @@ decimal >in @ loadfile @ if - loadfile @ file-position throw + loadfile @ file-position throw #TIB @ 1+ 0 d- \ !! bug for CRLF and EOF else blk @ linestart @ @@ -163,6 +168,7 @@ decimal loadfile @ 0<> if loadfile @ reposition-file throw + refill 0= -36 and throw \ should never throw else linestart ! blk !