summaryrefslogtreecommitdiff
path: root/src/ops.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2010-08-01 14:22:48 +0200
committerBram Moolenaar <Bram@vim.org>2010-08-01 14:22:48 +0200
commitd1cb65e44031e2e079463a388a10af615b2a0408 (patch)
tree446aed31dad8544456a3c5673a58cfac92a19b41 /src/ops.c
parenta621a038392cd249c179c987bbc33f59f2b91dfe (diff)
downloadvim-git-d1cb65e44031e2e079463a388a10af615b2a0408.tar.gz
Fix: changing case of a character removed combining characters.
Diffstat (limited to 'src/ops.c')
-rw-r--r--src/ops.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/ops.c b/src/ops.c
index beab33c15..98bd2d171 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -2433,7 +2433,8 @@ swapchar(op_type, pos)
pos_T sp = curwin->w_cursor;
curwin->w_cursor = *pos;
- del_char(FALSE);
+ /* don't use del_char(), it also removes composing chars */
+ del_bytes(utf_ptr2len(ml_get_cursor()), FALSE, FALSE);
ins_char(nc);
curwin->w_cursor = sp;
}