### Triage
-- [ ] If a pane with shift-disabled has cursor past the right edge, the
+- [X] If a pane with shift-disabled has cursor past the right edge, the
cursor gets positioned outside the window
- [ ] when find-file dialog shifts left, it doesn't shift back until
cursor is v.close to left, even when the rest of the line is blank
struct mark *m, *m2;
struct xy scale = pane_scale(focus);
char *s;
- int hide_cursor = 0;
- int cursor_drawn = 0;
+ bool hide_cursor = False;
+ bool cursor_drawn = False;
bool refresh_all = rl->shift_left != rl->shift_left_last_refresh;
rl->shift_left_last_refresh = rl->shift_left;
s = pane_attr_get(focus, "hide-cursor");
if (s && strcmp(s, "yes") == 0)
- hide_cursor = 1;
+ hide_cursor = True;
rl->cols = 0;
m = vmark_first(focus, rl->typenum, p);
draw_line(p, focus, m, len, True);
rl->cursor_line = hp->y + hp->cy;
curs = pane_mapxy(hp, p, hp->cx, hp->cy, False);
- if (hp->cx < 0) {
+ if (hp->cx < 0 || hp->cx >= hp->w) {
p->cx = -1;
p->cy = -1;
} else {
p->cx = curs.x;
p->cy = curs.y;
+ cursor_drawn = True;
}
- cursor_drawn = 1;
} else {
draw_line(p, focus, m, -1, refresh_all);
}
Display 80,30 662292DCAF96B09B7F39A91DB348091A 61,16
Key ":C-C"
Display 80,30 03A8C2118CA808DFC0F0AB2107FC9EF3 61,16
-Close 864
+Close 871