diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak index 5160aebd7b..f1ecbe0b6b 100644 --- a/src/Make_mvc.mak +++ b/src/Make_mvc.mak @@ -1123,9 +1123,6 @@ clean: cd GvimExt $(MAKE) /NOLOGO -f Makefile clean cd .. - cd GvimExt - $(MAKE) /NOLOGO -f Makefile clean - cd .. - if exist testdir\*.out del testdir\*.out test: diff --git a/src/evalfunc.c b/src/evalfunc.c index d5cc976e66..a29d666c2f 100644 --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -3973,7 +3973,8 @@ get_buffer_info(buf_T *buf) dict_add_nr_str(dict, "bufnr", buf->b_fnum, NULL); dict_add_nr_str(dict, "name", 0L, buf->b_ffname != NULL ? buf->b_ffname : (char_u *)""); - dict_add_nr_str(dict, "lnum", buflist_findlnum(buf), NULL); + dict_add_nr_str(dict, "lnum", buf == curbuf ? curwin->w_cursor.lnum + : buflist_findlnum(buf), NULL); dict_add_nr_str(dict, "loaded", buf->b_ml.ml_mfp != NULL, NULL); dict_add_nr_str(dict, "listed", buf->b_p_bl, NULL); dict_add_nr_str(dict, "changed", bufIsChanged(buf), NULL); @@ -9535,15 +9536,15 @@ do_searchpair( /* Make two search patterns: start/end (pat2, for in nested pairs) and * start/middle/end (pat3, for the top pair). */ - pat2 = alloc((unsigned)(STRLEN(spat) + STRLEN(epat) + 15)); - pat3 = alloc((unsigned)(STRLEN(spat) + STRLEN(mpat) + STRLEN(epat) + 23)); + pat2 = alloc((unsigned)(STRLEN(spat) + STRLEN(epat) + 17)); + pat3 = alloc((unsigned)(STRLEN(spat) + STRLEN(mpat) + STRLEN(epat) + 25)); if (pat2 == NULL || pat3 == NULL) goto theend; - sprintf((char *)pat2, "\\(%s\\m\\)\\|\\(%s\\m\\)", spat, epat); + sprintf((char *)pat2, "\\m\\(%s\\m\\)\\|\\(%s\\m\\)", spat, epat); if (*mpat == NUL) STRCPY(pat3, pat2); else - sprintf((char *)pat3, "\\(%s\\m\\)\\|\\(%s\\m\\)\\|\\(%s\\m\\)", + sprintf((char *)pat3, "\\m\\(%s\\m\\)\\|\\(%s\\m\\)\\|\\(%s\\m\\)", spat, epat, mpat); if (flags & SP_START) options |= SEARCH_START; diff --git a/src/term.c b/src/term.c index 8ec0820206..f9bacd2ab8 100644 --- a/src/term.c +++ b/src/term.c @@ -6075,8 +6075,12 @@ hex_digit(int c) guicolor_T gui_get_color_cmn(char_u *name) { - /* On MS-Windows an RGB macro is available and it's different from ours, - * but does what is needed. */ + /* On MS-Windows an RGB macro is available and it produces 0x00bbggrr color + * values as used by the MS-Windows GDI api. It should be used only for + * MS-Windows GDI builds. */ +# if defined(RGB) && defined(WIN32) && !defined(FEAT_GUI) +# undef RGB +# endif # ifndef RGB # define RGB(r, g, b) ((r<<16) | (g<<8) | (b)) # endif diff --git a/src/testdir/Make_dos.mak b/src/testdir/Make_dos.mak index b6aaa6e68f..c28b1a4b1b 100644 --- a/src/testdir/Make_dos.mak +++ b/src/testdir/Make_dos.mak @@ -44,12 +44,12 @@ $(DOSTMP_INFILES): $(*B).in # This moves test99.in to test99.in.bak temporarily. $(TEST_OUTFILES): $(DOSTMP)\$(*B).in -@if exist test.out DEL test.out - move $(*B).in $(*B).in.bak - copy $(DOSTMP)\$(*B).in $(*B).in - copy $(*B).ok test.ok + move $(*B).in $(*B).in.bak > nul + copy $(DOSTMP)\$(*B).in $(*B).in > nul + copy $(*B).ok test.ok > nul $(VIMPROG) -u dos.vim $(NO_PLUGIN) -s dotest.in $(*B).in - -@if exist test.out MOVE /y test.out $(DOSTMP)\$(*B).out - -@if exist $(*B).in.bak move /y $(*B).in.bak $(*B).in + -@if exist test.out MOVE /y test.out $(DOSTMP)\$(*B).out > nul + -@if exist $(*B).in.bak move /y $(*B).in.bak $(*B).in > nul -@if exist test.ok del test.ok -@if exist Xdir1 rd /s /q Xdir1 -@if exist Xfind rd /s /q Xfind @@ -58,10 +58,10 @@ $(TEST_OUTFILES): $(DOSTMP)\$(*B).in $(VIMPROG) -u dos.vim $(NO_PLUGIN) "+set ff=unix|f test.out|wq" \ $(DOSTMP)\$(*B).out @diff test.out $*.ok & if errorlevel 1 \ - ( move /y test.out $*.failed \ + ( move /y test.out $*.failed > nul \ & del $(DOSTMP)\$(*B).out \ & echo $* FAILED >> test.log ) \ - else ( move /y test.out $*.out ) + else ( move /y test.out $*.out > nul ) # Must run test1 first to create small.vim. # This rule must come after the one that copies the input files to dostmp to diff --git a/src/testdir/test_search.vim b/src/testdir/test_search.vim index 3b9aff4e7d..040a8098a8 100644 --- a/src/testdir/test_search.vim +++ b/src/testdir/test_search.vim @@ -279,3 +279,18 @@ func Test_use_sub_pat() call X() bwipe! endfunc + +func Test_searchpair() + new + call setline(1, ['other code here', '', '[', '" cursor here', ']']) + 4 + let a=searchpair('\[','',']','bW') + call assert_equal(3, a) + set nomagic + 4 + let a=searchpair('\[','',']','bW') + call assert_equal(3, a) + set magic + q! +endfunc + diff --git a/src/version.c b/src/version.c index 5c8710f02e..698f2dce88 100644 --- a/src/version.c +++ b/src/version.c @@ -779,6 +779,16 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 147, +/**/ + 146, +/**/ + 145, +/**/ + 144, +/**/ + 143, /**/ 142, /**/