+ case 'L': /* Insert cx lines */
+ if (vs.cx <= 0) vs.cx = 1;
+ posy = (crtat - Crtat) / vs.ncol;
+ if (vs.cx > vs.nrow - posy)
+ vs.cx = vs.nrow - posy;
+ src = Crtat + posy * vs.ncol;
+ dst = src + vs.cx * vs.ncol;
+ count = vs.nrow - (posy + vs.cx);
+ move_up(src, dst, count * vs.ncol);
+ fillw((at <<8)+' ', src, vs.cx * vs.ncol);
+ vs.esc = 0; vs.ebrac = 0; vs.eparm = 0;
+ break;
+ case 'M': /* Delete cx lines */
+ if (vs.cx <= 0) vs.cx = 1;
+ posy = (crtat - Crtat) / vs.ncol;
+ if (vs.cx > vs.nrow - posy)
+ vs.cx = vs.nrow - posy;
+ dst = Crtat + posy * vs.ncol;
+ src = dst + vs.cx * vs.ncol;
+ count = vs.nrow - (posy + vs.cx);
+ move_down(src, dst, count * vs.ncol);
+ src = dst + count * vs.ncol;
+ fillw((at <<8)+' ', src, vs.cx * vs.ncol);
+ vs.esc = 0; vs.ebrac = 0; vs.eparm = 0;
+ break;