# HG changeset patch # User Bram Moolenaar # Date 1280665368 -7200 # Node ID 0b8612c2814d7f42f1ba55a846f5c2b7f7e06ba4 # Parent 7e9da593951dabc23efd50f74c2b0d0b4dc8b986 Fix: changing case of a character removed combining characters. diff --git a/src/ops.c b/src/ops.c --- 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; }