diff --git a/src/eval.c b/src/eval.c
index 8d275dc..bfb9946 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -8184,27 +8184,7 @@
     typval_T	*argvars;
     typval_T	*rettv;
 {
-    char_u	*word;
-    char_u	*kind = NULL;
-    char_u	*extra = NULL;
-    char_u	*info = NULL;
-    int		icase = FALSE;
-
-    if (argvars[0].v_type == VAR_DICT && argvars[0].vval.v_dict != NULL)
-    {
-	word = get_dict_string(argvars[0].vval.v_dict, (char_u *)"word", FALSE);
-	kind = get_dict_string(argvars[0].vval.v_dict, (char_u *)"kind", FALSE);
-	extra = get_dict_string(argvars[0].vval.v_dict,
-						     (char_u *)"menu", FALSE);
-	info = get_dict_string(argvars[0].vval.v_dict,
-						     (char_u *)"info", FALSE);
-	icase = get_dict_number(argvars[0].vval.v_dict, (char_u *)"icase");
-    }
-    else
-	word = get_tv_string_chk(&argvars[0]);
-    if (word != NULL)
-	rettv->vval.v_number = ins_compl_add(word, -1, icase,
-					       NULL, kind, extra, info, 0, 0);
+    rettv->vval.v_number = ins_compl_add_tv(&argvars[0], 0);
 }
 
 /*
diff --git a/src/proto/edit.pro b/src/proto/edit.pro
index 48c3f3f..031f695 100644
--- a/src/proto/edit.pro
+++ b/src/proto/edit.pro
@@ -8,12 +8,13 @@
 void backspace_until_column __ARGS((int col));
 int vim_is_ctrl_x_key __ARGS((int c));
 int ins_compl_add_infercase __ARGS((char_u *str, int len, int icase, char_u *fname, int dir, int flags));
-int ins_compl_add __ARGS((char_u *str, int len, int icase, char_u *fname, char_u *kind, char_u *extra, char_u *info, int cdir, int flags));
+int ins_compl_add __ARGS((char_u *str, int len, int icase, char_u *fname, char_u **cptext, int cdir, int flags));
 void set_completion __ARGS((int startcol, list_T *list));
 void ins_compl_show_pum __ARGS((void));
 char_u *find_word_start __ARGS((char_u *ptr));
 char_u *find_word_end __ARGS((char_u *ptr));
 int ins_compl_active __ARGS((void));
+int ins_compl_add_tv __ARGS((typval_T *tv, int dir));
 void ins_compl_check_keys __ARGS((int frequency));
 int get_literal __ARGS((void));
 void insertchar __ARGS((int c, int flags, int second_indent));
