home *** CD-ROM | disk | FTP | other *** search
- #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 );
- }
-