Diff for /gforth/see.fs between versions 1.57 and 1.67

version 1.57, 2006/05/07 18:14:11 version 1.67, 2010/04/18 06:18:36
Line 1 Line 1
 \ SEE.FS       highend SEE for ANSforth                16may93jaw  \ SEE.FS       highend SEE for ANSforth                16may93jaw
   
 \ Copyright (C) 1995,2000,2003,2004 Free Software Foundation, Inc.  \ Copyright (C) 1995,2000,2003,2004,2006,2007,2008 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.  
   
   
 \ May be cross-compiled  \ May be cross-compiled
Line 71  DEFER nlcount ' noop IS nlcount Line 70  DEFER nlcount ' noop IS nlcount
                 nlflag @ IF (nl) nlflag off THEN                  nlflag @ IF (nl) nlflag off THEN
                 XPos @ over + cols u>= IF (nl) THEN ;                  XPos @ over + cols u>= IF (nl) THEN ;
   
 : c-to-upper ( c1 -- c2 ) \ gforth  
     \ nac05feb1999 there is a primitive, toupper, with this function  
     dup [char] a >= over [char] z <= and if  bl -  then ;  
   
 : ctype         ( adr len -- )  : ctype         ( adr len -- )
                 warp? dup XPos +! C-Output @                   warp? dup XPos +! C-Output @ 
                 IF uppercase @ IF bounds ?DO i c@ c-to-upper emit LOOP                  IF uppercase @ IF bounds ?DO i c@ toupper emit LOOP
                                   uppercase off ELSE type THEN                                    uppercase off ELSE type THEN
                 ELSE 2drop THEN ;                  ELSE 2drop THEN ;
   
Line 124  VARIABLE Colors Colors on Line 119  VARIABLE Colors Colors on
                     else                      else
                         base @ >r try                          base @ >r try
                             8 base ! 0 <<# # # # '\ hold #> ctype #>> 0                              8 base ! 0 <<# # # # '\ hold #> ctype #>> 0
                         recover                          restore
                               r@ base !
                         endtry                          endtry
                         r> base ! throw                          rdrop throw
                     endif                      endif
                 endif                  endif
                 1 /string                  1 /string
Line 533  VARIABLE C-Pass Line 529  VARIABLE C-Pass
         ELSE    2drop          ELSE    2drop
         THEN ;          THEN ;
   
 [IFDEF] (does>)  [IFDEF] !does
 : c-does>               \ end of create part  : c-does>               \ end of create part
         Display? IF S" DOES> " Com# .string THEN          Display? IF S" DOES> " Com# .string THEN ;
         maxaligned /does-handler + ;  \       maxaligned /does-handler + ; \ !! no longer needed for non-cross stuff
 [THEN]  [THEN]
   
 [IFDEF] (compile)  [IFDEF] (compile)
Line 580  CREATE C-Table Line 576  CREATE C-Table
 [IFDEF] (abort") ' (abort") A,      ' c-abort" A, [THEN]  [IFDEF] (abort") ' (abort") A,      ' c-abort" A, [THEN]
 \ only defined if compiler is loaded  \ only defined if compiler is loaded
 [IFDEF] (compile) ' (compile) A,      ' c-(compile) A, [THEN]  [IFDEF] (compile) ' (compile) A,      ' c-(compile) A, [THEN]
 [IFDEF] (does>) ' (does>) A,        ' c-does> A, [THEN]  [IFDEF] !does   ' !does A,          ' c-does> A, [THEN]
                 0 ,             here 0 ,                  0 ,             here 0 ,
   
 avariable c-extender  avariable c-extender
Line 761  Defer discode ( addr u -- ) \ gforth Line 757  Defer discode ( addr u -- ) \ gforth
     dup >code-address      dup >code-address
     CASE      CASE
         docon: of seecon endof          docon: of seecon endof
   [IFDEF] dovalue:
           dovalue: of seevalue endof
   [THEN]
         docol: of seecol endof          docol: of seecol endof
         dovar: of seevar endof          dovar: of seevar endof
 [ [IFDEF] douser: ]  [IFDEF] douser:
         douser: of seeuser endof          douser: of seeuser endof
 [ [THEN] ]  [THEN]
 [ [IFDEF] dodefer: ]  [IFDEF] dodefer:
         dodefer: of seedefer endof          dodefer: of seedefer endof
 [ [THEN] ]  [THEN]
 [ [IFDEF] dofield: ]  [IFDEF] dofield:
         dofield: of seefield endof          dofield: of seefield endof
 [ [THEN] ]  [THEN]
         over       of seecode endof \ direct threaded code words          over       of seecode endof \ direct threaded code words
         over >body of seecode endof \ indirect threaded code words          over >body of seecode endof \ indirect threaded code words
         2drop abort" unknown word type"          2drop abort" unknown word type"

Removed from v.1.57  
changed lines
  Added in v.1.67


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