diff options
-rw-r--r-- | runtime/doc/eval.txt | 1 | ||||
-rw-r--r-- | src/evalfunc.c | 4 | ||||
-rw-r--r-- | src/os_unix.c | 13 | ||||
-rw-r--r-- | src/proto/os_unix.pro | 1 | ||||
-rw-r--r-- | src/version.c | 2 |
5 files changed, 19 insertions, 2 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index c12e69e4a..bc18daaca 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -10532,6 +10532,7 @@ modify_fname Compiled with file name modifiers. |filename-modifiers| mouse Compiled with support mouse. mouse_dec Compiled with support for Dec terminal mouse. mouse_gpm Compiled with support for gpm (Linux console mouse) +mouse_gpm_enabled GPM mouse is working mouse_netterm Compiled with support for netterm mouse. mouse_pterm Compiled with support for qnx pterm mouse. mouse_sysmouse Compiled with support for sysmouse (*BSD console mouse) diff --git a/src/evalfunc.c b/src/evalfunc.c index 7b6785cfa..a2be7b903 100644 --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -6810,6 +6810,10 @@ f_has(typval_T *argvars, typval_T *rettv) else if (STRICMP(name, "netbeans_enabled") == 0) n = netbeans_active(); #endif +#ifdef FEAT_MOUSE_GPM + else if (STRICMP(name, "mouse_gpm_enabled") == 0) + n = gpm_enabled(); +#endif #if defined(FEAT_TERMINAL) && defined(MSWIN) else if (STRICMP(name, "terminal") == 0) n = terminal_enabled(); diff --git a/src/os_unix.c b/src/os_unix.c index 9f8a7b110..b5627b162 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -7022,7 +7022,7 @@ mch_rename(const char *src, const char *dest) } #endif /* !HAVE_RENAME */ -#ifdef FEAT_MOUSE_GPM +#if defined(FEAT_MOUSE_GPM) || defined(PROTO) /* * Initializes connection with gpm (if it isn't already opened) * Return 1 if succeeded (or connection already opened), 0 if failed @@ -7059,12 +7059,21 @@ gpm_open(void) } /* + * Returns TRUE if the GPM mouse is enabled. + */ + int +gpm_enabled(void) +{ + return gpm_flag && gpm_fd >= 0; +} + +/* * Closes connection to gpm */ static void gpm_close(void) { - if (gpm_flag && gpm_fd >= 0) /* if Open */ + if (gpm_enabled()) Gpm_Close(); } diff --git a/src/proto/os_unix.pro b/src/proto/os_unix.pro index 721c07daa..0117b1ea1 100644 --- a/src/proto/os_unix.pro +++ b/src/proto/os_unix.pro @@ -72,6 +72,7 @@ int mch_expand_wildcards(int num_pat, char_u **pat, int *num_file, char_u ***fil int mch_has_exp_wildcard(char_u *p); int mch_has_wildcard(char_u *p); int mch_rename(const char *src, const char *dest); +int gpm_enabled(void); int mch_libcall(char_u *libname, char_u *funcname, char_u *argstring, int argint, char_u **string_result, int *number_result); void setup_term_clip(void); void start_xterm_trace(int button); diff --git a/src/version.c b/src/version.c index 8458a8163..687767360 100644 --- a/src/version.c +++ b/src/version.c @@ -768,6 +768,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1267, +/**/ 1266, /**/ 1265, |