Diff for /gforth/utf-8.fs between versions 1.28 and 1.31

version 1.28, 2007/07/14 19:57:16 version 1.31, 2007/10/03 16:58:15
Line 94  Defer check-xy  ' noop IS check-xy Line 94  Defer check-xy  ' noop IS check-xy
   
 \ utf-8 stuff for xchars  \ utf-8 stuff for xchars
   
 : u8string+ ( xcaddr u -- xcaddr u' )  : +u8/string ( xc-addr1 u1 -- xc-addr2 u2 )
     over + u8>> over - ;  
 : u8string- ( xcaddr u -- xcaddr u' )  
     over + u8<< over - ;  
   
 : +u8string ( xc-addr1 u1 -- xc-addr2 u2 )  
     over dup u8>> swap - /string ;      over dup u8>> swap - /string ;
 : -u8string ( xc-addr1 u1 -- xc-addr2 u2 )  : u8\string- ( xcaddr u -- xcaddr u' )
     over dup u8<< swap - /string ;      over + u8<< over - ;
   
 : u8@ ( c-addr -- u )  : u8@ ( c-addr -- u )
     u8@+ nip ;      u8@+ nip ;
Line 295  here wc-table - Constant #wc-table Line 290  here wc-table - Constant #wc-table
     ['] u8>> is xchar+      ['] u8>> is xchar+
     ['] u8<< is xchar-      ['] u8<< is xchar-
 [ [IFDEF] xstring+ ]  [ [IFDEF] xstring+ ]
     ['] u8string+ is xstring+      ['] u8\string- is xstring-
     ['] u8string- is xstring-      ['] +u8/string is +xstring
     ['] +u8string is +xstring  [ [THEN] ]
     ['] -u8string is -xstring  [ [IFDEF] x/string+ ]
       ['] u8\string- is x\string-
       ['] +u8/string is +x/string
 [ [THEN] ]  [ [THEN] ]
     ['] u8@ is xc@      ['] u8@ is xc@
     ['] u8!+? is xc!+?      ['] u8!+? is xc!+?
Line 321  here wc-table - Constant #wc-table Line 318  here wc-table - Constant #wc-table
     s" UTF-8" search nip nip      s" UTF-8" search nip nip
     IF  set-encoding-utf-8  ELSE  set-encoding-fixed-width  THEN ;      IF  set-encoding-utf-8  ELSE  set-encoding-fixed-width  THEN ;
   
   environment-wordlist set-current
   : xchar-encoding ( -- addr u ) \ xchar-ext
       \G Returns a printable ASCII string that reperesents the encoding,
       \G and use the preferred MIME name (if any) or the name in
       \G @url{http://www.iana.org/assignments/character-sets} like
       \G ``ISO-LATIN-1'' or ``UTF-8'', with the exception of ``ASCII'', where
       \G we prefer the alias ``ASCII''.
       max-single-byte $80 = IF s" UTF-8" ELSE s" ISO-LATIN-1" THEN ;
   forth definitions
   
 :noname ( -- )  :noname ( -- )
     defers 'cold      defers 'cold
     utf-8-cold      utf-8-cold

Removed from v.1.28  
changed lines
  Added in v.1.31


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