| To: vim-dev@vim.org |
| Subject: Patch 7.1.259 |
| Fcc: outbox |
| From: Bram Moolenaar <Bram@moolenaar.net> |
| Mime-Version: 1.0 |
| Content-Type: text/plain; charset=ISO-8859-1 |
| Content-Transfer-Encoding: 8bit |
| |
| |
| Patch 7.1.259 |
| Problem: Cursor is in the wrong position when 'rightleft' is set, |
| 'encoding' is "utf-8" and on an illegal byte. (Dominique Pelle) |
| Solution: Only put the cursor in the first column when actually on a |
| double-wide character. (Yukihiro Nakadaira) |
| Files: src/screen.c |
| |
| |
| |
| |
| |
| *** 8045,8053 **** |
| windgoto(W_WINROW(curwin) + curwin->w_wrow, |
| W_WINCOL(curwin) + ( |
| #ifdef FEAT_RIGHTLEFT |
| curwin->w_p_rl ? ((int)W_WIDTH(curwin) - curwin->w_wcol - ( |
| # ifdef FEAT_MBYTE |
| ! has_mbyte ? (*mb_ptr2cells)(ml_get_cursor()) : |
| # endif |
| 1)) : |
| #endif |
| --- 8045,8057 ---- |
| windgoto(W_WINROW(curwin) + curwin->w_wrow, |
| W_WINCOL(curwin) + ( |
| #ifdef FEAT_RIGHTLEFT |
| + /* With 'rightleft' set and the cursor on a double-wide |
| + * character, position it on the leftmost column. */ |
| curwin->w_p_rl ? ((int)W_WIDTH(curwin) - curwin->w_wcol - ( |
| # ifdef FEAT_MBYTE |
| ! (has_mbyte |
| ! && (*mb_ptr2cells)(ml_get_cursor()) == 2 |
| ! && vim_isprintc(gchar_cursor())) ? 2 : |
| # endif |
| 1)) : |
| #endif |
| |
| |
| |
| *** 668,669 **** |
| --- 668,671 ---- |
| { /* Add new patch number below this line */ |
| + /**/ |
| + 259, |
| /**/ |
| |
| -- |
| A day without sunshine is like, well, night. |
| |
| /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ |
| /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ |
| \\\ download, build and distribute -- http://www.A-A-P.org /// |
| \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |