  			if (t <= buffer)
  				continue;
  			t--;
-@@ -318,14 +319,10 @@ static int cmdloop(void)
- 		c = getch();
- 		switch (c) {
- 		case C_D:
--		case KEY_DOWN:
--		case KEY_NPAGE:
- 		case 'j':
- 			doscrl(LINES / 2);
- 			break;
- 		case C_U:
--		case KEY_UP:
--		case KEY_PPAGE:
- 		case 'k':
- 			doscrl(-LINES / 2);
- 			break;
-@@ -397,8 +394,6 @@ int main(int argc, char **argv)
+@@ -441,12 +442,8 @@ jumptolinecmd(void)
+ 
+ static command_fn cmdtbl[512] = {
+ 	[C_D] = scrolldown,
+-	[KEY_DOWN] = scrolldown,
+-	[KEY_NPAGE] = scrolldown,
+ 	['j'] = scrolldown,
+ 	[C_U] = scrollup,
+-	[KEY_UP] = scrollup,
+-	[KEY_PPAGE] = scrollup,
+ 	['k'] = scrollup,
+ 	['q'] = quitcmd,
+ 	['i'] = insertcmd,
+@@ -493,8 +490,6 @@ main(int argc, char **argv)
  		cbreak();
  		noecho();
  		nonl();

diff --git a/llwe.c b/llwe.c
index 0e6aded..3a24f28 100644
--- a/llwe.c
+++ b/llwe.c
@@ -66,7 +66,7 @@ static int bread(void)
 		err("memory");
 		return 0;
 	}

 	if (f == NULL) {
 		return 1;
 	}
@@ -93,7 +93,7 @@ breload()
 static int
 bsave(void)
 {
-	FILE *f = fopen(filename, "w");
+	FILE *f = fopen(filename, "w", "ctx=stm");
 	if (f == NULL) {
 		err("write");
 		return 0;
@@ -129,7 +129,7 @@ loop:	if (isend(end))
 	if (c == 0)
 		r++;
 	end++;
