- case LFUN_SCREEN_UP:
- update(cur);
- if (!cur.mark())
- cur.clearSelection();
- finishChange(cur, false);
- if (cur.pit() == 0 && cur.textRow().pos() == 0) {
- cur.undispatched();
- cmd = FuncRequest(LFUN_FINISHED_UP);
- } else {
- needsUpdate = cursorPrevious(cur);
- }
- break;
-
- case LFUN_SCREEN_DOWN:
- update(cur);
- if (!cur.mark())
- cur.clearSelection();
- finishChange(cur, false);
- if (cur.pit() == cur.lastpit()
- && cur.textRow().endpos() == cur.lastpos()) {
- cur.undispatched();
- cmd = FuncRequest(LFUN_FINISHED_DOWN);
- } else {
- needsUpdate = cursorNext(cur);
- }
- break;
-
- case LFUN_LINE_BEGIN:
- if (!cur.mark())
- cur.clearSelection();
- needsUpdate = cursorHome(cur);
- finishChange(cur, false);
- break;
-
- case LFUN_LINE_END:
- if (!cur.mark())
- cur.clearSelection();
- needsUpdate = cursorEnd(cur);
- finishChange(cur, false);
- break;
-