updated for version 7.3.820
Problem:    Build errors and warnings when building with small features and
            Lua, Perl or Ruby.
Solution:   Add #ifdefs and UNUSED.
diff --git a/src/if_lua.c b/src/if_lua.c
index ce65fd2..1458593 100644
--- a/src/if_lua.c
+++ b/src/if_lua.c
@@ -845,8 +845,9 @@
 }
 
     static int
-luaV_dict_iter (lua_State *L)
+luaV_dict_iter (lua_State *L UNUSED)
 {
+#ifdef FEAT_EVAL
     hashitem_T *hi = (hashitem_T *) lua_touserdata(L, lua_upvalueindex(2));
     int n = lua_tointeger(L, lua_upvalueindex(3));
     dictitem_T *di;
@@ -860,6 +861,9 @@
     lua_pushinteger(L, n - 1);
     lua_replace(L, lua_upvalueindex(3));
     return 2;
+#else
+    return 0;
+#endif
 }
 
     static int
diff --git a/src/if_perl.xs b/src/if_perl.xs
index cdfac90..67ffe18 100644
--- a/src/if_perl.xs
+++ b/src/if_perl.xs
@@ -600,9 +600,9 @@
  */
     char_u *
 eval_to_string(arg, nextcmd, dolist)
-    char_u	*arg;
-    char_u	**nextcmd;
-    int		dolist;
+    char_u	*arg UNUSED;
+    char_u	**nextcmd UNUSED;
+    int		dolist UNUSED;
 {
     return NULL;
 }
diff --git a/src/if_ruby.c b/src/if_ruby.c
index 4ae2d90..ce40bbe 100644
--- a/src/if_ruby.c
+++ b/src/if_ruby.c
@@ -1210,21 +1210,21 @@
     return height;
 }
 
-static VALUE window_width(VALUE self)
+static VALUE window_width(VALUE self UNUSED)
 {
-    win_T *win = get_win(self);
-
-    return INT2NUM(win->w_width);
+    return INT2NUM(W_WIDTH(get_win(self)));
 }
 
-static VALUE window_set_width(VALUE self, VALUE width)
+static VALUE window_set_width(VALUE self UNUSED, VALUE width)
 {
+#ifdef FEAT_VERTSPLIT
     win_T *win = get_win(self);
     win_T *savewin = curwin;
 
     curwin = win;
     win_setwidth(NUM2INT(width));
     curwin = savewin;
+#endif
     return width;
 }
 
diff --git a/src/version.c b/src/version.c
index 891c5c3..5948b90 100644
--- a/src/version.c
+++ b/src/version.c
@@ -726,6 +726,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    820,
+/**/
     819,
 /**/
     818,