Diff for /gforth/kernel/vars.fs between versions 1.39 and 1.53

version 1.39, 2006/02/18 13:12:52 version 1.53, 2012/05/26 10:20:01
Line 1 Line 1
 \ VARS.FS      Kernal variables  \ VARS.FS      Kernal variables
   
 \ Copyright (C) 1995,1996,1997,1998,2000,2003 Free Software Foundation, Inc.  \ Copyright (C) 1995,1996,1997,1998,2000,2003,2006,2007,2011 Free Software Foundation, Inc.
   
 \ This file is part of Gforth.  \ This file is part of Gforth.
   
 \ Gforth is free software; you can redistribute it and/or  \ Gforth is free software; you can redistribute it and/or
 \ modify it under the terms of the GNU General Public License  \ modify it under the terms of the GNU General Public License
 \ as published by the Free Software Foundation; either version 2  \ as published by the Free Software Foundation, either version 3
 \ of the License, or (at your option) any later version.  \ of the License, or (at your option) any later version.
   
 \ This program is distributed in the hope that it will be useful,  \ This program is distributed in the hope that it will be useful,
Line 15 Line 15
 \ GNU General Public License for more details.  \ GNU General Public License for more details.
   
 \ You should have received a copy of the GNU General Public License  \ You should have received a copy of the GNU General Public License
 \ along with this program; if not, write to the Free Software  \ along with this program. If not, see http://www.gnu.org/licenses/.
 \ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.  
   
 hex \ everything now hex!                               11may93jaw  hex \ everything now hex!                               11may93jaw
   
Line 46  has? floating [IF] Line 45  has? floating [IF]
 \G @i{c-char} is the character value for a space.  \G @i{c-char} is the character value for a space.
 \ used by docon:, must be constant  \ used by docon:, must be constant
   
 FF Constant /line  has? EC [IF] 20 cells [ELSE] FF [THEN] Constant /line
   
 has? file [IF]  has? file [IF]
 40 Constant c/l  40 Value c/l
 10 Constant l/s  10 Value l/s
 400 Constant chars/block  400 Value chars/block
 [THEN]  [THEN]
   
 20 8 2* cells + 2 + cell+ constant word-pno-size ( -- u )  20 8 2* cells + 2 + cell+ constant word-pno-size ( -- u )
 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!  
   
 84 constant pad-minsize ( -- u )  84 constant pad-minsize ( -- u )
   
Line 109  AUser lp0 ( -- a-addr ) \ gforth Line 104  AUser lp0 ( -- a-addr ) \ gforth
 \G OBSOLETE alias of @code{lp0}  \G OBSOLETE alias of @code{lp0}
 [THEN]  [THEN]
   
   AUser throw-entry  \ pointer to task-specific signal handler
   
 AUser handler   \ pointer to last throw frame  AUser handler   \ pointer to last throw frame
 has? backtrace [IF]  has? backtrace [IF]
 User backtrace-empty \ true if the next THROW should store a backtrace  
 AUser backtrace-rp0 \ rp at last call of interpret  AUser backtrace-rp0 \ rp at last call of interpret
 [THEN]  [THEN]
 \ AUser output  \ AUser output
Line 121  AUser errorhandler Line 117  AUser errorhandler
   
 AUser "error            0 "error !  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]  has? new-input [IF]
     User current-input      User current-input
 [ELSE]  [ELSE]
Line 165  has? file [IF] Line 171  has? file [IF]
   
   
 User base ( -- a-addr ) \ core  User base ( -- a-addr ) \ core
 \G @code{User} variable -- @i{a-addr} is the address of a cell that stores the  \G @code{User} variable -- @i{a-addr} is the address of a cell that
 \G number base used by default for number conversion during input and output.  \G stores the number base used by default for number conversion during
   \G input and output.  Don't store to @code{base}, use
   \G @code{base-execute} instead.
                        A base !                         A base !
 User dpl ( -- a-addr ) \ gforth  User dpl ( -- a-addr ) \ gforth
 \G @code{User} variable -- @i{a-addr} is the address of a cell that stores the            \G @code{User} variable -- @i{a-addr} is the address of a cell that stores the          
Line 176  User dpl ( -- a-addr ) \ gforth Line 184  User dpl ( -- a-addr ) \ gforth
 \G 0. After the conversion of 234123.9 it contains 1, and so forth.  \G 0. After the conversion of 234123.9 it contains 1, and so forth.
 -1 dpl !  -1 dpl !
   
   User dp-char ( -- a-addr ) \ VFX
   \G @code{User} variable -- @i{a-addr} is the address of a cell that stores the
   \G decimal point character for double number conversion
   '.' dp-char !
   
   User fp-char ( -- a-addr ) \ VFX
   \G @code{User} variable -- @i{a-addr} is the address of a cell that stores the
   \G decimal point character for floating point number conversion
   '.' fp-char !
   
 User state ( -- a-addr ) \ core,tools-ext  User state ( -- a-addr ) \ core,tools-ext
 \G @code{User} variable -- @i{a-addr} is the address of a cell  \G @code{User} variable -- @i{a-addr} is the address of a cell
 \G containing the compilation state flag. 0 => interpreting, -1 =>  \G containing the compilation state flag. 0 => interpreting, -1 =>
Line 196  AUser dpp  normal-dp dpp ! Line 214  AUser dpp  normal-dp dpp !
                         \ the pointer to the current dictionary pointer                          \ the pointer to the current dictionary pointer
                         \ ist reset to normal-dp on (doerror)                          \ ist reset to normal-dp on (doerror)
                         \  (i.e. any throw caught by quit)                          \  (i.e. any throw caught by quit)
 AUser LastCFA  has? ec [IF]
       AUser LastCFA
   [THEN]
 AUser Last  AUser Last
   
   has? flash [IF]
       AUser flash-dp
       : rom  flash-dp dpp ! ;
       : ram  normal-dp dpp ! ;
   [THEN]
   
 User max-name-length \ maximum length of all names defined yet  User max-name-length \ maximum length of all names defined yet
 32 max-name-length !  32 max-name-length !
           

Removed from v.1.39  
changed lines
  Added in v.1.53


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>