diff --git a/src/eval.c b/src/eval.c
index bde12e5..c7aba51 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -316,6 +316,8 @@
     {VV_NAME("val",		 VAR_UNKNOWN), VV_RO},
     {VV_NAME("key",		 VAR_UNKNOWN), VV_RO},
     {VV_NAME("profiling",	 VAR_NUMBER), VV_RO},
+    {VV_NAME("fcs_reason",	 VAR_STRING), VV_RO},
+    {VV_NAME("fcs_choice",	 VAR_STRING), 0},
 };
 
 /* shorthand */
@@ -549,6 +551,7 @@
 static void f_synIDattr __ARGS((typval_T *argvars, typval_T *rettv));
 static void f_synIDtrans __ARGS((typval_T *argvars, typval_T *rettv));
 static void f_system __ARGS((typval_T *argvars, typval_T *rettv));
+static void f_taglist __ARGS((typval_T *argvars, typval_T *rettv));
 static void f_tempname __ARGS((typval_T *argvars, typval_T *rettv));
 static void f_tolower __ARGS((typval_T *argvars, typval_T *rettv));
 static void f_toupper __ARGS((typval_T *argvars, typval_T *rettv));
@@ -6196,6 +6199,7 @@
     {"synIDattr",	2, 3, f_synIDattr},
     {"synIDtrans",	1, 1, f_synIDtrans},
     {"system",		1, 2, f_system},
+    {"taglist",		1, 1, f_taglist},
     {"tempname",	0, 0, f_tempname},
     {"tolower",		1, 1, f_tolower},
     {"toupper",		1, 1, f_toupper},
@@ -13134,6 +13138,35 @@
 }
 
 /*
+ * "gettags()" function
+ */
+    static void
+f_taglist(argvars, rettv)
+    typval_T  *argvars;
+    typval_T  *rettv;
+{
+    char_u  *tag_pattern;
+    list_T  *l;
+
+    tag_pattern = get_tv_string(&argvars[0]);
+
+    rettv->vval.v_number = FALSE;
+
+    l = list_alloc();
+    if (l != NULL)
+    {
+	if (get_tags(l, tag_pattern) != FAIL)
+	{
+	    rettv->vval.v_list = l;
+	    rettv->v_type = VAR_LIST;
+	    ++l->lv_refcount;
+	}
+	else
+	    list_free(l);
+    }
+}
+
+/*
  * "tempname()" function
  */
 /*ARGSUSED*/
@@ -14010,7 +14043,7 @@
 }
 
 /*
- * Get number v: variable value;
+ * Get number v: variable value.
  */
     long
 get_vim_var_nr(idx)
@@ -14019,6 +14052,18 @@
     return vimvars[idx].vv_nr;
 }
 
+#if defined(FEAT_AUTOCMD) || defined(PROTO)
+/*
+ * Get string v: variable value.  Uses a static buffer, can only be used once.
+ */
+    char_u *
+get_vim_var_str(idx)
+    int		idx;
+{
+    return get_tv_string(&vimvars[idx].vv_tv);
+}
+#endif
+
 /*
  * Set v:count, v:count1 and v:prevcount.
  */
