Mercurial > vim
comparison src/search.c @ 11275:5c77ca0cf6a5 v8.0.0523
patch 8.0.0523: dv} deletes part of a multi-byte character.
commit https://github.com/vim/vim/commit/bf3d58073f7b34b2d65d1d08a728d1164e03cceb
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Mar 29 19:48:11 2017 +0200
patch 8.0.0523: dv} deletes part of a multi-byte character.
Problem: dv} deletes part of a multi-byte character. (Urtica Dioica)
Solution: Include the whole character.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Wed, 29 Mar 2017 20:00:05 +0200 |
parents | 501f46f7644c |
children | c45fb081391c |
comparison
equal
deleted
inserted
replaced
11274:8098a825f007 | 11275:5c77ca0cf6a5 |
---|---|
2849 if (both && *ml_get(curr) == '}') /* include line with '}' */ | 2849 if (both && *ml_get(curr) == '}') /* include line with '}' */ |
2850 ++curr; | 2850 ++curr; |
2851 curwin->w_cursor.lnum = curr; | 2851 curwin->w_cursor.lnum = curr; |
2852 if (curr == curbuf->b_ml.ml_line_count && what != '}') | 2852 if (curr == curbuf->b_ml.ml_line_count && what != '}') |
2853 { | 2853 { |
2854 if ((curwin->w_cursor.col = (colnr_T)STRLEN(ml_get(curr))) != 0) | 2854 char_u *line = ml_get(curr); |
2855 | |
2856 /* Put the cursor on the last character in the last line and make the | |
2857 * motion inclusive. */ | |
2858 if ((curwin->w_cursor.col = (colnr_T)STRLEN(line)) != 0) | |
2855 { | 2859 { |
2856 --curwin->w_cursor.col; | 2860 --curwin->w_cursor.col; |
2861 #ifdef FEAT_MBYTE | |
2862 curwin->w_cursor.col -= | |
2863 (*mb_head_off)(line, line + curwin->w_cursor.col); | |
2864 #endif | |
2857 *pincl = TRUE; | 2865 *pincl = TRUE; |
2858 } | 2866 } |
2859 } | 2867 } |
2860 else | 2868 else |
2861 curwin->w_cursor.col = 0; | 2869 curwin->w_cursor.col = 0; |