updated for version 7.4.538
Problem:    Tests fail with small features plus Python.
Solution:   Disallow weird combination of options.  Do not set "fdm" when
            folding is disabled.
diff --git a/src/auto/configure b/src/auto/configure
index f5195b2..ddc5c1e 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -5728,6 +5728,10 @@
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_pythoninterp" >&5
 $as_echo "$enable_pythoninterp" >&6; }
 if test "$enable_pythoninterp" = "yes" -o "$enable_pythoninterp" = "dynamic"; then
+  if test "x$features" = "xtiny" -o "x$features" = "xsmall"; then
+    as_fn_error $? "cannot use Python with tiny or small features" "$LINENO" 5
+  fi
+
     for ac_prog in python2 python
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -6044,6 +6048,10 @@
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_python3interp" >&5
 $as_echo "$enable_python3interp" >&6; }
 if test "$enable_python3interp" = "yes" -o "$enable_python3interp" = "dynamic"; then
+  if test "x$features" = "xtiny" -o "x$features" = "xsmall"; then
+    as_fn_error $? "cannot use Python with tiny or small features" "$LINENO" 5
+  fi
+
     for ac_prog in python3 python
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -6929,6 +6937,10 @@
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_rubyinterp" >&5
 $as_echo "$enable_rubyinterp" >&6; }
 if test "$enable_rubyinterp" = "yes" -o "$enable_rubyinterp" = "dynamic"; then
+  if test "x$features" = "xtiny" -o "x$features" = "xsmall"; then
+    as_fn_error $? "cannot use Ruby with tiny or small features" "$LINENO" 5
+  fi
+
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking --with-ruby-command argument" >&5
 $as_echo_n "checking --with-ruby-command argument... " >&6; }
 
diff --git a/src/configure.in b/src/configure.in
index ff1f482..033138c 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -1041,6 +1041,10 @@
 	[enable_pythoninterp="no"])
 AC_MSG_RESULT($enable_pythoninterp)
 if test "$enable_pythoninterp" = "yes" -o "$enable_pythoninterp" = "dynamic"; then
+  if test "x$features" = "xtiny" -o "x$features" = "xsmall"; then
+    AC_MSG_ERROR([cannot use Python with tiny or small features])
+  fi
+
   dnl -- find the python executable
   AC_PATH_PROGS(vi_cv_path_python, python2 python)
   if test "X$vi_cv_path_python" != "X"; then
@@ -1243,6 +1247,10 @@
 	[enable_python3interp="no"])
 AC_MSG_RESULT($enable_python3interp)
 if test "$enable_python3interp" = "yes" -o "$enable_python3interp" = "dynamic"; then
+  if test "x$features" = "xtiny" -o "x$features" = "xsmall"; then
+    AC_MSG_ERROR([cannot use Python with tiny or small features])
+  fi
+
   dnl -- find the python3 executable
   AC_PATH_PROGS(vi_cv_path_python3, python3 python)
   if test "X$vi_cv_path_python3" != "X"; then
@@ -1720,6 +1728,10 @@
 	[enable_rubyinterp="no"])
 AC_MSG_RESULT($enable_rubyinterp)
 if test "$enable_rubyinterp" = "yes" -o "$enable_rubyinterp" = "dynamic"; then
+  if test "x$features" = "xtiny" -o "x$features" = "xsmall"; then
+    AC_MSG_ERROR([cannot use Ruby with tiny or small features])
+  fi
+
   AC_MSG_CHECKING(--with-ruby-command argument)
   AC_SUBST(vi_cv_path_ruby)
   AC_ARG_WITH(ruby-command, [  --with-ruby-command=RUBY  name of the Ruby command (default: ruby)],
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index 1114f85..86dab47 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -6200,9 +6200,11 @@
 	(void)buf_init_chartab(curbuf, FALSE);
     }
 
+#ifdef FEAT_FOLDING
     /* Don't use the global foldmethod.*/
     set_string_option_direct((char_u *)"fdm", -1, (char_u *)"manual",
 						       OPT_FREE|OPT_LOCAL, 0);
+#endif
 
     curbuf->b_p_ts = 8;		/* 'tabstop' is 8 */
     curwin->w_p_list = FALSE;	/* no list mode */
diff --git a/src/feature.h b/src/feature.h
index 9171794..01f611e 100644
--- a/src/feature.h
+++ b/src/feature.h
@@ -385,13 +385,6 @@
 #endif
 
 /*
- * +python and +python3 require FEAT_EVAL.
- */
-#if !defined(FEAT_EVAL) && (defined(FEAT_PYTHON3) || defined(FEAT_PYTHON))
-# define FEAT_EVAL
-#endif
-
-/*
  * +profile		Profiling for functions and scripts.
  */
 #if defined(FEAT_HUGE) \
diff --git a/src/option.c b/src/option.c
index a97dae6..3195fa8 100644
--- a/src/option.c
+++ b/src/option.c
@@ -5575,6 +5575,7 @@
 	if (idx < 0)	/* not found (should not happen) */
 	{
 	    EMSG2(_(e_intern2), "set_string_option_direct()");
+	    EMSG2(_("For option %s"), name);
 	    return;
 	}
     }
diff --git a/src/version.c b/src/version.c
index 1f7000f..9545d00 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    538,
+/**/
     537,
 /**/
     536,