summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--runtime/doc/eval.txt1
-rw-r--r--runtime/doc/various.txt1
-rw-r--r--src/Makefile5
-rwxr-xr-xsrc/auto/configure18
-rw-r--r--src/config.h.in3
-rw-r--r--src/configure.ac9
-rw-r--r--src/evalfunc.c3
-rw-r--r--src/feature.h8
-rw-r--r--src/main.c12
-rw-r--r--src/version.c7
10 files changed, 63 insertions, 4 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index f2abcbdc07..f754892caa 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -8820,6 +8820,7 @@ amiga Amiga version of Vim.
arabic Compiled with Arabic support |Arabic|.
arp Compiled with ARP support (Amiga).
autocmd Compiled with autocommand support. |autocommand|
+autoservername Automatically enable |clientserver|
balloon_eval Compiled with |balloon-eval| support.
balloon_multiline GUI supports multiline balloons.
beos BeOS version of Vim.
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index d994e7155a..07ec3b1941 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -309,6 +309,7 @@ g8 Print the hex values of the bytes used in the
*+ARP* Amiga only: ARP support included
B *+arabic* |Arabic| language support
N *+autocmd* |:autocmd|, automatic commands
+H *+autoservername* Automatically enable |clientserver|
m *+balloon_eval* |balloon-eval| support. Included when compiling with
supported GUI (Motif, GTK, GUI) and either
Netbeans/Sun Workshop integration or |+eval| feature.
diff --git a/src/Makefile b/src/Makefile
index 1cdacf90fb..f544528842 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -570,6 +570,9 @@ CClink = $(CC)
# This disables the dialog that asks you if you want to save files or not.
#CONF_OPT_XSMP = --disable-xsmp-interact
+# If you want to always automatically add a servername, also in the terminal.
+#CONF_OPT_AUTOSERVE = --enable-autoservername
+
# COMPILER - Name of the compiler {{{1
# The default from configure will mostly be fine, no need to change this, just
# an example. If a compiler is defined here, configure will use it rather than
@@ -1866,7 +1869,7 @@ config auto/config.mk: auto/configure config.mk.in config.h.in
CC="$(CC)" CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" \
LDFLAGS="$(LDFLAGS)" $(CONF_SHELL) srcdir="$(srcdir)" \
./configure $(CONF_OPT_GUI) $(CONF_OPT_X) $(CONF_OPT_XSMP) \
- $(CONF_OPT_DARWIN) $(CONF_OPT_FAIL) \
+ $(CONF_OPT_AUTOSERVE) $(CONF_OPT_DARWIN) $(CONF_OPT_FAIL) \
$(CONF_OPT_PERL) $(CONF_OPT_PYTHON) $(CONF_OPT_PYTHON3) \
$(CONF_OPT_TCL) $(CONF_OPT_RUBY) $(CONF_OPT_NLS) \
$(CONF_OPT_CSCOPE) $(CONF_OPT_MULTIBYTE) $(CONF_OPT_INPUT) \
diff --git a/src/auto/configure b/src/auto/configure
index 16cbcf30ae..f4cd8b492a 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -817,6 +817,7 @@ enable_workshop
enable_netbeans
enable_channel
enable_terminal
+enable_autoservername
enable_multibyte
enable_hangulinput
enable_xim
@@ -1495,6 +1496,7 @@ Optional Features:
--disable-netbeans Disable NetBeans integration support.
--disable-channel Disable process communication support.
--enable-terminal Enable terminal emulation support.
+ --enable-autoservername Automatically define servername at vim startup.
--enable-multibyte Include multibyte editing support.
--enable-hangulinput Include Hangul input support.
--enable-xim Include XIM input support.
@@ -7516,6 +7518,22 @@ if test "$enable_terminal" = "yes"; then
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-autoservername argument" >&5
+$as_echo_n "checking --enable-autoservername argument... " >&6; }
+# Check whether --enable-autoservername was given.
+if test "${enable_autoservername+set}" = set; then :
+ enableval=$enable_autoservername;
+else
+ enable_autoservername="no"
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_autoservername" >&5
+$as_echo "$enable_autoservername" >&6; }
+if test "$enable_autoservername" = "yes"; then
+ $as_echo "#define FEAT_AUTOSERVERNAME 1" >>confdefs.h
+
+fi
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-multibyte argument" >&5
$as_echo_n "checking --enable-multibyte argument... " >&6; }
# Check whether --enable-multibyte was given.
diff --git a/src/config.h.in b/src/config.h.in
index e692d40ac5..ec9fc59202 100644
--- a/src/config.h.in
+++ b/src/config.h.in
@@ -384,6 +384,9 @@
/* Define if you want to include multibyte support. */
#undef FEAT_MBYTE
+/* Define if you want to always define a server name at vim startup. */
+#undef FEAT_AUTOSERVERNAME
+
/* Define if you want to include fontset support. */
#undef FEAT_XFONTSET
diff --git a/src/configure.ac b/src/configure.ac
index e28712413c..7277f8745f 100644
--- a/src/configure.ac
+++ b/src/configure.ac
@@ -2066,6 +2066,15 @@ if test "$enable_terminal" = "yes"; then
AC_SUBST(TERM_OBJ)
fi
+AC_MSG_CHECKING(--enable-autoservername argument)
+AC_ARG_ENABLE(autoservername,
+ [ --enable-autoservername Automatically define servername at vim startup.], ,
+ [enable_autoservername="no"])
+AC_MSG_RESULT($enable_autoservername)
+if test "$enable_autoservername" = "yes"; then
+ AC_DEFINE(FEAT_AUTOSERVERNAME)
+fi
+
AC_MSG_CHECKING(--enable-multibyte argument)
AC_ARG_ENABLE(multibyte,
[ --enable-multibyte Include multibyte editing support.], ,
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 5e22fe4bc3..1991aa7c62 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -5580,6 +5580,9 @@ f_has(typval_T *argvars, typval_T *rettv)
#ifdef FEAT_AUTOCMD
"autocmd",
#endif
+#ifdef FEAT_AUTOSERVERNAME
+ "autoservername",
+#endif
#ifdef FEAT_BEVAL
"balloon_eval",
# ifndef FEAT_GUI_W32 /* other GUIs always have multiline balloons */
diff --git a/src/feature.h b/src/feature.h
index e90d7557b1..d100d6b31b 100644
--- a/src/feature.h
+++ b/src/feature.h
@@ -1168,6 +1168,14 @@
#endif
/*
+ * +autoservername Automatically generate a servername for clientserver
+ * when --servername is not passed on the command line.
+ */
+#if defined(FEAT_CLIENTSERVER) && !defined(FEAT_AUTOSERVERNAME)
+/* # define FEAT_AUTOSERVERNAME */
+#endif
+
+/*
* +termresponse send t_RV to obtain terminal response. Used for xterm
* to check if mouse dragging can be used and if term
* codes can be obtained.
diff --git a/src/main.c b/src/main.c
index 97f1b035f0..e8006c30bd 100644
--- a/src/main.c
+++ b/src/main.c
@@ -3673,12 +3673,18 @@ prepare_server(mparm_T *parmp)
/*
* Register for remote command execution with :serversend and --remote
* unless there was a -X or a --servername '' on the command line.
- * Only register nongui-vim's with an explicit --servername argument.
+ * Only register nongui-vim's with an explicit --servername argument,
+ * or when compiling with autoservername.
* When running as root --servername is also required.
*/
if (X_DISPLAY != NULL && parmp->servername != NULL && (
-# ifdef FEAT_GUI
- (gui.in_use
+# if defined(FEAT_AUTOSERVERNAME) || defined(FEAT_GUI)
+ (
+# if defined(FEAT_AUTOSERVERNAME)
+ 1
+# else
+ gui.in_use
+# endif
# ifdef UNIX
&& getuid() != ROOT_UID
# endif
diff --git a/src/version.c b/src/version.c
index 1fd6502c9e..2c190a6b3c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -83,6 +83,11 @@ static char *(features[]) =
#else
"-autocmd",
#endif
+#ifdef FEAT_AUTOSERVERNAME
+ "+autoservername",
+#else
+ "-autoservername",
+#endif
#ifdef FEAT_BEVAL
"+balloon_eval",
#else
@@ -762,6 +767,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1295,
+/**/
1294,
/**/
1293,