Hi, Bram and Nobuhiro 2014/5/13(Tus) 23:17:39 UTC+9 Nobuhiro Takasaki: > Hi. What physical condition are you? > > A result of discussions at the Issue of vim-jp. > This is a common problem in a multi-byte countries. > > In the terminal, > if the last character in the string is a multi-byte > character, and by outputting the space character, > and keep the integrity of the display. > > When it is logic of the current, the output of the > multi-byte string will end in the middle. > > However, there is a leak in the trick. > This patch supplemented with leakage. > > "screen_puts_len()" is cast to (int) a 64bit > pointer arithmetic. Here should be a (long). > This patch, the workaround is simply it. > > That I learn a lot. > > -------- > Thanks. > Nobuhiro Takasaki
I supplement how to reproduce. (from vim-jp [https://github.com/vim-jp/issues/issues/558]) How to reproduce (Reproduce well in MacOSX) 1. Prepare a file(.vimrc_test) with the following content: set nocompatible filetype off nnoremap <silent> <Plug>(echoline) :<C-u>call EchoLine()<CR> nmap <C-g> <Plug>(echoline) function! EchoLine() redraw echo getline('.') endfunction filetype plugin indent on syntax enable 2. Prepare a file(test) with the following content: (File encodinf is utf-8) ああああああああああ aaaaaaaaaa 3. Startup CUI version Vim. (enc=utf-8) $ vim test -u .vimrc_test 4. Input below <C-g> " Displayed with "ああああああああああ" the last line. j " Cursor Moved to line 2. <C-g> Expected behavior Displayed with "aaaaaaaaaa" the last line. Actual behavior Displayed with " a a a a a" the last line. Sometime reproduce. (About 30% on MacOSX) Nobuhiro's patch is fixed this. Thanks. -- Best regards Hirohito Higashi -- -- 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.
