Mercurial > vim
comparison src/normal.c @ 23076:5fbac68bda23 v8.2.2084
patch 8.2.2084: CTRL-V U doesn't work to enter a Unicode character
Commit: https://github.com/vim/vim/commit/0684e36a7ee0743f2889698fb8e0e14f7acae423
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Dec 3 19:54:42 2020 +0100
patch 8.2.2084: CTRL-V U doesn't work to enter a Unicode character
Problem: CTRL-V U doesn't work to enter a Unicode character when
modifyOtherKeys is effective. (Ken Takata)
Solution: Add a flag to get_literal() for the shift key. (closes #7413)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 03 Dec 2020 20:00:05 +0100 |
parents | d10a37eb91ee |
children | a916fca16d4b |
comparison
equal
deleted
inserted
replaced
23075:fc0d222fcf36 | 23076:5fbac68bda23 |
---|---|
4925 | 4925 |
4926 // get another character | 4926 // get another character |
4927 if (cap->nchar == Ctrl_V) | 4927 if (cap->nchar == Ctrl_V) |
4928 { | 4928 { |
4929 had_ctrl_v = Ctrl_V; | 4929 had_ctrl_v = Ctrl_V; |
4930 cap->nchar = get_literal(); | 4930 cap->nchar = get_literal(FALSE); |
4931 // Don't redo a multibyte character with CTRL-V. | 4931 // Don't redo a multibyte character with CTRL-V. |
4932 if (cap->nchar > DEL) | 4932 if (cap->nchar > DEL) |
4933 had_ctrl_v = NUL; | 4933 had_ctrl_v = NUL; |
4934 } | 4934 } |
4935 else | 4935 else |
5206 if (!curbuf->b_p_ma) | 5206 if (!curbuf->b_p_ma) |
5207 emsg(_(e_modifiable)); | 5207 emsg(_(e_modifiable)); |
5208 else | 5208 else |
5209 { | 5209 { |
5210 if (cap->extra_char == Ctrl_V) // get another character | 5210 if (cap->extra_char == Ctrl_V) // get another character |
5211 cap->extra_char = get_literal(); | 5211 cap->extra_char = get_literal(FALSE); |
5212 stuffcharReadbuff(cap->extra_char); | 5212 stuffcharReadbuff(cap->extra_char); |
5213 stuffcharReadbuff(ESC); | 5213 stuffcharReadbuff(ESC); |
5214 if (virtual_active()) | 5214 if (virtual_active()) |
5215 coladvance(getviscol()); | 5215 coladvance(getviscol()); |
5216 invoke_edit(cap, TRUE, 'v', FALSE); | 5216 invoke_edit(cap, TRUE, 'v', FALSE); |