@@ -6767,7 +6767,7 @@ win_redr_status(win_T *wp)
67676767 screen_fill (row , row + 1 , len + W_WINCOL (wp ),
67686768 this_ru_col + W_WINCOL (wp ), fillchar , fillchar , attr );
67696769
6770- if (get_keymap_str (wp , NameBuff , MAXPATHL )
6770+ if (get_keymap_str (wp , ( char_u * ) "<%s>" , NameBuff , MAXPATHL )
67716771 && (int )(this_ru_col - len ) > (int )(STRLEN (NameBuff ) + 1 ))
67726772 screen_puts (NameBuff , row , (int )(this_ru_col - STRLEN (NameBuff )
67736773 - 1 + W_WINCOL (wp )), attr );
@@ -6862,6 +6862,7 @@ stl_connected(win_T *wp)
68626862 int
68636863get_keymap_str (
68646864 win_T * wp ,
6865+ char_u * fmt , /* format string containing one %s item */
68656866 char_u * buf , /* buffer for the result */
68666867 int len ) /* length of buffer */
68676868{
@@ -6894,9 +6895,7 @@ get_keymap_str(
68946895#endif
68956896 p = (char_u * )"lang" ;
68966897 }
6897- if ((int )(STRLEN (p ) + 3 ) < len )
6898- sprintf ((char * )buf , "<%s>" , p );
6899- else
6898+ if (vim_snprintf ((char * )buf , len , (char * )fmt , p ) > len - 1 )
69006899 buf [0 ] = NUL ;
69016900#ifdef FEAT_EVAL
69026901 vim_free (s );
@@ -10166,7 +10165,9 @@ showmode(void)
1016610165 MSG_PUTS_ATTR (_ (" Arabic" ), attr );
1016710166 else
1016810167# endif
10169- MSG_PUTS_ATTR (_ (" (lang)" ), attr );
10168+ if (get_keymap_str (curwin , (char_u * )" (%s)" ,
10169+ NameBuff , MAXPATHL ))
10170+ MSG_PUTS_ATTR (NameBuff , attr );
1017010171 }
1017110172#endif
1017210173 if ((State & INSERT ) && p_paste )
0 commit comments