Hi Bram, Here's a patch to make virtcol([123, '$']) do the right thing. If it looks good to you, can you include it?
Alvast bedankt, – Michael
Index: eval.c =================================================================== --- eval.c (revision 238) +++ eval.c (working copy) @@ -16485,6 +16485,7 @@ list_T *l; int len; int error = FALSE; + listitem_T *li; l = varp->vval.v_list; if (l == NULL) @@ -16500,6 +16501,13 @@ if (error) return NULL; len = (long)STRLEN(ml_get(pos.lnum)); + /* Check for column number '$' */ + if (pos.col == 0) + { + li = list_find(l, 1L); + if ((li != NULL) && (get_tv_string(&li->li_tv)[0] == '$')) + pos.col = len + 1; + } /* Accept a position up to the NUL after the line. */ if (pos.col == 0 || (int)pos.col > len + 1) return NULL; /* invalid column number */