; // avoid -Wunused-result
#endif
- // with preserved 'other filters', ensure a visible task on row #1
+ // with preserved 'other filters' & command line 'user filters',
+ // we must ensure that we always have a visible task on row one.
mkVIZrow1(Curwin);
// lastly, initialize a signal set used to throttle one troublesome signal
case 'O':
case 'o':
case kbd_CtrlO:
- if (VIZCHKw(w)) other_filters(ch);
+ if (VIZCHKw(w)) {
+ other_filters(ch);
+ mkVIZrow1(w);
+ }
break;
case 'U':
case 'u':
if (*str != kbd_ESC
&& (errmsg = user_certify(w, str, ch)))
show_msg(errmsg);
+ mkVIZrow1(w);
}
break;
case 'V':
* In reality, this function is called:
* 1) exclusively for the 'current' window
* 2) immediately after interacting with the user
- * 3) who struck 1 of these: up, down, pgup, pgdn, home or end
+ * 3) who struck: up, down, pgup, pgdn, home, end, 'o/O' or 'u/U'
* 4) or upon the user switching from one window to another window */
static void window_hlp (void) {
WIN_t *w = Curwin; // avoid gcc bloat with a local copy
#endif
// Support for a proper (visible) row #1 whenever Curwin changes
- // ( or a certain vertical scrolling key has been struck )
+ // ( or a key which might affect vertical scrolling was struck )
#define mkVIZrow1(q) { q->begtask -= 1; q->begnext = +1; }
/* Special Section: end ------------------------------------------ */