mirror of
				https://github.com/vim/vim.git
				synced 2025-11-03 09:44:48 -05:00 
			
		
		
		
	patch 8.2.2014: using CTRL-O in a prompt buffer moves cursor to start
Problem: Using CTRL-O in a prompt buffer moves cursor to start of the line. Solution: Do not move the cursor when restarting edit. (closes #7330)
This commit is contained in:
		@@ -1628,7 +1628,7 @@ init_prompt(int cmdchar_todo)
 | 
			
		||||
 | 
			
		||||
    if (cmdchar_todo == 'A')
 | 
			
		||||
	coladvance((colnr_T)MAXCOL);
 | 
			
		||||
    if (cmdchar_todo == 'I' || curwin->w_cursor.col <= (int)STRLEN(prompt))
 | 
			
		||||
    if (curwin->w_cursor.col < (int)STRLEN(prompt))
 | 
			
		||||
	curwin->w_cursor.col = (int)STRLEN(prompt);
 | 
			
		||||
    // Make sure the cursor is in a valid position.
 | 
			
		||||
    check_cursor();
 | 
			
		||||
 
 | 
			
		||||
@@ -85,9 +85,12 @@ func Test_prompt_editing()
 | 
			
		||||
  call term_sendkeys(buf, left . left . left . bs . '-')
 | 
			
		||||
  call WaitForAssert({-> assert_equal('cmd: -hel', term_getline(buf, 1))})
 | 
			
		||||
 | 
			
		||||
  call term_sendkeys(buf, "\<C-O>lz")
 | 
			
		||||
  call WaitForAssert({-> assert_equal('cmd: -hzel', term_getline(buf, 1))})
 | 
			
		||||
 | 
			
		||||
  let end = "\<End>"
 | 
			
		||||
  call term_sendkeys(buf, end . "x")
 | 
			
		||||
  call WaitForAssert({-> assert_equal('cmd: -helx', term_getline(buf, 1))})
 | 
			
		||||
  call WaitForAssert({-> assert_equal('cmd: -hzelx', term_getline(buf, 1))})
 | 
			
		||||
 | 
			
		||||
  call term_sendkeys(buf, "\<C-U>exit\<CR>")
 | 
			
		||||
  call WaitForAssert({-> assert_equal('other buffer', term_getline(buf, 1))})
 | 
			
		||||
 
 | 
			
		||||
@@ -750,6 +750,8 @@ static char *(features[]) =
 | 
			
		||||
 | 
			
		||||
static int included_patches[] =
 | 
			
		||||
{   /* Add new patch number below this line */
 | 
			
		||||
/**/
 | 
			
		||||
    2014,
 | 
			
		||||
/**/
 | 
			
		||||
    2013,
 | 
			
		||||
/**/
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user