Hi everyone, I'm having a problem with the statusline in gvim. After certain three-byte utf-8 chars[1], nbsp chars[2] are not displayed as spaces but as boxes with their utf8 code.
This can be reproduced by running the following commands in a fresh[3] gvim: set laststatus=2 let &stl=" x x " Please note that some of these are non-breakable spaces[2] or tabs. I hope they survive the mailing list, if not, I also uploaded it as a tar[4]. Here's a picture of what happens: http://absolute.fail/vim_statusline_bug.png I assume this is a bug, and I hope that somebody can help me figure out what causes this. I'm afraid I don't have enough time at my hands to dig in the code myself at the moment. Best Wishes and thanks for the fish, Simon [1] : ee 82 a1, : ee 82 a0, : ee 82 b1, : ee 82 b0, : ee 82 b2 [2] The Non-breakable space is c2 a0 [3] Started by `gvim -u NONE -U NONE` [4] http://absolute.fail/vim_statusline_bug.vim.tar [5] user@host> cat bugreport.txt uname -a Linux kanne 3.18.6-1-ARCH #1 SMP PREEMPT Sat Feb 7 08:44:05 CET 2015 x86_64 GNU/Linux VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Feb 4 2015 08:02:36) Included patches: 1-617 Compiled by Arch Linux Huge version with GTK2 GUI. Features included (+) or not (-): +acl +cscope +folding +menu +netbeans_intg -sniff +virtualedit +arabic +cursorbind -footer +mksession +path_extra +startuptime +visual +autocmd +cursorshape +fork() +modify_fname +perl +statusline +visualextra +balloon_eval +dialog_con_gui +gettext +mouse +persistent_undo -sun_workshop +viminfo +browse +diff -hangul_input +mouseshape +postscript +syntax +vreplace ++builtin_terms +digraphs +iconv +mouse_dec +printer +tag_binary +wildignore +byte_offset +dnd +insert_expand +mouse_gpm +profile +tag_old_static +wildmenu +cindent -ebcdic +jumplist -mouse_jsbterm +python -tag_any_white +windows +clientserver +emacs_tags +keymap +mouse_netterm -python3 -tcl +writebackup +clipboard +eval +langmap +mouse_sgr +quickfix +terminfo +X11 +cmdline_compl +ex_extra +libcall -mouse_sysmouse +reltime +termresponse -xfontset +cmdline_hist +extra_search +linebreak +mouse_urxvt +rightleft +textobjects +xim +cmdline_info +farsi +lispindent +mouse_xterm +ruby +title +xsmp_interact +comments +file_in_path +listcmds +multi_byte +scrollbind +toolbar +xterm_clipboard +conceal +find_in_path +localmap +multi_lang +signs +user_commands -xterm_save +cryptv +float +lua -mzscheme +smartindent +vertsplit -xpm system vimrc file: "/etc/vimrc" user vimrc file: "$HOME/.vimrc" 2nd user vimrc file: "~/.vim/vimrc" user exrc file: "$HOME/.exrc" system gvimrc file: "/etc/gvimrc" user gvimrc file: "$HOME/.gvimrc" 2nd user gvimrc file: "~/.vim/gvimrc" system menu file: "$VIMRUNTIME/menu.vim" fall-back for $VIM: "/usr/share/vim" Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I /usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -U_FORTIFY_ SOURCE -D_FORTIFY_SOURCE=1 Linking: gcc -L. -Wl,-O1,--sort-common,--as-needed,-z,relro -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E -Wl,-rpath,/usr/lib/perl5/core_perl/CORE -Wl,-O1,--sort-common,--as-needed,-z,relro -L/usr/local/lib -Wl,--as-needed -o vim -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf -2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -lSM -lICE -lXt -lX11 -lXdmcp -lSM -lICE -lm -lncurses -lelf -lnsl -lacl -lattr -lgpm -ldl -L/usr/lib -llua -Wl,-E -Wl,-rpath,/usr/lib/perl5/core_perl/CORE -Wl,-O1,--sort-common,--as-needed,-z,relro -fstack-protector -L/usr /local/lib -L/usr/lib/perl5/core_perl/CORE -lperl -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc -L/usr/lib/python2.7/config -lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic -lruby -lpthread -lgmp -ldl -lcrypt -lm -L/usr/lib --- Directories and Files --- $VIM = "/usr/share/vim" directory "/usr/share/vim" exists $VIMRUNTIME = "/usr/share/vim/vim74" directory "/usr/share/vim/vim74" exists "/usr/share/vim/vim74/doc/help.txt" is readable "/usr/share/vim/vim74/doc/tags" is readable "/usr/share/vim/vim74/menu.vim" is readable "/usr/share/vim/vim74/filetype.vim" is readable "/usr/share/vim/vim74/syntax/synload.vim" is readable --- Scripts sourced --- 1: ~/redacted/vim_statusline_bug.vim 2: /usr/share/vim/vim74/plugin/getscriptPlugin.vim 3: /usr/share/vim/vim74/plugin/gzip.vim 4: /usr/share/vim/vim74/plugin/matchparen.vim 5: /usr/share/vim/vim74/plugin/netrwPlugin.vim 6: /usr/share/vim/vim74/plugin/rrhelper.vim 7: /usr/share/vim/vim74/plugin/spellfile.vim 8: /usr/share/vim/vim74/plugin/tarPlugin.vim 9: /usr/share/vim/vim74/plugin/tohtml.vim 10: /usr/share/vim/vim74/plugin/vimballPlugin.vim 11: /usr/share/vim/vim74/plugin/zipPlugin.vim 12: /usr/share/vim/vim74/menu.vim 13: /usr/share/vim/vim74/autoload/paste.vim 14: /usr/share/vim/vim74/bugreport.vim --- Options --- aleph=224 cscopetagorder=0 guitabtooltip= maxmemtot=4079072 shellquote= timeoutlen=1000 noarabic nocscopeverbose helpheight=20 menuitems=25 noshelltemp title arabicshape nocursorbind helplang=en nomodeline shellxquote= titlelen=85 noallowrevins nocursorcolumn nohidden modelines=5 shellxescape= titlestring= noaltkeymap nocursorline history=0 nomodifiable noshiftround nottimeout ambiwidth=single debug= nohkmap nomodified shiftwidth=8 ttimeoutlen=-1 noautochdir nodelcombine nohkmapp nomore shortmess= ttybuiltin noautoindent dictionary= nohlsearch mouse=a noshortname ttyfast noautoread nodiff icon nomousefocus showbreak= ttymouse= noautowrite diffexpr= iconstring= mousehide noshowcmd ttyscroll=999 noautowriteall diffopt=filler noignorecase mousemodel=extend noshowfulltag undodir=. background=light nodigraph imactivatefunc= mousetime=500 noshowmatch noundofile backspace= display= imactivatekey= nonumber noshowmode undolevels=1000 nobackup eadirection=both noimcmdline numberwidth=8 showtabline=1 undoreload=10000 backupcopy=yes noedcompatible noimdisable omnifunc= sidescroll=0 updatecount=200 backupext=~ encoding=utf-8 iminsert=2 operatorfunc= sidescrolloff=0 updatetime=4000 backupskip=/tmp/* endofline imsearch=2 nopaste nosmartcase verbose=0 balloondelay=600 equalalways imstatusfunc= pastetoggle= nosmartindent verbosefile= noballooneval equalprg= includeexpr= patchexpr= nosmarttab viminfo= balloonexpr= noerrorbells noincsearch patchmode= softtabstop=0 virtualedit= nobinary noesckeys indentexpr= nopreserveindent nospell novisualbell nobomb eventignore= noinfercase previewheight=12 spellfile= warn nobreakindent noexpandtab noinsertmode nopreviewwindow spelllang=en noweirdinvert breakindentopt= noexrc isprint=@,161-255 printdevice= spellsuggest=best whichwrap= browsedir=last fileformat=unix joinspaces printencoding= nosplitbelow wildchar=^E bufhidden= fileformats= key= printfont=courier nosplitright wildcharm=0 nobuflisted nofileignorecase keymap= printmbcharset= startofline wildignore= buftype=help filetype=help keymodel= printmbfont= suffixesadd= nowildignorecase cdpath=,, nofkmap keywordprg=man printoptions= swapfile nowildmenu cedit= foldclose= langmap= prompt swapsync=fsync wildmode=full charconvert= foldcolumn=0 langmenu= pumheight=0 switchbuf= wildoptions= nocindent nofoldenable nolangnoremap quoteescape=\ synmaxcol=3000 winaltkeys=menu cinoptions= foldexpr=0 laststatus=2 readonly syntax= window=65 cmdheight=1 foldignore=# nolazyredraw redrawtime=2000 tabline= winheight=1 cmdwinheight=7 foldlevel=0 nolinebreak regexpengine=0 tabpagemax=10 nowinfixheight colorcolumn= foldlevelstart=-1 lines=66 norelativenumber tabstop=8 nowinfixwidth columns=129 foldmethod=manual linespace=0 remap tagbsearch winminheight=1 compatible foldminlines=1 nolisp report=2 taglength=0 winminwidth=1 concealcursor= foldnestmax=20 nolist norevins notagrelative winwidth=20 conceallevel=0 formatexpr= listchars=eol:$ norightleft tagstack wrap completefunc= formatoptions=vt loadplugins noruler term=builtin_gui wrapmargin=0 noconfirm formatprg= magic rulerformat= notermbidi wrapscan nocopyindent fsync makeef= scroll=16 noterse write cryptmethod=zip nogdefault makeprg=make noscrollbind notextauto nowriteany cscopepathcomp=0 guifont= matchtime=5 scrolljump=1 notextmode writebackup cscopeprg=cscope guifontwide= maxcombine=2 scrolloff=0 textwidth=0 writedelay=0 cscopequickfix= guiheadroom=50 maxfuncdepth=100 nosecure thesaurus= nocscoperelative guipty maxmapdepth=1000 selectmode= notildeop nocscopetag guitablabel= maxmem=4079072 shellcmdflag=-c timeout backupdir=.,~/tmp,~/ breakat= ^I!@*-+;:,./? casemap=internal,keepascii cinkeys=0{,0},0),:,0#,!^F,o,O,e cinwords=if,else,while,do,for,switch clipboard=autoselect,exclude:cons\|linux comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:- commentstring=/*%s*/ complete=.,w,b,u,t,i completeopt=menu,preview cpoptions=aAbBcCdDeEfFgHiIjJkKlLmMnoOpPqrRsStuvwWxXyZ$!%*-+<>; define=^\s*#\s*define directory=.,~/tmp,/var/tmp,/tmp errorfile=errors.err errorformat=%*[^"]"%f"%*\D%l: %m,"%f"%*\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c:,%-GIn file included from %f:%l:%c\,,%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-G%*[ ]from %f:%l:%c,%-G%*[ ]from %f:%l:,%-G%*[ ]from %f:%l\,,%-G%*[ ]from %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,"%f"\, line %l%*\D%c%*[^ ] %m,%D%*\a[%*\d]: Entering directory %*[`']%f',%X%*\a[%*\d]: Leaving directory %*[`']%f',%D%*\a: Entering directory %*[`']%f',%X%*\a: Leaving directory %*[`']%f',%DMaking %*\a in %f,%f|%l| %m fileencoding=utf-8 fileencodings=ucs-bom,utf-8,default,latin1 fillchars=vert:|,fold:- foldmarker={{{,}}} foldopen=block,hor,mark,percent,quickfix,search,tag,undo foldtext=foldtext() formatlistpat=^\s*\d\+[\]:.)}\t ]\s* grepformat=%f:%l:%m,%f:%l%m,%f %l%m grepprg=grep -n $* /dev/null guicursor=n-v-c:block-Cursor/lCursor,ve:ver35-Cursor,o:hor50-Cursor,i-ci:ver25-Cursor/lCursor,r-cr:hor20-Cursor/lCursor,sm:block-Cursor-blinkwait175-blinkoff150-blinkon175 guioptions=aegimrLtT helpfile=/usr/share/vim/vim74/doc/help.txt highlight=8:SpecialKey,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,N:CursorLineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title,v:Visual,V:VisualNOS,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn,A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,>:SignColumn,-:Conceal, B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu,=:PmenuSel,x:PmenuSbar,X:PmenuThumb,*:TabLine,#:TabLineSel,_:TabLineFill,!:CursorColumn,.:CursorLine,o:ColorColumn include=^\s*#\s*include indentkeys=0{,0},:,0#,!^F,o,O,e isfname=@,48-57,/,.,-,_,+,,,#,$,%,~,= isident=@,48-57,_,192-255 iskeyword=!-~,^*,^|,^",192-255 lispwords=defun,define,defmacro,set!,lambda,if,case,let,flet,let*,letrec,do,do*,define-syntax,let-syntax,letrec-syntax,destructuring-bind,defpackage,defparameter,defstruct,deftype,defvar,do-all-symbols,do-external-symbols,do-symbols,dolist,dotimes,ecase,etypecase,eval-when,labels,macrolet,multiple-value-bind,multipl e-value-call,multiple-value-prog1,multiple-value-setq,prog1,progv,typecase,unless,unwind-protect,when,with-input-from-string,with-open-file,with-open-stream,with-output-to-string,with-package-iterator,define-condition,handler-bind,handler-case,restart-bind,restart-case,with-simple-restart,store-value,use-value,muffle- warning,abort,continue,with-slots,with-slots*,with-accessors,with-accessors*,defclass,defmethod,print-unreadable-object matchpairs=(:),{:},[:] maxmempattern=1000 mkspellmem=460000,2000,500 mouseshape=i-r:beam,s:updown,sd:udsizing,vs:leftright,vd:lrsizing,m:no,ml:up-arrow,v:rightup-arrow nrformats=octal,hex paragraphs=IPLPPPQPP TPHPLIPpLpItpplpipbp path=.,/usr/include,, printexpr=system('lpr' . (&printdevice == '' ? '' : ' -P' . &printdevice) . ' ' . v:fname_in) . delete(v:fname_in) + v:shell_error printheader=%<%f%h%m%=Page %N rightleftcmd=search runtimepath=~/.vim,/usr/share/vim/vimfiles,/usr/share/vim/vim74,/usr/share/vim/vimfiles/after,~/.vim/after scrollopt=ver,jump sections=SHNHH HUnhsh selection=inclusive sessionoptions=blank,buffers,curdir,folds,help,options,tabpages,winsize shell=/usr/bin/zsh shellpipe=2>&1| tee shellredir=>%s 2>&1 spellcapcheck=[.?!]\_[\])'"^I ]\+ statusline= x ^I x suffixes=.bak,~,.o,.h,.info,.swp,.obj tags=./tags,./TAGS,tags,TAGS termencoding=utf-8 titleold=Thanks for flying Vim toolbar=icons,tooltips toolbariconsize=small ttytype=builtin_gui viewdir=~/.vim/view viewoptions=folds,options,cursor--- Terminal codes --- t_AB= t_CS= t_ke= t_op= t_ts= t_WP= t_AF= t_ut=y t_ks= t_RI= t_te= t_WS= t_AL=^[|%p1%dI t_da= t_le=^H t_RV= t_ti= t_SI= t_al=^[|i t_db= t_mb= t_u7= t_ue=^[|8H t_EI= t_bc= t_DL=^[|%p1%dD t_md=^[|2h t_Sb= t_us=^[|8h t_xs= t_cd= t_dl=^[|d t_me=^[|31H t_Sf= t_vb=^[|f t_ZH=^[|4h t_ce=^[|$ t_fs= t_mr=^[|1h t_se=^[|16H t_ve= t_ZR=^[|4H t_cl=^[|C t_IE= t_ms=y t_so=^[|16h t_vi= t_Co= t_IS= t_nd=^L t_sr= t_vs= t_cm=^[|%p1%d;%p2%dM t_cs=^[|%p1%d;%p2%dR t_CV=^[|%p1%d;%p2%dV --- Auto-Commands --- buffer_list BufAdd * call <SID>BMAdd() buffer_list BufDelete * call <SID>BMRemove() buffer_list BufFilePost * call <SID>BMAdd() buffer_list BufFilePre * call <SID>BMRemove() SpellPopupMenu MenuPopup * call <SID>SpellPopup() --- Normal/Visual mode mappings --- No mapping found --- Insert/Command-line mode mappings --- No mapping found --- Abbreviations --- No abbreviation found--- Highlighting --- SpecialKey xxx term=bold ctermfg=4 guifg=Blue NonText xxx term=bold ctermfg=12 gui=bold guifg=Blue Directory xxx term=bold ctermfg=4 guifg=Blue ErrorMsg xxx term=standout ctermfg=15 ctermbg=1 guifg=White guibg=Red IncSearch xxx term=reverse cterm=reverse gui=reverse Search xxx term=reverse ctermbg=11 guibg=Yellow MoreMsg xxx term=bold ctermfg=2 gui=bold guifg=SeaGreen ModeMsg xxx term=bold cterm=bold gui=bold LineNr xxx term=underline ctermfg=130 guifg=Brown CursorLineNr xxx term=bold ctermfg=130 gui=bold guifg=Brown Question xxx term=standout ctermfg=2 gui=bold guifg=SeaGreen StatusLine xxx term=bold,reverse cterm=bold,reverse gui=bold,reverse StatusLineNC xxx term=reverse cterm=reverse gui=reverse VertSplit xxx term=reverse cterm=reverse gui=reverse Title xxx term=bold ctermfg=5 gui=bold guifg=Magenta Visual xxx term=reverse ctermbg=7 guibg=LightGrey VisualNOS xxx term=bold,underline cterm=bold,underline gui=bold,underline WarningMsg xxx term=standout ctermfg=1 guifg=Red WildMenu xxx term=standout ctermfg=0 ctermbg=11 guifg=Black guibg=Yellow Folded xxx term=standout ctermfg=4 ctermbg=248 guifg=DarkBlue guibg=LightGrey FoldColumn xxx term=standout ctermfg=4 ctermbg=248 guifg=DarkBlue guibg=Grey DiffAdd xxx term=bold ctermbg=81 guibg=LightBlue DiffChange xxx term=bold ctermbg=225 guibg=LightMagenta DiffDelete xxx term=bold ctermfg=12 ctermbg=159 gui=bold guifg=Blue guibg=LightCyan DiffText xxx term=reverse cterm=bold ctermbg=9 gui=bold guibg=Red SignColumn xxx term=standout ctermfg=4 ctermbg=248 guifg=DarkBlue guibg=Grey Conceal xxx ctermfg=7 ctermbg=242 guifg=LightGrey guibg=DarkGrey SpellBad xxx term=reverse ctermbg=224 gui=undercurl guisp=Red SpellCap xxx term=reverse ctermbg=81 gui=undercurl guisp=Blue SpellRare xxx term=reverse ctermbg=225 gui=undercurl guisp=Magenta SpellLocal xxx term=underline ctermbg=14 gui=undercurl guisp=DarkCyan Pmenu xxx ctermfg=0 ctermbg=225 guibg=LightMagenta PmenuSel xxx ctermfg=0 ctermbg=7 guibg=Grey PmenuSbar xxx ctermbg=248 guibg=Grey PmenuThumb xxx ctermbg=0 guibg=Black TabLine xxx term=underline cterm=underline ctermfg=0 ctermbg=7 gui=underline guibg=LightGrey TabLineSel xxx term=bold cterm=bold gui=bold TabLineFill xxx term=reverse cterm=reverse gui=reverse CursorColumn xxx term=reverse ctermbg=7 guibg=Grey90 CursorLine xxx term=underline cterm=underline guibg=Grey90 ColorColumn xxx term=reverse ctermbg=224 guibg=LightRed Cursor xxx guifg=bg guibg=fg lCursor xxx guifg=bg guibg=fg MatchParen xxx term=reverse ctermbg=14 guibg=Cyan Normal xxx font=Monospace 10 --- Variables --- menutrans_no_file [No file] did_install_default_menus #1 did_toolbar_tmenu #1 paste#paste_cmd {'v': '"-c<Esc>:call paste#Paste()<CR>', 'i': 'x<BS><Esc>:call paste#Paste()<CR>gi', 'n': ':call paste#Paste()<CR>'} ctags_command ctags -R . loaded_2html_plugin vim7.4_v1 loaded_rrhelper #1 more_save #0 bmenu_priority #60 bmenu_max_pathlen #35 b:changedtick #4 v:version #704 v:beval_winnr #0 v:lnum #0 v:hlsearch #0 v:scrollstart /usr/share/vim/vim74/bugreport.vim line 20 v:oldfiles [] v:dying #0 v:windowid #37748739 v:lang en_US.UTF-8 v:count #0 v:progpath gvim v:progname gvim v:cmdbang #0 v:foldlevel #0 v:ctype en_US.UTF-8 v:prevcount #0 v:register " v:mouse_win #0 v:count1 #1 v:foldstart #0 v:foldend #0 v:profiling #0 v:beval_col #0 v:errmsg E328: Menu only exists in another mode v:beval_lnum #0 v:mouse_lnum #0 v:beval_bufnr #0 v:shell_error #0 v:servername GVIM v:lc_time de_DE.UTF-8 v:searchforward #1 v:mouse_col #0 v:statusmsg No abbreviation found -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
0xCBE9B92E.asc
Description: application/pgp-keys
signature.asc
Description: OpenPGP digital signature
