summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-07-28 15:21:55 +0200
committerBram Moolenaar <Bram@vim.org>2019-07-28 15:21:55 +0200
commitf96ae0b5a2e9e097c38cec04ec35364565d42271 (patch)
treef04e325eccfdcefa4b90be79b1937932cff758a6
parent2a9c9f6d89f19f8fa8d926e80c7f988729f6f1bd (diff)
patch 8.1.1767: FEAT_SESSION defined separatelyv8.1.1767
Problem: FEAT_SESSION defined separately. Solution: Make FEAT_SESSION depend on FEAT_EVAL.
-rw-r--r--src/evalfunc.c6
-rw-r--r--src/ex_docmd.c4
-rw-r--r--src/feature.h4
-rw-r--r--src/gui_gtk_x11.c28
-rw-r--r--src/proto.h4
-rw-r--r--src/session.c11
-rw-r--r--src/version.c2
7 files changed, 26 insertions, 33 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 449bc67b41..3875b43da5 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -231,9 +231,7 @@ static void f_matchstr(typval_T *argvars, typval_T *rettv);
static void f_matchstrpos(typval_T *argvars, typval_T *rettv);
static void f_max(typval_T *argvars, typval_T *rettv);
static void f_min(typval_T *argvars, typval_T *rettv);
-#ifdef vim_mkdir
static void f_mkdir(typval_T *argvars, typval_T *rettv);
-#endif
static void f_mode(typval_T *argvars, typval_T *rettv);
#ifdef FEAT_MZSCHEME
static void f_mzeval(typval_T *argvars, typval_T *rettv);
@@ -694,9 +692,7 @@ static struct fst
{"matchstrpos", 2, 4, f_matchstrpos},
{"max", 1, 1, f_max},
{"min", 1, 1, f_min},
-#ifdef vim_mkdir
{"mkdir", 1, 3, f_mkdir},
-#endif
{"mode", 0, 1, f_mode},
#ifdef FEAT_MZSCHEME
{"mzeval", 1, 1, f_mzeval},
@@ -7945,7 +7941,6 @@ mkdir_recurse(char_u *dir, int prot)
return r;
}
-#ifdef vim_mkdir
/*
* "mkdir()" function
*/
@@ -7989,7 +7984,6 @@ f_mkdir(typval_T *argvars, typval_T *rettv)
}
rettv->vval.v_number = vim_mkdir_emsg(dir, prot);
}
-#endif
/*
* "mode()" function
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 601c51bbab..1ddd28ffe5 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -307,7 +307,6 @@ static void ex_tag_cmd(exarg_T *eap, char_u *name);
static char_u *arg_all(void);
#ifndef FEAT_SESSION
# define ex_loadview ex_ni
-# define ex_mkrc ex_ni
#endif
#ifndef FEAT_EVAL
# define ex_compiler ex_ni
@@ -8433,8 +8432,7 @@ close_redir(void)
#endif
}
-#if ((defined(FEAT_SESSION) || defined(FEAT_EVAL)) && defined(vim_mkdir)) \
- || defined(PROTO)
+#if (defined(FEAT_SESSION) || defined(FEAT_EVAL)) || defined(PROTO)
int
vim_mkdir_emsg(char_u *name, int prot)
{
diff --git a/src/feature.h b/src/feature.h
index 74ea8d59ca..e46947daf8 100644
--- a/src/feature.h
+++ b/src/feature.h
@@ -559,9 +559,9 @@
/*
* +mksession ":mksession" command.
- * Requires +windows and +vertsplit.
+ * fully depends on +eval
*/
-#if defined(FEAT_NORMAL)
+#if defined(FEAT_EVAL)
# define FEAT_SESSION
#endif
diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c
index 509cfc2b50..4940b87e2e 100644
--- a/src/gui_gtk_x11.c
+++ b/src/gui_gtk_x11.c
@@ -159,7 +159,11 @@ static const GtkTargetEntry dnd_targets[] =
*/
# define DEFAULT_FONT "Monospace 10"
-#if !(defined(FEAT_GUI_GNOME) && defined(FEAT_SESSION))
+#if defined(FEAT_GUI_GNOME) && defined(FEAT_SESSION)
+# define USE_GNOME_SESSION
+#endif
+
+#if !defined(FEAT_GUI_GNOME)
/*
* Atoms used to communicate save-yourself from the X11 session manager. There
* is no need to move them into the GUI struct, since they should be constant.
@@ -377,7 +381,7 @@ static int gui_argc = 0;
static char **gui_argv = NULL;
static const char *role_argument = NULL;
-#if defined(FEAT_GUI_GNOME) && defined(FEAT_SESSION)
+#if defined(USE_GNOME_SESSION)
static const char *restart_command = NULL;
static char *abs_restart_command = NULL;
#endif
@@ -404,7 +408,7 @@ gui_mch_prepare(int *argc, char **argv)
int i = 0;
int len = 0;
-#if defined(FEAT_GUI_GNOME) && defined(FEAT_SESSION)
+#if defined(USE_GNOME_SESSION)
/*
* Determine the command used to invoke Vim, to be passed as restart
* command to the session manager. If argv[0] contains any directory
@@ -580,7 +584,7 @@ gui_mch_prepare(int *argc, char **argv)
gui_mch_free_all(void)
{
vim_free(gui_argv);
-#if defined(FEAT_GUI_GNOME) && defined(FEAT_SESSION)
+#if defined(USE_GNOME_SESSION)
vim_free(abs_restart_command);
#endif
}
@@ -2274,7 +2278,7 @@ drag_data_received_cb(GtkWidget *widget,
#endif /* FEAT_DND */
-#if defined(FEAT_GUI_GNOME) && defined(FEAT_SESSION)
+#if defined(USE_GNOME_SESSION)
/*
* GnomeClient interact callback. Check for unsaved buffers that cannot
* be abandoned and pop up a dialog asking the user for confirmation if
@@ -2437,7 +2441,7 @@ setup_save_yourself(void)
}
}
-#else /* !(FEAT_GUI_GNOME && FEAT_SESSION) */
+#else // !USE_GNOME_SESSION
# ifdef USE_XSMP
/*
@@ -2571,7 +2575,7 @@ global_event_filter(GdkXEvent *xev,
return GDK_FILTER_CONTINUE;
}
-#endif /* !(FEAT_GUI_GNOME && FEAT_SESSION) */
+#endif // !USE_GNOME_SESSION
/*
@@ -2624,14 +2628,14 @@ mainwin_realize(GtkWidget *widget UNUSED, gpointer data UNUSED)
g_list_free(icons);
}
-#if !(defined(FEAT_GUI_GNOME) && defined(FEAT_SESSION))
+#if !defined(USE_GNOME_SESSION)
/* Register a handler for WM_SAVE_YOURSELF with GDK's low-level X I/F */
gdk_window_add_filter(NULL, &global_event_filter, NULL);
#endif
/* Setup to indicate to the window manager that we want to catch the
* WM_SAVE_YOURSELF event. For GNOME, this connects to the session
* manager instead. */
-#if defined(FEAT_GUI_GNOME) && defined(FEAT_SESSION)
+#if defined(USE_GNOME_SESSION)
if (using_gnome)
#endif
setup_save_yourself();
@@ -3933,7 +3937,7 @@ gui_mch_init(void)
gui.visibility = GDK_VISIBILITY_UNOBSCURED;
#endif
-#if !(defined(FEAT_GUI_GNOME) && defined(FEAT_SESSION))
+#if !defined(USE_GNOME_SESSION)
wm_protocols_atom = gdk_atom_intern("WM_PROTOCOLS", FALSE);
save_yourself_atom = gdk_atom_intern("WM_SAVE_YOURSELF", FALSE);
#endif
@@ -4039,7 +4043,7 @@ gui_mch_init(void)
return OK;
}
-#if (defined(FEAT_GUI_GNOME) && defined(FEAT_SESSION)) || defined(PROTO)
+#if defined(USE_GNOME_SESSION) || defined(PROTO)
/*
* This is called from gui_start() after a fork() has been done.
* We have to tell the session manager our new PID.
@@ -4057,7 +4061,7 @@ gui_mch_forked(void)
gnome_client_set_process_id(client, getpid());
}
}
-#endif /* FEAT_GUI_GNOME && FEAT_SESSION */
+#endif // USE_GNOME_SESSION
#if GTK_CHECK_VERSION(3,0,0)
static GdkRGBA
diff --git a/src/proto.h b/src/proto.h
index 6415112893..22570127e5 100644
--- a/src/proto.h
+++ b/src/proto.h
@@ -183,9 +183,7 @@ void qsort(void *base, size_t elm_count, size_t elm_size, int (*cmp)(const void
# endif
# include "regexp.pro"
# include "screen.pro"
-# ifdef FEAT_SESSION
-# include "session.pro"
-# endif
+# include "session.pro"
# if defined(FEAT_CRYPT) || defined(FEAT_PERSISTENT_UNDO)
# include "sha256.pro"
# endif
diff --git a/src/session.c b/src/session.c
index aa95be1ff1..473d94f883 100644
--- a/src/session.c
+++ b/src/session.c
@@ -1063,7 +1063,6 @@ write_session_file(char_u *filename)
static int mksession_nl = FALSE; // use NL only in put_eol()
#endif
-#if defined(FEAT_SESSION) || defined(PROTO)
/*
* ":mkexrc", ":mkvimrc", ":mkview" and ":mksession".
*/
@@ -1244,10 +1243,10 @@ ex_mkrc(exarg_T *eap)
if (put_line(fd, "let &so = s:so_save | let &siso = s:siso_save")
== FAIL)
failed = TRUE;
-# ifdef FEAT_SEARCH_EXTRA
+#ifdef FEAT_SEARCH_EXTRA
if (no_hlsearch && put_line(fd, "nohlsearch") == FAIL)
failed = TRUE;
-# endif
+#endif
if (put_line(fd, "doautoall SessionLoadPost") == FAIL)
failed = TRUE;
if (eap->cmdidx == CMD_mksession)
@@ -1264,7 +1263,7 @@ ex_mkrc(exarg_T *eap)
if (failed)
emsg(_(e_write));
-#if defined(FEAT_EVAL) && defined(FEAT_SESSION)
+#if defined(FEAT_SESSION)
else if (eap->cmdidx == CMD_mksession)
{
// successful session write - set this_session var
@@ -1293,9 +1292,7 @@ theend:
#endif
}
-#endif // FEAT_SESSION
-
-#if defined(FEAT_VIMINFO) || defined(FEAT_SESSION)
+#if (defined(FEAT_VIMINFO) || defined(FEAT_SESSION)) || defined(PROTO)
var_flavour_T
var_flavour(char_u *varname)
{
diff --git a/src/version.c b/src/version.c
index 4e155e9c62..496a2eea93 100644
--- a/src/version.c
+++ b/src/version.c
@@ -778,6 +778,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1767,
+/**/
1766,
/**/
1765,