--- gforth/utf-8.fs 2006/02/19 22:35:40 1.21 +++ gforth/utf-8.fs 2006/05/01 09:45:56 1.23 @@ -128,12 +128,14 @@ $80 Value max-single-byte nip nip over - then ; -[IFDEF] wcwidth +[IFUNDEF] wcwidth + : wcwidth abort ; +[THEN] + : u8width ( xcaddr u -- n ) 0 rot rot over + swap ?DO - I xc@+ swap >r wcwidth + + I xc@+ swap >r wcwidth + r> I - +LOOP ; -[THEN] : set-encoding-utf-8 ( -- ) ['] u8emit is xemit @@ -160,6 +162,9 @@ $80 Value max-single-byte s" UTF-8" search nip nip IF set-encoding-utf-8 ELSE set-encoding-fixed-width THEN ; -' utf-8-cold INIT8 chained +:noname ( -- ) + defers 'cold + utf-8-cold +; is 'cold utf-8-cold