#include "ed.h" #include "cclass.h" char cclass[128] = { /* character classes. */ 0, /* ^@ */ 0, /* ^A */ 0, /* ^B */ 0, /* ^C */ 0, /* ^D */ 0, /* ^E */ 0, /* ^F */ 0, /* ^G */ 0, /* ^H */ (c_TAB|c_WHITE), /* ^I */ 0, /* ^J */ 0, /* ^K */ 0, /* ^L */ 0, /* ^M */ 0, /* ^N */ 0, /* ^O */ 0, /* ^P */ 0, /* ^Q */ 0, /* ^R */ 0, /* ^S */ 0, /* ^T */ 0, /* ^U */ 0, /* ^V */ 0, /* ^W */ 0, /* ^X */ 0, /* ^Y */ 0, /* ^Z */ 0, /* ^[ */ 0, /* ^\ */ 0, /* ^] */ 0, /* ^^ */ 0, /* ^_ */ (c_SIMPLE|c_WHITE), /* blank */ c_SIMPLE, /* ! */ c_SIMPLE, /* " */ c_SIMPLE, /* # */ c_SIMPLE, /* $ */ c_SIMPLE, /* % */ c_SIMPLE, /* & */ c_SIMPLE, /* ' */ (c_FENCE|c_SIMPLE), /* ( */ (c_FENCE|c_SIMPLE), /* ) */ c_SIMPLE, /* * */ c_SIMPLE, /* + */ c_SIMPLE, /* , */ c_SIMPLE, /* - */ c_SIMPLE, /* . */ c_SIMPLE, /* / */ (c_CWORD|c_DIGIT|c_SIMPLE), /* 0 */ (c_CWORD|c_DIGIT|c_SIMPLE), /* 1 */ (c_CWORD|c_DIGIT|c_SIMPLE), /* 2 */ (c_CWORD|c_DIGIT|c_SIMPLE), /* 3 */ (c_CWORD|c_DIGIT|c_SIMPLE), /* 4 */ (c_CWORD|c_DIGIT|c_SIMPLE), /* 5 */ (c_CWORD|c_DIGIT|c_SIMPLE), /* 6 */ (c_CWORD|c_DIGIT|c_SIMPLE), /* 7 */ (c_CWORD|c_DIGIT|c_SIMPLE), /* 8 */ (c_CWORD|c_DIGIT|c_SIMPLE), /* 9 */ c_SIMPLE, /* : */ c_SIMPLE, /* ; */ c_SIMPLE, /* < */ c_SIMPLE, /* = */ c_SIMPLE, /* > */ c_SIMPLE, /* ? */ c_SIMPLE, /* @ */ (c_CWORD|c_ALPHA|c_SIMPLE), /* A */ (c_CWORD|c_ALPHA|c_SIMPLE), /* B */ (c_CWORD|c_ALPHA|c_SIMPLE), /* C */ (c_CWORD|c_ALPHA|c_SIMPLE), /* D */ (c_CWORD|c_ALPHA|c_SIMPLE), /* E */ (c_CWORD|c_ALPHA|c_SIMPLE), /* F */ (c_CWORD|c_ALPHA|c_SIMPLE), /* G */ (c_CWORD|c_ALPHA|c_SIMPLE), /* H */ (c_CWORD|c_ALPHA|c_SIMPLE), /* I */ (c_CWORD|c_ALPHA|c_SIMPLE), /* J */ (c_CWORD|c_ALPHA|c_SIMPLE), /* K */ (c_CWORD|c_ALPHA|c_SIMPLE), /* L */ (c_CWORD|c_ALPHA|c_SIMPLE), /* M */ (c_CWORD|c_ALPHA|c_SIMPLE), /* N */ (c_CWORD|c_ALPHA|c_SIMPLE), /* O */ (c_CWORD|c_ALPHA|c_SIMPLE), /* P */ (c_CWORD|c_ALPHA|c_SIMPLE), /* Q */ (c_CWORD|c_ALPHA|c_SIMPLE), /* R */ (c_CWORD|c_ALPHA|c_SIMPLE), /* S */ (c_CWORD|c_ALPHA|c_SIMPLE), /* T */ (c_CWORD|c_ALPHA|c_SIMPLE), /* U */ (c_CWORD|c_ALPHA|c_SIMPLE), /* V */ (c_CWORD|c_ALPHA|c_SIMPLE), /* W */ (c_CWORD|c_ALPHA|c_SIMPLE), /* X */ (c_CWORD|c_ALPHA|c_SIMPLE), /* Y */ (c_CWORD|c_ALPHA|c_SIMPLE), /* Z */ (c_FENCE|c_SIMPLE), /* [ */ c_SIMPLE, /* \ */ (c_FENCE|c_SIMPLE), /* ] */ c_SIMPLE, /* ^ */ (c_CWORD|c_SIMPLE), /* _ */ c_SIMPLE, /* ` */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* a */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* b */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* c */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* d */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* e */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* f */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* g */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* h */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* i */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* j */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* k */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* l */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* m */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* n */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* o */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* p */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* q */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* r */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* s */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* t */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* u */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* v */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* w */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* x */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* y */ (c_CWORD|c_ALPHA|c_LOWC|c_SIMPLE), /* z */ (c_FENCE|c_SIMPLE), /* { */ c_SIMPLE, /* | */ (c_FENCE|c_SIMPLE), /* } */ c_SIMPLE, /* ~ */ 0 /* ^? */ }; isinsert( CcharC ) { if ( CcharC > 0x80 ) return( 0 ); return( cclass[ CcharC ] & c_SIMPLE ); } #ifdef NEVER isupper( c ) int c; { /* if ( c > 0x80 ) return( 0 ); */ return ( ( cclass[c] & ( c_ALPHA | c_LOWC )) == c_ALPHA ); } #endif islower( c ) int c; { if ( c > 0x80 ) return ( 0 ); return ( ( cclass[c] &c_LOWC )); } int wstyle; inword() { register int c; if (curwp->w_doto == llength(curwp->w_dotp)) return (FALSE); c = cclass[ lgetc( curwp->w_dotp, curwp->w_doto )]; if ( wstyle &1 ) return ( ( c & ( c_SIMPLE | c_WHITE )) == c_SIMPLE ); return ( c & c_CWORD ); }  .