mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	vim-patch:8.2.4427: getchar() may return modifiers if no character is available
Problem: getchar() may return modifiers if no character is available. Solution: Do not process modifiers when there is no character. (closes vim/vim#9806)ad6c45f625(cherry picked from commit3828fb7ea4)
This commit is contained in:
		 zeertzjq
					zeertzjq
				
			
				
					committed by
					
						![github-actions[bot]](/assets/img/avatar_default.png) github-actions[bot]
						github-actions[bot]
					
				
			
			
				
	
			
			
			![github-actions[bot]](/assets/img/avatar_default.png) github-actions[bot]
						github-actions[bot]
					
				
			
						parent
						
							a375053492
						
					
				
				
					commit
					71294e6430
				
			| @@ -3218,7 +3218,7 @@ static void getchar_common(typval_T *argvars, typval_T *rettv) | ||||
|   set_vim_var_nr(VV_MOUSE_COL, 0); | ||||
|  | ||||
|   rettv->vval.v_number = n; | ||||
|   if (IS_SPECIAL(n) || mod_mask != 0) { | ||||
|   if (n != 0 && (IS_SPECIAL(n) || mod_mask != 0)) { | ||||
|     char_u temp[10];                // modifier: 3, mbyte-char: 6, NUL: 1 | ||||
|     int i = 0; | ||||
|  | ||||
|   | ||||
| @@ -1483,6 +1483,10 @@ func Test_getchar() | ||||
|   call assert_equal('', getcharstr(0)) | ||||
|   call assert_equal('', getcharstr(1)) | ||||
|  | ||||
|   call feedkeys("\<M-F2>", '') | ||||
|   call assert_equal("\<M-F2>", getchar(0)) | ||||
|   call assert_equal(0, getchar(0)) | ||||
|  | ||||
|   call setline(1, 'xxxx') | ||||
|   " call test_setmouse(1, 3) | ||||
|   " let v:mouse_win = 9 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user