mirror of
				https://github.com/vim/vim.git
				synced 2025-10-31 09:57:14 -04:00 
			
		
		
		
	patch 9.0.0322: crash when no errors and 'quickfixtextfunc' is set
Problem: Crash when no errors and 'quickfixtextfunc' is set. Solution: Do not handle errors if there aren't any.
This commit is contained in:
		| @@ -4761,7 +4761,7 @@ qf_fill_buffer(qf_list_T *qfl, buf_T *buf, qfline_T *old_last, int qf_winid) | ||||
|     } | ||||
|  | ||||
|     // Check if there is anything to display | ||||
|     if (qfl != NULL) | ||||
|     if (qfl != NULL && qfl->qf_start != NULL) | ||||
|     { | ||||
| 	char_u		dirname[MAXPATHL]; | ||||
| 	int		invalid_val = FALSE; | ||||
|   | ||||
| @@ -4107,6 +4107,22 @@ func Xgetlist_empty_tests(cchar) | ||||
|   endif | ||||
| endfunc | ||||
|  | ||||
| func Test_empty_list_quickfixtextfunc() | ||||
|   " This was crashing.  Can only reproduce by running it in a separate Vim | ||||
|   " instance. | ||||
|   let lines =<< trim END | ||||
|       func s:Func(o) | ||||
|               cgetexpr '0' | ||||
|       endfunc | ||||
|       cope | ||||
|       let &quickfixtextfunc = 's:Func' | ||||
|       cgetfile [ex | ||||
|   END | ||||
|   call writefile(lines, 'Xquickfixtextfunc') | ||||
|   call RunVim([], [], '-e -s -S Xquickfixtextfunc -c qa') | ||||
|   call delete('Xquickfixtextfunc') | ||||
| endfunc | ||||
|  | ||||
| func Test_getqflist() | ||||
|   call Xgetlist_empty_tests('c') | ||||
|   call Xgetlist_empty_tests('l') | ||||
|   | ||||
| @@ -707,6 +707,8 @@ static char *(features[]) = | ||||
|  | ||||
| static int included_patches[] = | ||||
| {   /* Add new patch number below this line */ | ||||
| /**/ | ||||
|     322, | ||||
| /**/ | ||||
|     321, | ||||
| /**/ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user