While 10G does add to the jump list, :10 does not. I believe that both the methods of moving from line to line should be consistent with regard to the jump list. This patch removes this inconsistency by making :10 update the jump list.
Additionally, this patch fixes the problem described by Jean Johner in 5e8c1aa3-6f97-4d1e-ab09-c7e79a990...@q15g2000yqj.googlegroups.com (the current position is not added to the jump list when in insert mode <C-End> is pressed). An analogical situation takes place when <C-Home> is pressed in insert mode. This has also been taken care of. -- Cheers, Lech -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php To unsubscribe, reply using "remove me" as the subject.
diff --git a/src/edit.c b/src/edit.c index 33e580f..1371420 100644 --- a/src/edit.c +++ b/src/edit.c @@ -8992,6 +8992,7 @@ ins_home(c) #endif undisplay_dollar(); tpos = curwin->w_cursor; + setpcmark(); if (c == K_C_HOME) curwin->w_cursor.lnum = 1; curwin->w_cursor.col = 0; @@ -9014,6 +9015,7 @@ ins_end(c) #endif undisplay_dollar(); tpos = curwin->w_cursor; + setpcmark(); if (c == K_C_END) curwin->w_cursor.lnum = curbuf->b_ml.ml_line_count; coladvance((colnr_T)MAXCOL); diff --git a/src/ex_docmd.c b/src/ex_docmd.c index f8795fa..1c2e34f 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -2078,6 +2078,7 @@ do_one_cmd(cmdlinep, sourcing, errormsg = (char_u *)_(e_invrange); else { + setpcmark(); if (ea.line2 == 0) curwin->w_cursor.lnum = 1; else