_NIL_TYPE_ _escape_(_NIL_TYPE_) { _ESC_TYPE_ esc; STATUS = DISABLED; esc = _PICO_ESCAPE_(SES_TAB[SES_IDX].ses); STATUS = ENABLED; if (esc == _ESCAPE_YES_) { SES_TAB[SES_IDX].res = _DO_ESCAPE_; longjmp(SES_TAB[SES_IDX].exi, 1); } if (_ag_is_VOI_(_ESC_)) return; _nat_interrupt_(); }
static char * identifiergenerator (const char *text, int state) { static int len; static _EXP_TYPE_ dct; _EXP_TYPE_ d; char *name, *fulltext, quotechar; int quoted=0; if (!state) { len = strlen (text); fulltext = rl_line_buffer; while (*fulltext) { if (*fulltext=='"' || *fulltext=='\'') if (quoted) { if (quotechar==*fulltext) quoted = 0; } /* the one-statement block keeps the "else" in its place */ else { quoted = 1; quotechar = *fulltext; } fulltext++; } if (quoted) return NULL; else dct = _DCT_; } while (!_ag_is_VOI_(dct)) { name = _ag_get_TXT_(_ag_get_DCT_NAM_(dct)); dct = _ag_get_DCT_DCT_(dct); if (strncmp (name, text, len) == 0) { for (d = _DCT_; _ag_get_DCT_NAM_(d).raw != _ag_get_DCT_NAM_(dct).raw; d = _ag_get_DCT_DCT_(d)); if (d.raw == dct.raw) return strcpy(xmalloc(strlen(name)+1),name); } } return NULL; }