Diff for /gforth/kernel/xchars.fs between versions 1.5 and 1.6

version 1.5, 2006/12/31 13:39:19 version 1.6, 2007/05/05 17:26:03
Line 27  DEFER XEMIT ( xc -- ) Line 27  DEFER XEMIT ( xc -- )
 DEFER XKEY ( -- xc )  DEFER XKEY ( -- xc )
 DEFER XCHAR+ ( xc-addr1 -- xc-addr2 )  DEFER XCHAR+ ( xc-addr1 -- xc-addr2 )
 DEFER XCHAR- ( xc-addr1 -- xc-addr2 )  DEFER XCHAR- ( xc-addr1 -- xc-addr2 )
 DEFER +X/STRING ( xc-addr1 u1 -- xc-addr2 u2 )  DEFER +XSTRING ( xc-addr1 u1 -- xc-addr2 u2 )
 DEFER -X/STRING ( xc-addr1 u1 -- xc-addr2 u2 )  DEFER -XSTRING ( xc-addr1 u1 -- xc-addr2 u2 )
   DEFER XSTRING+ ( xc-addr1 u1 -- xc-addr1 u2 )
   DEFER XSTRING- ( xc-addr1 u1 -- xc-addr1 u2 )
 DEFER XC@ ( xc-addr -- xc )  DEFER XC@ ( xc-addr -- xc )
 DEFER XC!+? ( xc xc-addr1 u1 -- xc-addr2 u2 f ) \ f if operation succeeded  DEFER XC!+? ( xc xc-addr1 u1 -- xc-addr2 u2 f ) \ f if operation succeeded
 DEFER XC@+ ( xc-addr1 -- xc-addr2 xc )  DEFER XC@+ ( xc-addr1 -- xc-addr2 xc )
Line 38  DEFER -TRAILING-GARBAGE ( addr u1 -- add Line 40  DEFER -TRAILING-GARBAGE ( addr u1 -- add
   
 \ derived words, faster implementations are probably possible  \ derived words, faster implementations are probably possible
   
 : X@+/string ( xc-addr1 u1 -- xc-addr2 u2 xc )  : x@+/string ( xc-addr1 u1 -- xc-addr2 u2 xc )
     \ !! check for errors?      \ !! check for errors?
     over >r +x/string      over >r +xstring
     r> xc@ ;      r> xc@ ;
   
 \ fixed-size versions of these words  \ fixed-size versions of these words
Line 48  DEFER -TRAILING-GARBAGE ( addr u1 -- add Line 50  DEFER -TRAILING-GARBAGE ( addr u1 -- add
 : char- ( c-addr1 -- c-addr2 )  : char- ( c-addr1 -- c-addr2 )
     [ 1 chars ] literal - ;      [ 1 chars ] literal - ;
   
 : 1/string ( c-addr1 u1 -- c-addr2 u2 )  : +string ( c-addr1 u1 -- c-addr2 u2 )
     1 /string ;      1 /string ;
   : -string ( c-addr1 u1 -- c-addr2 u2 )
 : -1/string ( c-addr1 u1 -- c-addr2 u2 )  
     -1 /string ;      -1 /string ;
   
   : string+ ( c-addr1 u1 -- c-addr1 u2 )
       1+ ;
   : string- ( c-addr1 u1 -- c-addr1 u2 )
       1- ;
   
 : c!+? ( c c-addr1 u1 -- c-addr2 u2 f )  : c!+? ( c c-addr1 u1 -- c-addr2 u2 f )
     dup 1 chars u< if \ or use < ?      dup 1 chars u< if \ or use < ?
         rot drop false          rot drop false
Line 70  DEFER -TRAILING-GARBAGE ( addr u1 -- add Line 76  DEFER -TRAILING-GARBAGE ( addr u1 -- add
     ['] key is xkey      ['] key is xkey
     ['] char+ is xchar+      ['] char+ is xchar+
     ['] char- is xchar-      ['] char- is xchar-
     ['] 1/string is +x/string      ['] +string is +xstring
     ['] -1/string is -x/string      ['] -string is -xstring
       ['] string+ is xstring+
       ['] string- is xstring-
     ['] c@ is xc@      ['] c@ is xc@
     ['] c!+? is xc!+?      ['] c!+? is xc!+?
     ['] count is xc@+      ['] count is xc@+

Removed from v.1.5  
changed lines
  Added in v.1.6


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