]> granicus.if.org Git - vim/commitdiff
patch 8.0.1295: cannot automatically get a server name in a terminal v8.0.1295
authorBram Moolenaar <Bram@vim.org>
Sun, 12 Nov 2017 18:21:51 +0000 (19:21 +0100)
committerBram Moolenaar <Bram@vim.org>
Sun, 12 Nov 2017 18:21:51 +0000 (19:21 +0100)
Problem:    Cannot automatically get a server name in a terminal.
Solution:   Add the --enable-autoservername flag to configure. (Cimbali,
            closes #2317)

runtime/doc/eval.txt
runtime/doc/various.txt
src/Makefile
src/auto/configure
src/config.h.in
src/configure.ac
src/evalfunc.c
src/feature.h
src/main.c
src/version.c

index f2abcbdc071c3fa95850d5afdbe84f1e9102d70b..f754892caad0b4f713de967a002b2c3f16bd4a56 100644 (file)
@@ -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.
index d994e7155a0e2941d1dca371e0bd0626256ddc73..07ec3b1941f36b6645485a86be3cb73dec6c6aea 100644 (file)
@@ -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.
index 1cdacf90fbc8f41211f99414bf9205733f36e91e..f5445288421bcc5d12d2abd69076c3fcea6a369c 100644 (file)
@@ -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) \
index 16cbcf30ae9c247a8ec9cb1e6ed21d45fe9a7ccf..f4cd8b492a22d77090302e4822fdf9a12e2a2cff 100755 (executable)
@@ -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.
index e692d40ac5b9b3a0726835bf8959dd6df428ff62..ec9fc592020933f75017904f05ffebb73edbb880 100644 (file)
 /* 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
 
index e28712413c7cf70814a2740709440fe0f203e999..7277f8745f9fa3056f6ac232251d6b0b45f47cb3 100644 (file)
@@ -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.], ,
index 5e22fe4bc3245bb1083be50d5b3c028153f5d28d..1991aa7c627ac4a79c6a8c60a1bdf2add3774238 100644 (file)
@@ -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 */
index e90d7557b1a7df3f3e71c200c4b818afcf3ca15a..d100d6b31bd7cee1ad31c82ecca0a4c2e9f6fd3a 100644 (file)
 # define FEAT_CLIENTSERVER
 #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
index 97f1b035f0b77cfa11f3b7e5e9dd7f516ddfd7cb..e8006c30bd3fddc5f6b02d41929302d7f4039046 100644 (file)
@@ -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
index 1fd6502c9e7bf6a2400f5f7f7f8de4e490eebcda..2c190a6b3c23ec84e85c77bc9c94b3342e9af996 100644 (file)
@@ -83,6 +83,11 @@ static char *(features[]) =
 #else
        "-autocmd",
 #endif
+#ifdef FEAT_AUTOSERVERNAME
+       "+autoservername",
+#else
+       "-autoservername",
+#endif
 #ifdef FEAT_BEVAL
        "+balloon_eval",
 #else
@@ -761,6 +766,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1295,
 /**/
     1294,
 /**/