# HG changeset patch # User Bram Moolenaar # Date 1553253304 -3600 # Node ID 012f03e583e22a2e5c7746bc268d41bc97bca64a # Parent 47586f21de4ddc4e6127e3559902f0686a628fa1 patch 8.1.1034: too many #ifdefs commit https://github.com/vim/vim/commit/2ace1bd652211506b60faddb8243e48400c89492 Author: Bram Moolenaar Date: Fri Mar 22 12:03:30 2019 +0100 patch 8.1.1034: too many #ifdefs Problem: Too many #ifdefs. Solution: Merge FEAT_MOUSE_SGR into FEAT_MOUSE_XTERM / FEAT_MOUSE_TTY. diff --git a/src/evalfunc.c b/src/evalfunc.c --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -6414,7 +6414,7 @@ f_has(typval_T *argvars, typval_T *rettv # ifdef FEAT_MOUSE_PTERM "mouse_pterm", # endif -# ifdef FEAT_MOUSE_SGR +# ifdef FEAT_MOUSE_XTERM "mouse_sgr", # endif # ifdef FEAT_SYSMOUSE diff --git a/src/feature.h b/src/feature.h --- a/src/feature.h +++ b/src/feature.h @@ -1026,9 +1026,6 @@ # ifdef FEAT_BIG # define FEAT_MOUSE_URXVT # endif -# ifdef FEAT_BIG -# define FEAT_MOUSE_SGR -# endif # if defined(FEAT_NORMAL) && defined(MSWIN) # define DOS_MOUSE # endif @@ -1057,11 +1054,6 @@ # define FEAT_MOUSE_XTERM #endif -/* sgr is a small variation of mouse_xterm, and shares its code */ -#if defined(FEAT_MOUSE_SGR) && !defined(FEAT_MOUSE_XTERM) -# define FEAT_MOUSE_XTERM -#endif - /* Define FEAT_MOUSE when any of the above is defined or FEAT_GUI. */ #if !defined(FEAT_MOUSE_TTY) \ && (defined(FEAT_MOUSE_XTERM) \ @@ -1072,8 +1064,7 @@ || defined(FEAT_MOUSE_JSB) \ || defined(FEAT_MOUSE_PTERM) \ || defined(FEAT_SYSMOUSE) \ - || defined(FEAT_MOUSE_URXVT) \ - || defined(FEAT_MOUSE_SGR)) + || defined(FEAT_MOUSE_URXVT)) # define FEAT_MOUSE_TTY /* include non-GUI mouse support */ #endif #if !defined(FEAT_MOUSE) && (defined(FEAT_MOUSE_TTY) || defined(FEAT_GUI)) diff --git a/src/misc2.c b/src/misc2.c --- a/src/misc2.c +++ b/src/misc2.c @@ -2453,10 +2453,8 @@ static struct key_name_entry #ifdef FEAT_MOUSE_URXVT {K_URXVT_MOUSE, (char_u *)"UrxvtMouse"}, #endif -#ifdef FEAT_MOUSE_SGR {K_SGR_MOUSE, (char_u *)"SgrMouse"}, {K_SGR_MOUSERELEASE, (char_u *)"SgrMouseRelelase"}, -#endif {K_LEFTMOUSE, (char_u *)"LeftMouse"}, {K_LEFTMOUSE_NM, (char_u *)"LeftMouseNM"}, {K_LEFTDRAG, (char_u *)"LeftDrag"}, diff --git a/src/os_unix.c b/src/os_unix.c --- a/src/os_unix.c +++ b/src/os_unix.c @@ -3596,7 +3596,6 @@ mch_setmouse(int on) } # endif -# ifdef FEAT_MOUSE_SGR if (ttym_flags == TTYM_SGR) { /* SGR mode supports columns above 223 */ @@ -3606,7 +3605,6 @@ mch_setmouse(int on) : IF_EB("\033[?1006l", ESC_STR "[?1006l"))); mouse_ison = on; } -# endif # ifdef FEAT_BEVAL_TERM if (bevalterm_ison != (p_bevalterm && on)) @@ -3864,11 +3862,10 @@ check_mouse_termcode(void) else del_mouse_termcode(KS_URXVT_MOUSE); # endif -# ifdef FEAT_MOUSE_SGR if (use_xterm_mouse() == 4 -# ifdef FEAT_GUI +# ifdef FEAT_GUI && !gui.in_use -# endif +# endif ) { set_mouse_termcode(KS_SGR_MOUSE, (char_u *)(term_is_8bit(T_NAME) @@ -3890,7 +3887,6 @@ check_mouse_termcode(void) del_mouse_termcode(KS_SGR_MOUSE); del_mouse_termcode(KS_SGR_MOUSE_RELEASE); } -# endif } #endif diff --git a/src/term.c b/src/term.c --- a/src/term.c +++ b/src/term.c @@ -2126,13 +2126,11 @@ set_mouse_termcode( has_mouse_termcode |= HMT_URXVT; else # endif -# ifdef FEAT_MOUSE_SGR if (n == KS_SGR_MOUSE) has_mouse_termcode |= HMT_SGR; else if (n == KS_SGR_MOUSE_RELEASE) has_mouse_termcode |= HMT_SGR_REL; else -# endif has_mouse_termcode |= HMT_NORMAL; # endif } @@ -2175,13 +2173,11 @@ del_mouse_termcode( has_mouse_termcode &= ~HMT_URXVT; else # endif -# ifdef FEAT_MOUSE_SGR if (n == KS_SGR_MOUSE) has_mouse_termcode &= ~HMT_SGR; else if (n == KS_SGR_MOUSE_RELEASE) has_mouse_termcode &= ~HMT_SGR_REL; else -# endif has_mouse_termcode &= ~HMT_NORMAL; # endif } @@ -4690,7 +4686,6 @@ check_termcode( if (tp[1 + (tp[0] != CSI)] == '>' && semicols == 2) { int need_flush = FALSE; -# ifdef FEAT_MOUSE_SGR int is_iterm2 = FALSE; int is_mintty = FALSE; @@ -4698,7 +4693,6 @@ check_termcode( // (77 is ASCII 'M' for mintty.) if (STRNCMP(tp + extra - 3, "77;", 3) == 0) is_mintty = TRUE; -# endif /* if xterm version >= 141 try to get termcap codes */ if (version >= 141) @@ -4718,12 +4712,10 @@ check_termcode( * 256, libvterm supports even more. */ if (mch_getenv((char_u *)"COLORS") == NULL) may_adjust_color_count(256); -# ifdef FEAT_MOUSE_SGR /* Libvterm can handle SGR mouse reporting. */ if (!option_was_set((char_u *)"ttym")) set_option_value((char_u *)"ttym", 0L, (char_u *)"sgr", 0); -# endif } if (version == 95) @@ -4734,14 +4726,11 @@ check_termcode( is_not_xterm = TRUE; is_mac_terminal = TRUE; } -# ifdef FEAT_MOUSE_SGR // iTerm2 sends 0;95;0 if (STRNCMP(tp + extra - 2, "0;95;0c", 7) == 0) is_iterm2 = TRUE; - else -# endif // old iTerm2 sends 0;95; - if (STRNCMP(tp + extra - 2, "0;95;c", 6) == 0) + else if (STRNCMP(tp + extra - 2, "0;95;c", 6) == 0) is_not_xterm = TRUE; } @@ -4749,17 +4738,14 @@ check_termcode( * by the user already. */ if (!option_was_set((char_u *)"ttym")) { -# ifdef FEAT_MOUSE_SGR /* Xterm version 277 supports SGR. Also support * Terminal.app, iTerm2 and mintty. */ if (version >= 277 || is_iterm2 || is_mac_terminal || is_mintty) set_option_value((char_u *)"ttym", 0L, (char_u *)"sgr", 0); - else -# endif /* if xterm version >= 95 use mouse dragging */ - if (version >= 95) + else if (version >= 95) set_option_value((char_u *)"ttym", 0L, (char_u *)"xterm2", 0); } @@ -5127,11 +5113,8 @@ check_termcode( # ifdef FEAT_MOUSE_URXVT || key_name[0] == KS_URXVT_MOUSE # endif -# ifdef FEAT_MOUSE_SGR || key_name[0] == KS_SGR_MOUSE - || key_name[0] == KS_SGR_MOUSE_RELEASE -# endif - ) + || key_name[0] == KS_SGR_MOUSE_RELEASE) { is_click = is_drag = FALSE; @@ -5163,7 +5146,7 @@ check_termcode( */ for (;;) { -#ifdef FEAT_GUI +# ifdef FEAT_GUI if (gui.in_use) { /* GUI uses more bits for columns > 223 */ @@ -5177,7 +5160,7 @@ check_termcode( + bytes[4] - ' ' - 1; } else -#endif +# endif { num_bytes = get_bytes_from_buf(tp + slen, bytes, 3); if (num_bytes == -1) /* not enough coordinates */ @@ -5191,21 +5174,21 @@ check_termcode( /* If the following bytes is also a mouse code and it has * the same code, dump this one and get the next. This * makes dragging a whole lot faster. */ -#ifdef FEAT_GUI +# ifdef FEAT_GUI if (gui.in_use) j = 3; else -#endif +# endif j = termcodes[idx].len; if (STRNCMP(tp, tp + slen, (size_t)j) == 0 && tp[slen + j] == mouse_code && tp[slen + j + 1] != NUL && tp[slen + j + 2] != NUL -#ifdef FEAT_GUI +# ifdef FEAT_GUI && (!gui.in_use || (tp[slen + j + 3] != NUL && tp[slen + j + 4] != NUL)) -#endif +# endif ) slen += j; else @@ -5213,7 +5196,6 @@ check_termcode( } } -# if defined(FEAT_MOUSE_URXVT) || defined(FEAT_MOUSE_SGR) if (key_name[0] == KS_URXVT_MOUSE || key_name[0] == KS_SGR_MOUSE || key_name[0] == KS_SGR_MOUSE_RELEASE) @@ -5267,17 +5249,13 @@ check_termcode( * modifier keys (alt/shift/ctrl/meta) state. */ modifiers = 0; } -# endif if (key_name[0] == (int)KS_MOUSE -#ifdef FEAT_MOUSE_URXVT +# ifdef FEAT_MOUSE_URXVT || key_name[0] == (int)KS_URXVT_MOUSE -#endif -#ifdef FEAT_MOUSE_SGR +# endif || key_name[0] == KS_SGR_MOUSE - || key_name[0] == KS_SGR_MOUSE_RELEASE -#endif - ) + || key_name[0] == KS_SGR_MOUSE_RELEASE) { # if !defined(MSWIN) /* diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -426,7 +426,7 @@ static char *(features[]) = #endif #if defined(UNIX) || defined(VMS) -# ifdef FEAT_MOUSE_SGR +# ifdef FEAT_MOUSE_XTERM "+mouse_sgr", # else "-mouse_sgr", @@ -780,6 +780,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1034, +/**/ 1033, /**/ 1032,