int bracketedpaste(char **args) { char *pbuf = bracketedstring(); if (*args) { setsparam(*args, pbuf); } else { int n; ZLE_STRING_T wpaste; wpaste = stringaszleline((zmult == 1) ? pbuf : quotestring(pbuf, NULL, QT_SINGLE_OPTIONAL), 0, &n, NULL, NULL); cuttext(wpaste, n, CUT_REPLACE); if (!(zmod.flags & MOD_VIBUF)) { kct = -1; kctbuf = &cutbuf; zmult = 1; if (region_active) killregion(zlenoargs); yankcs = yankb = zlecs; doinsert(wpaste, n); yanke = zlecs; } free(pbuf); free(wpaste); } return 0; }
int copyregionaskill(char **args) { int start, end; if (*args) { int len; ZLE_STRING_T line = stringaszleline(*args, 0, &len, NULL, NULL); cuttext(line, len, CUT_REPLACE); free(line); } else { if (mark > zlell) mark = zlell; if (mark > zlecs) { start = zlecs; end = mark; } else { start = mark; end = zlecs; } if (invicmdmode()) INCPOS(end); cut(start, end - start, mark > zlecs ? 0 : CUT_FRONT); } return 0; }
int copyregionaskill(char **args) { if (*args) { int len; ZLE_STRING_T line = stringaszleline(*args, 0, &len, NULL, NULL); cuttext(line, len, CUT_REPLACE); free(line); } else { if (mark > zlell) mark = zlell; if (mark > zlecs) cut(zlecs, mark - zlecs, 0); else cut(mark, zlecs - mark, CUT_FRONT); } return 0; }
static void editorcut(control m) { textbox t = getdata(m); cuttext(t); }
void cut(int i, int ct, int flags) { cuttext(zleline + i, ct, flags); }