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.