Mercurial > vim
comparison src/getchar.c @ 20563:a5a24d688e11 v8.2.0835
patch 8.2.0835: Motif: mapping <C-bslash> still doesn't work
Commit: https://github.com/vim/vim/commit/c998370562425e70f4cf202a87112d638f5f7b38
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu May 28 21:03:53 2020 +0200
patch 8.2.0835: Motif: mapping <C-bslash> still doesn't work
Problem: Motif: mapping <C-bslash> still doesn't work.
Solution: Accept CSI for K_SPECIAL. Do not apply CTRL to the character
early. (closes #6150)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 28 May 2020 21:15:04 +0200 |
parents | 8a694c9447d7 |
children | 5995db0fe84a |
comparison
equal
deleted
inserted
replaced
20562:4d120d19ba0a | 20563:a5a24d688e11 |
---|---|
2277 && State != CONFIRM | 2277 && State != CONFIRM |
2278 && !((ctrl_x_mode_not_default() && at_ctrl_x_key()) | 2278 && !((ctrl_x_mode_not_default() && at_ctrl_x_key()) |
2279 || ((compl_cont_status & CONT_LOCAL) | 2279 || ((compl_cont_status & CONT_LOCAL) |
2280 && (tb_c1 == Ctrl_N || tb_c1 == Ctrl_P)))) | 2280 && (tb_c1 == Ctrl_N || tb_c1 == Ctrl_P)))) |
2281 { | 2281 { |
2282 #ifdef FEAT_GUI | |
2283 if (gui.in_use && tb_c1 == CSI && typebuf.tb_len >= 2 | |
2284 && typebuf.tb_buf[typebuf.tb_off + 1] == KS_MODIFIER) | |
2285 { | |
2286 // The GUI code sends CSI KS_MODIFIER {flags}, but mappings expect | |
2287 // K_SPECIAL KS_MODIFIER {flags}. | |
2288 tb_c1 = K_SPECIAL; | |
2289 } | |
2290 #endif | |
2282 #ifdef FEAT_LANGMAP | 2291 #ifdef FEAT_LANGMAP |
2283 if (tb_c1 == K_SPECIAL) | 2292 if (tb_c1 == K_SPECIAL) |
2284 nolmaplen = 2; | 2293 nolmaplen = 2; |
2285 else | 2294 else |
2286 { | 2295 { |
2335 else | 2344 else |
2336 LANGMAP_ADJUST(c2, TRUE); | 2345 LANGMAP_ADJUST(c2, TRUE); |
2337 if (mp->m_keys[mlen] != c2) | 2346 if (mp->m_keys[mlen] != c2) |
2338 #else | 2347 #else |
2339 if (mp->m_keys[mlen] != | 2348 if (mp->m_keys[mlen] != |
2340 typebuf.tb_buf[typebuf.tb_off + mlen]) | 2349 typebuf.tb_buf[typebuf.tb_off + mlen]) |
2341 #endif | 2350 #endif |
2342 break; | 2351 break; |
2343 } | 2352 } |
2344 | 2353 |
2345 // Don't allow mapping the first byte(s) of a multi-byte char. | 2354 // Don't allow mapping the first byte(s) of a multi-byte char. |