--- gforth/kernel/vars.fs 1997/07/06 13:40:50 1.3 +++ gforth/kernel/vars.fs 1999/01/03 21:48:39 1.9 @@ -1,6 +1,6 @@ \ VARS.FS Kernal variables -\ Copyright (C) 1995 Free Software Foundation, Inc. +\ Copyright (C) 1995,1996,1997,1998 Free Software Foundation, Inc. \ This file is part of Gforth. @@ -49,13 +49,13 @@ $20 8 2* cells + 2 + cell+ constant word \ initialized by COLD -Create main-task 100 cells allot +Create main-task has? OS [IF] 100 [ELSE] 40 [THEN] cells allot \ set user-pointer from cross-compiler right main-task UNLOCK tup ! LOCK -Variable udp \ used by dovar:, must be variable +Variable udp \ user area size? -anton AUser next-task main-task next-task ! AUser prev-task main-task prev-task ! @@ -63,9 +63,10 @@ AUser save-task 0 save-task ! AUser sp0 \ used by douser:, must be user ' sp0 Alias s0 AUser rp0 ' rp0 Alias r0 -AUser fp0 ' fp0 Alias f0 +AUser fp0 \ no f0, because this leads to unexpected results AUser lp0 ' lp0 Alias l0 AUser handler \ pointer to last throw frame +AUser backtrace-empty \ true if the next THROW should store a backtrace \ AUser output \ AUser input @@ -79,6 +80,7 @@ AUser "error 0 "error ! User #tib \ chars in terminal input buffer User >in 0 >in ! \ char number currently processed in tib [THEN] +has? file [IF] User blk 0 blk ! User loadfile 0 loadfile ! @@ -91,6 +93,7 @@ AUser "error 0 "error ! 2User linestart \ starting file postition of \ the current interpreted line (in TIB) +[THEN] User base A base ! User dpl -1 dpl ! @@ -104,7 +107,8 @@ AUser dpp normal-dp dpp ! AUser LastCFA AUser Last +has? glocals [IF] User locals-size \ this is the current size of the locals stack \ frame of the current word - +[THEN]