$ the last line in the current buffer
'x position of mark x (if the mark is not set, 0 is
returned)
- w0 first line visible in current window
- w$ last line visible in current window
+ w0 first line visible in current window (one if the
+ display isn't updated, e.g. in silent Ex mode)
+ w$ last line visible in current window (this is one
+ less than "w0" if no lines are visible)
v In Visual mode: the start of the Visual area (the
cursor is the end). When not in Visual mode
returns the cursor position. Differs from |'<| in
if (name[1] == '0') /* "w0": first visible line */
{
update_topline();
- pos.lnum = curwin->w_topline;
+ /* In silent Ex mode topline is zero, but that's not a valid line
+ * number; use one instead. */
+ pos.lnum = curwin->w_topline > 0 ? curwin->w_topline : 1;
return &pos;
}
else if (name[1] == '$') /* "w$": last visible line */
{
validate_botline();
- pos.lnum = curwin->w_botline - 1;
+ /* In silent Ex mode botline is zero, return zero then. */
+ pos.lnum = curwin->w_botline > 0 ? curwin->w_botline - 1 : 0;
return &pos;
}
}
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 542,
/**/
541,
/**/