XCHAR- x-char-minus XCHAR EXT

( xc-addr1 -- xc-addr2 )

Goes backward from xc-addr1 until it finds an xchar so that the size of this xchar added to xc-addr2 gives xc-addr1. There is an ambiguous condition when the encoding doesn't permit reliable backward stepping through the text.


: XCHAR- ( xc-addr -- xc-addr' )
   BEGIN 1 CHARS - DUP C@ $C0 AND $80 <> UNTIL ;