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 {