int do_del(void);
int do_change(void);
int changeend(void);
+int pagetop(void);
+int pagemiddle(void);
+int pagebottom(void);
#undef CTRL
#define CTRL(x) ((x) & 0x1f)
{ 'r', 0, replace },
{ 'F', NORPT, findleft },
{ 'f', NORPT, findright },
+ { 'H', NORPT, pagetop },
+ { 'L', NORPT, pagebottom },
+ { 'M', NORPT, pagemiddle },
{ 'd', 0, do_del },
{ 'c', 0, do_change },
{ 'C', 0, changeend },
};
-void beep(void)
+int dobeep(void)
{
write(1, "\007", 1);
}
return 0;
}
+int pagetop(void)
+{
+ int y = row;
+ while(y--)
+ up();
+ return 0;
+}
+
+int pagemiddle(void)
+{
+ int y = row;
+ int t = LINES/2;
+ while(y < t) {
+ down();
+ y++;
+ }
+ while(y-- > t)
+ up();
+ return 0;
+}
+
+int pagebottom(void)
+{
+ int y = row;
+ while(y++ < LINES - 1)
+ down();
+ return 0;
+}
+
+
int wleft(void)
{
char *p;
int append_end(void)
{
lnend();
- return append_mode();
+ return insert_mode();
}
int replace(void)
while(indexp && *ptr(indexp) != '\n' && !delete_left());
return 0;
} else {
- beep();
+ dobeep();
return 1;
}
/* TODO dw and de */
{
int c = getch();
if (c != 'Z' && c != 'z') {
- beep();
+ dobeep();
return 0;
}
/* Check if changed ? */
if (!save(filename))
warning(strerror(errno));
else
- exit(0);
+ done = 1;
return 1;
}
mvaddstr(LINES-1, 0, p);
clrtoeol();
refresh();
- beep();
+ dobeep();
getch();
display();
}