Merge #8984 from janlazo/vim-8.1.0034

This commit is contained in:
Justin M. Keyes 2018-09-12 07:36:28 +02:00 committed by GitHub
commit 931e15471c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 41 additions and 12 deletions

View File

@ -298,7 +298,7 @@ static void insert_enter(InsertState *s)
// Check if the cursor line needs redrawing before changing State. If
// 'concealcursor' is "n" it needs to be redrawn without concealing.
conceal_check_cursur_line();
conceal_check_cursor_line();
// When doing a paste with the middle mouse button, Insstart is set to
// where the paste started.

View File

@ -2546,12 +2546,18 @@ int do_ecmd(
}
check_arg_idx(curwin);
// If autocommands change the cursor position or topline, we should keep
// it. Also when it moves within a line.
// If autocommands change the cursor position or topline, we should
// keep it. Also when it moves within a line. But not when it moves
// to the first non-blank.
if (!equalpos(curwin->w_cursor, orig_pos)) {
const char_u *text = get_cursor_line_ptr();
if (curwin->w_cursor.lnum != orig_pos.lnum
|| curwin->w_cursor.col != (int)(skipwhite(text) - text)) {
newlnum = curwin->w_cursor.lnum;
newcol = curwin->w_cursor.col;
}
}
if (curwin->w_topline == topline)
topline = 0;

View File

@ -8735,7 +8735,7 @@ static char_u *arg_all(void)
#ifndef BACKSLASH_IN_FILENAME
|| *p == '\\'
#endif
) {
|| *p == '`') {
// insert a backslash
if (retval != NULL) {
retval[len] = '\\';

View File

@ -6496,8 +6496,8 @@ void may_start_select(int c)
*/
static void n_start_visual_mode(int c)
{
/* Check for redraw before changing the state. */
conceal_check_cursur_line();
// Check for redraw before changing the state.
conceal_check_cursor_line();
VIsual_mode = c;
VIsual_active = true;
@ -6514,8 +6514,8 @@ static void n_start_visual_mode(int c)
foldAdjustVisual();
setmouse();
/* Check for redraw after changing the state. */
conceal_check_cursur_line();
// Check for redraw after changing the state.
conceal_check_cursor_line();
if (p_smd && msg_silent == 0)
redraw_cmdline = true; /* show visual mode later */

View File

@ -478,7 +478,7 @@ int conceal_cursor_line(win_T *wp)
/*
* Check if the cursor line needs to be redrawn because of 'concealcursor'.
*/
void conceal_check_cursur_line(void)
void conceal_check_cursor_line(void)
{
if (curwin->w_p_cole > 0 && conceal_cursor_line(curwin)) {
need_cursor_line_redraw = TRUE;

View File

@ -1338,6 +1338,14 @@ func! Test_edit_rightleft()
bw!
endfunc
func Test_edit_backtick()
next a\`b c
call assert_equal('a`b', expand('%'))
next
call assert_equal('c', expand('%'))
call assert_equal('a\`b c', expand('##'))
endfunc
func Test_edit_quit()
edit foo.txt
split
@ -1390,3 +1398,18 @@ func Test_edit_complete_very_long_name()
endif
set swapfile&
endfunc
func Test_edit_alt()
" Keeping the cursor line didn't happen when the first line has indent.
new
call setline(1, [' one', 'two', 'three'])
w XAltFile
$
call assert_equal(3, line('.'))
e Xother
e #
call assert_equal(3, line('.'))
bwipe XAltFile
call delete('XAltFile')
endfunc

View File

@ -393,7 +393,7 @@ void ui_cursor_shape(void)
mode_idx = new_mode_idx;
pending_mode_update = true;
}
conceal_check_cursur_line();
conceal_check_cursor_line();
}
/// Returns true if `widget` is externalized.