int viforwardword(char **args) { int n = zmult; if (n < 0) { int ret; zmult = -n; ret = backwardword(args); zmult = n; return ret; } while (n--) { int nl; if (Z_vialnum(zleline[zlecs])) while (zlecs != zlell && Z_vialnum(zleline[zlecs])) INCCS(); else while (zlecs != zlell && !Z_vialnum(zleline[zlecs]) && !ZC_inblank(zleline[zlecs])) INCCS(); if (wordflag && !n) return 0; nl = (zleline[zlecs] == ZWC('\n')); while (zlecs != zlell && nl < 2 && ZC_inblank(zleline[zlecs])) { INCCS(); nl += (zleline[zlecs] == ZWC('\n')); } } return 0; }
int vibackwardword(char **args) { int n = zmult; if (n < 0) { int ret; zmult = -n; ret = backwardword(args); zmult = n; return ret; } while (n--) { int nl = 0; while (zlecs) { DECCS(); if (!ZC_inblank(zleline[zlecs])) break; nl += (zleline[zlecs] == ZWC('\n')); if (nl == 2) { INCCS(); break; } } if (zlecs) { int pos = zlecs; if (Z_vialnum(zleline[pos])) { for (;;) { zlecs = pos; if (zlecs == 0) break; DECPOS(pos); if (!Z_vialnum(zleline[pos])) break; } } else { for (;;) { zlecs = pos; if (zlecs == 0) break; DECPOS(pos); if (Z_vialnum(zleline[pos]) || ZC_inblank(zleline[pos])) break; } } } } return 0; }
int forwardword(char **args) { int n = zmult; if (n < 0) { int ret; zmult = -n; ret = backwardword(args); zmult = n; return ret; } while (n--) { while (zlecs != zlell && ZC_iword(zleline[zlecs])) INCCS(); if (wordflag && !n) return 0; while (zlecs != zlell && !ZC_iword(zleline[zlecs])) INCCS(); } return 0; }