I took a look at vt tonight and while vttest still just turns up its nose at me, it looks like I've eliminated most of the real problems I had with Mutt and vi. There are mainly three changes. First, I finally think I've got scroll() right. Lucio's previous patch said > /mnt/wrap/sys/src/cmd/vt/main.c:577 c /sys/src/cmd/vt/main.c:584 > < draw(screen, Rpt(pt(0, dy), pt(xmax+1, ly-sy)), screen, nil, pt(0, sy)); > --- > > draw(screen, Rpt(pt(0, dy), pt(xmax+1, ly+1)), screen, nil, pt(0, sy)); but it should really have dy+ly-sy in there. Second, I made the delete to end of line and delete to end of screen stuff work like the vt100 user's guide says it should. Last, I changed yscrmin and yscrmax so that they are always the beginning and end of the scrolling region even when that region is the whole screen. That got rid of a bunch of lines that looked like M = yscrmax ? yscrmax : ymax; Maybe there was a good reason for doing it the other way, but I don't see it. Anyway, attached are my current in-progress versions of vt.c and main.c from /sys/src/cmd/vt. They do not include the patch Lucio posted to this list a few weeks back. I hope this is helpful to somebody. Micah