mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	patch 8.2.0108: when sign text is changed a manual redraw is needed
Problem:    When sign text is changed a manual redraw is needed. (Pontus
            Lietzler)
Solution:   Redraw automatically. (closes #5455)
			
			
This commit is contained in:
		
							
								
								
									
										12
									
								
								src/sign.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								src/sign.c
									
									
									
									
									
								
							| @@ -1025,6 +1025,16 @@ sign_define_by_name( | ||||
| 	else | ||||
| 	    sp_prev->sn_next = sp; | ||||
|     } | ||||
|     else | ||||
|     { | ||||
| 	win_T *wp; | ||||
|  | ||||
| 	// Signs may already exist, a redraw is needed in windows with a | ||||
| 	// non-empty sign list. | ||||
| 	FOR_ALL_WINDOWS(wp) | ||||
| 	    if (wp->w_buffer->b_signlist != NULL) | ||||
| 		redraw_buf_later(wp->w_buffer, NOT_VALID); | ||||
|     } | ||||
|  | ||||
|     // set values for a defined sign. | ||||
|     if (icon != NULL) | ||||
| @@ -1781,12 +1791,10 @@ sign_get_placed( | ||||
|     else | ||||
|     { | ||||
| 	FOR_ALL_BUFFERS(buf) | ||||
| 	{ | ||||
| 	    if (buf->b_signlist != NULL) | ||||
| 		sign_get_placed_in_buf(buf, 0, sign_id, sign_group, retlist); | ||||
|     } | ||||
| } | ||||
| } | ||||
|  | ||||
| # if defined(FEAT_SIGN_ICONS) || defined(PROTO) | ||||
| /* | ||||
|   | ||||
							
								
								
									
										6
									
								
								src/testdir/dumps/Test_sign_cursor_2.dump
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								src/testdir/dumps/Test_sign_cursor_2.dump
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| | +0#0000e05#a8a8a8255@1|x+0#0000000#ffffff0@72 | ||||
| | +0#0000e05#a8a8a8255@1|x+0#0000000#ffffff0@1| @70 | ||||
| |-+0&#ffff4012|)>m+0&#ffffff0@3| @68 | ||||
| | +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0@3| @68 | ||||
| |~+0#4040ff13&| @73 | ||||
| |:+0#0000000&|s|i|g|n| |d|e|f|i|n|e| |s|1| |t|e|x|t|=|-|)| @33|2|,|1| @10|A|l@1|  | ||||
| @@ -1747,12 +1747,16 @@ func Test_sign_cursor_position() | ||||
|   END | ||||
|   call writefile(lines, 'XtestSigncolumn') | ||||
|   let buf = RunVimInTerminal('-S XtestSigncolumn', {'rows': 6}) | ||||
|   call VerifyScreenDump(buf, 'Test_sign_cursor_01', {}) | ||||
|   call VerifyScreenDump(buf, 'Test_sign_cursor_1', {}) | ||||
|  | ||||
|   " Change the sign text | ||||
|   call term_sendkeys(buf, ":sign define s1 text=-)\<CR>") | ||||
|   call VerifyScreenDump(buf, 'Test_sign_cursor_2', {}) | ||||
|  | ||||
|   " update cursor position calculation | ||||
|   call term_sendkeys(buf, "lh") | ||||
|   call term_sendkeys(buf, ":sign unplace 10\<CR>") | ||||
|   call VerifyScreenDump(buf, 'Test_sign_cursor_02', {}) | ||||
|   call VerifyScreenDump(buf, 'Test_sign_cursor_3', {}) | ||||
|  | ||||
|  | ||||
|   " clean up | ||||
|   | ||||
| @@ -742,6 +742,8 @@ static char *(features[]) = | ||||
|  | ||||
| static int included_patches[] = | ||||
| {   /* Add new patch number below this line */ | ||||
| /**/ | ||||
|     108, | ||||
| /**/ | ||||
|     107, | ||||
| /**/ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user