Mercurial > vim
comparison src/structs.h @ 22697:c996700d569f v8.2.1897
patch 8.2.1897: command modifiers are saved and set inconsistently
Commit: https://github.com/vim/vim/commit/5661ed6c833e05467cab33cb9b1c535e7e5cc570
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Oct 24 17:19:16 2020 +0200
patch 8.2.1897: command modifiers are saved and set inconsistently
Problem: Command modifiers are saved and set inconsistently.
Solution: Separate parsing and applying command modifiers. Save values in
cmdmod_T.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 24 Oct 2020 17:30:04 +0200 |
parents | dda110a14be4 |
children | e82579016863 |
comparison
equal
deleted
inserted
replaced
22696:919563736398 | 22697:c996700d569f |
---|---|
623 * This needs to be saved for recursive commands, put them in a structure for | 623 * This needs to be saved for recursive commands, put them in a structure for |
624 * easy manipulation. | 624 * easy manipulation. |
625 */ | 625 */ |
626 typedef struct | 626 typedef struct |
627 { | 627 { |
628 int cmod_flags; // CMOD_ flags, see below | |
628 int hide; // TRUE when ":hide" was used | 629 int hide; // TRUE when ":hide" was used |
629 # ifdef FEAT_BROWSE_CMD | 630 # ifdef FEAT_BROWSE_CMD |
630 int browse; // TRUE to invoke file dialog | 631 int browse; // TRUE to invoke file dialog |
631 # endif | 632 # endif |
632 int split; // flags for win_split() | 633 int split; // flags for win_split() |
638 int keepmarks; // TRUE when ":keepmarks" was used | 639 int keepmarks; // TRUE when ":keepmarks" was used |
639 int keepjumps; // TRUE when ":keepjumps" was used | 640 int keepjumps; // TRUE when ":keepjumps" was used |
640 int lockmarks; // TRUE when ":lockmarks" was used | 641 int lockmarks; // TRUE when ":lockmarks" was used |
641 int keeppatterns; // TRUE when ":keeppatterns" was used | 642 int keeppatterns; // TRUE when ":keeppatterns" was used |
642 int noswapfile; // TRUE when ":noswapfile" was used | 643 int noswapfile; // TRUE when ":noswapfile" was used |
643 char_u *save_ei; // saved value of 'eventignore' | |
644 regmatch_T filter_regmatch; // set by :filter /pat/ | 644 regmatch_T filter_regmatch; // set by :filter /pat/ |
645 int filter_force; // set for :filter! | 645 int filter_force; // set for :filter! |
646 int msg_silent; // TRUE when ":silent" was used | 646 |
647 int emsg_silent; // TRUE when ":silent!" was used | 647 int cmod_verbose; // non-zero to set 'verbose' |
648 | |
649 // values for undo_cmdmod() | |
650 char_u *cmod_save_ei; // saved value of 'eventignore' | |
651 #ifdef HAVE_SANDBOX | |
652 int cmod_did_sandbox; // set when "sandbox" was incremented | |
653 #endif | |
654 long cmod_verbose_save; // if 'verbose' was set: value of | |
655 // p_verbose plus one | |
656 int cmod_save_msg_silent; // if non-zero: saved value of | |
657 // msg_silent + 1 | |
658 int cmod_did_esilent; // incremented when emsg_silent is | |
648 } cmdmod_T; | 659 } cmdmod_T; |
660 | |
661 #define CMOD_SANDBOX 0x01 | |
662 #define CMOD_SILENT 0x02 | |
663 #define CMOD_ERRSILENT 0x04 | |
664 #define CMOD_UNSILENT 0x08 | |
665 #define CMOD_NOAUTOCMD 0x10 | |
649 | 666 |
650 #define MF_SEED_LEN 8 | 667 #define MF_SEED_LEN 8 |
651 | 668 |
652 struct memfile | 669 struct memfile |
653 { | 670 { |