Mercurial > vim
changeset 2661:a03f7551bacc v7.3.081
updated for version 7.3.081
Problem: Non-printable characters in 'statusline' cause trouble. (ZyX)
Solution: Use transstr(). (partly by Caio Ariede)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Wed, 08 Dec 2010 19:56:58 +0100 |
parents | e19ecdb13f34 |
children | 916c90b37ea9 |
files | src/screen.c src/version.c |
diffstat | 2 files changed, 14 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/screen.c +++ b/src/screen.c @@ -3405,9 +3405,9 @@ win_line(wp, lnum, startrow, endrow, noc # endif ) { - int_u text_sign; + int text_sign; # ifdef FEAT_SIGN_ICONS - int_u icon_sign; + int icon_sign; # endif /* Draw two cells with the sign value or blank. */ @@ -6522,8 +6522,17 @@ win_redr_custom(wp, draw_ruler) stl, use_sandbox, fillchar, maxwidth, hltab, tabtab); vim_free(stl); + + /* Make all characters printable. */ + p = transstr(buf); + if (p != NULL) + { + vim_strncpy(buf, p, sizeof(buf) - 1); + vim_free(p); + } + + /* fill up with "fillchar" */ len = (int)STRLEN(buf); - while (width < maxwidth && len < (int)sizeof(buf) - 1) { #ifdef FEAT_MBYTE