  		goto loop;
  	else
  		end--;
-@@ -158,6 +158,7 @@ draw(void)
- static void
- doscrl(int d)
+@@ -172,6 +172,7 @@ static void draw(void)
+ 
+ static void doscrl(int d)
  {
 +	clear();
  	lwe_scroll += d;
  	if (lwe_scroll < 0)
  		lwe_scroll = 0;
-@@ -300,7 +301,7 @@ insertmode(char *t)
+@@ -399,7 +400,7 @@ static int insertmode(char *t)
  			c = '\n';
  		if (c == C_D)
  			return 1;

 	['k'] = scrollup,
 	['q'] = quitcmd,
 	['i'] = insertcmd,
@@ -493,8 +490,6 @@ main(int argc, char **argv)
 		cbreak();
 		noecho();
 		nonl();

 			if (t <= buffer)
 				continue;
 			t--;
@@ -601,12 +602,8 @@ static enum loopsig lineoverlaycmd(void)
 
 static command_fn cmdtbl[512] = {
 	[C_D] = scrolldown,
