/* ARGSUSED */ int setmark(int f, int n) { isetmark(); ewprintf("Mark set"); return (TRUE); }
/* ARGSUSED */ int yank(int f, int n) { struct line *lp; int c, i, nline; if (n < 0) return (FALSE); /* newline counting */ nline = 0; undo_boundary_enable(FFRAND, 0); while (n--) { /* mark around last yank */ isetmark(); i = 0; while ((c = kremove(i)) >= 0) { if (c == '\n') { if (newline(FFRAND, 1) == FALSE) return (FALSE); ++nline; } else { if (linsert(1, c) == FALSE) return (FALSE); } ++i; } } /* cosmetic adjustment */ lp = curwp->w_linep; /* if offscreen insert */ if (curwp->w_dotp == lp) { while (nline-- && lback(lp) != curbp->b_headp) lp = lback(lp); /* adjust framing */ curwp->w_linep = lp; curwp->w_rflag |= WFFULL; } undo_boundary_enable(FFRAND, 1); return (TRUE); }