To: vim_dev@googlegroups.com Subject: Patch 7.3.081 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.3.081 Problem: Non-printable characters in 'statusline' cause trouble. (ZyX) Solution: Use transstr(). (partly by Caio Ariede) Files: src/screen.c *** ../vim-7.3.080/src/screen.c 2010-08-15 21:57:32.000000000 +0200 --- src/screen.c 2010-12-08 19:27:20.000000000 +0100 *************** *** 3405,3413 **** # endif ) { ! int_u text_sign; # ifdef FEAT_SIGN_ICONS ! int_u icon_sign; # endif /* Draw two cells with the sign value or blank. */ --- 3405,3413 ---- # endif ) { ! int text_sign; # ifdef FEAT_SIGN_ICONS ! int icon_sign; # endif /* Draw two cells with the sign value or blank. */ *************** *** 6522,6529 **** stl, use_sandbox, fillchar, maxwidth, hltab, tabtab); vim_free(stl); - len = (int)STRLEN(buf); while (width < maxwidth && len < (int)sizeof(buf) - 1) { #ifdef FEAT_MBYTE --- 6522,6538 ---- 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 *** ../vim-7.3.080/src/version.c 2010-12-08 17:09:27.000000000 +0100 --- src/version.c 2010-12-08 19:31:40.000000000 +0100 *************** *** 716,717 **** --- 716,719 ---- { /* Add new patch number below this line */ + /**/ + 81, /**/ -- hundred-and-one symptoms of being an internet addict: 6. You refuse to go to a vacation spot with no electricity and no phone lines. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///