--- gforth/kernel/vars.fs 2011/12/31 15:29:26 1.50 +++ gforth/kernel/vars.fs 2012/03/16 20:34:23 1.52 @@ -55,13 +55,6 @@ has? file [IF] 20 8 2* cells + 2 + cell+ constant word-pno-size ( -- u ) -has? EC 0= [IF] -create holdbuf word-pno-size chars allot -holdbuf word-pno-size chars + aconstant holdbuf-end -avariable holdptr holdbuf-end holdptr a! -avariable holdend holdbuf-end holdend a! -[THEN] - 84 constant pad-minsize ( -- u ) $400 Value def#tib @@ -111,6 +104,8 @@ AUser lp0 ( -- a-addr ) \ gforth \G OBSOLETE alias of @code{lp0} [THEN] +AUser throw-entry \ pointer to task-specific signal handler + AUser handler \ pointer to last throw frame has? backtrace [IF] AUser backtrace-rp0 \ rp at last call of interpret @@ -122,6 +117,16 @@ AUser errorhandler AUser "error 0 "error ! +has? EC 0= [IF] + auser holdbufptr + here word-pno-size chars allot dup holdbufptr ! + word-pno-size chars + + : holdbuf ( -- addr ) holdbufptr @ ; + : holdbuf-end holdbuf word-pno-size chars + ; + auser holdptr dup holdptr a! + auser holdend holdend a! +[THEN] + has? new-input [IF] User current-input [ELSE]