@@ -3973,7 +3973,8 @@ get_buffer_info(buf_T *buf)
39733973 dict_add_nr_str (dict , "bufnr" , buf -> b_fnum , NULL );
39743974 dict_add_nr_str (dict , "name" , 0L ,
39753975 buf -> b_ffname != NULL ? buf -> b_ffname : (char_u * )"" );
3976- dict_add_nr_str (dict , "lnum" , buflist_findlnum (buf ), NULL );
3976+ dict_add_nr_str (dict , "lnum" , buf == curbuf ? curwin -> w_cursor .lnum
3977+ : buflist_findlnum (buf ), NULL );
39773978 dict_add_nr_str (dict , "loaded" , buf -> b_ml .ml_mfp != NULL , NULL );
39783979 dict_add_nr_str (dict , "listed" , buf -> b_p_bl , NULL );
39793980 dict_add_nr_str (dict , "changed" , bufIsChanged (buf ), NULL );
@@ -9535,15 +9536,15 @@ do_searchpair(
95359536
95369537 /* Make two search patterns: start/end (pat2, for in nested pairs) and
95379538 * start/middle/end (pat3, for the top pair). */
9538- pat2 = alloc ((unsigned )(STRLEN (spat ) + STRLEN (epat ) + 15 ));
9539- pat3 = alloc ((unsigned )(STRLEN (spat ) + STRLEN (mpat ) + STRLEN (epat ) + 23 ));
9539+ pat2 = alloc ((unsigned )(STRLEN (spat ) + STRLEN (epat ) + 17 ));
9540+ pat3 = alloc ((unsigned )(STRLEN (spat ) + STRLEN (mpat ) + STRLEN (epat ) + 25 ));
95409541 if (pat2 == NULL || pat3 == NULL )
95419542 goto theend ;
9542- sprintf ((char * )pat2 , "\\(%s\\m\\)\\|\\(%s\\m\\)" , spat , epat );
9543+ sprintf ((char * )pat2 , "\\m\\ (%s\\m\\)\\|\\(%s\\m\\)" , spat , epat );
95439544 if (* mpat == NUL )
95449545 STRCPY (pat3 , pat2 );
95459546 else
9546- sprintf ((char * )pat3 , "\\(%s\\m\\)\\|\\(%s\\m\\)\\|\\(%s\\m\\)" ,
9547+ sprintf ((char * )pat3 , "\\m\\ (%s\\m\\)\\|\\(%s\\m\\)\\|\\(%s\\m\\)" ,
95479548 spat , epat , mpat );
95489549 if (flags & SP_START )
95499550 options |= SEARCH_START ;
0 commit comments