Mercurial > vim
comparison src/misc1.c @ 25856:1a5351f6803f v8.2.3462
patch 8.2.3462: ModeChanged only uses one character for new_mode and old_mode
Commit: https://github.com/vim/vim/commit/d85931e67316e824878000d0ead122553ccef3a4
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Oct 2 16:55:39 2021 +0100
patch 8.2.3462: ModeChanged only uses one character for new_mode and old_mode
Problem: The ModeChanged event only uses one character for the new_mode and
old_mode values.
Solution: Pass one as first argument to mode(). (issue #8856)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 02 Oct 2021 18:00:05 +0200 |
parents | 2d0bea8aed33 |
children | 44e9d98555a9 |
comparison
equal
deleted
inserted
replaced
25855:8f877a00d685 | 25856:1a5351f6803f |
---|---|
2655 trigger_modechanged() | 2655 trigger_modechanged() |
2656 { | 2656 { |
2657 #if defined(FEAT_EVAL) || defined(PROTO) | 2657 #if defined(FEAT_EVAL) || defined(PROTO) |
2658 dict_T *v_event; | 2658 dict_T *v_event; |
2659 typval_T rettv; | 2659 typval_T rettv; |
2660 typval_T tv; | 2660 typval_T tv[2]; |
2661 char_u *pat_pre; | 2661 char_u *pat_pre; |
2662 char_u *pat; | 2662 char_u *pat; |
2663 | 2663 |
2664 if (!has_modechanged()) | 2664 if (!has_modechanged()) |
2665 return; | 2665 return; |
2666 | 2666 |
2667 v_event = get_vim_var_dict(VV_EVENT); | 2667 v_event = get_vim_var_dict(VV_EVENT); |
2668 | 2668 |
2669 tv.v_type = VAR_UNKNOWN; | 2669 tv[0].v_type = VAR_NUMBER; |
2670 f_mode(&tv, &rettv); | 2670 tv[0].vval.v_number = 1; // get full mode |
2671 tv[1].v_type = VAR_UNKNOWN; | |
2672 f_mode(tv, &rettv); | |
2671 (void)dict_add_string(v_event, "new_mode", rettv.vval.v_string); | 2673 (void)dict_add_string(v_event, "new_mode", rettv.vval.v_string); |
2672 (void)dict_add_string(v_event, "old_mode", last_mode); | 2674 (void)dict_add_string(v_event, "old_mode", last_mode); |
2673 dict_set_items_ro(v_event); | 2675 dict_set_items_ro(v_event); |
2674 | 2676 |
2675 // concatenate modes in format "old_mode:new_mode" | 2677 // concatenate modes in format "old_mode:new_mode" |