patch 9.1.1201: 'completefuzzycollect' does not handle dictionary correctly

Problem:  'completefuzzycollect' does not handle dictionary correctly
Solution: check for ctrl_x_mode_dictionary (glepnir)

closes: #16867

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/insexpand.c b/src/insexpand.c
index 35d20d0..49c7ee2 100644
--- a/src/insexpand.c
+++ b/src/insexpand.c
@@ -764,17 +764,14 @@
     static int
 cfc_has_mode(void)
 {
-    switch (ctrl_x_mode)
-    {
-	case CTRL_X_NORMAL:
-	    return (cfc_flags & CFC_KEYWORD) != 0;
-	case CTRL_X_FILES:
-	    return (cfc_flags & CFC_FILES) != 0;
-	case CTRL_X_WHOLE_LINE:
-	    return (cfc_flags & CFC_WHOLELINE) != 0;
-	default:
-	    return FALSE;
-    }
+    if (ctrl_x_mode_normal() || ctrl_x_mode_dictionary())
+	return (cfc_flags & CFC_KEYWORD) != 0;
+    else if (ctrl_x_mode_files())
+	return (cfc_flags & CFC_FILES) != 0;
+    else if (ctrl_x_mode_whole_line())
+	return (cfc_flags & CFC_WHOLELINE) != 0;
+    else
+	return FALSE;
 }
 
 /*
@@ -1792,7 +1789,7 @@
     int		add_r;
     char_u	*leader = NULL;
     int		leader_len = 0;
-    int		in_fuzzy_collect = cfc_has_mode() && ctrl_x_mode_normal();
+    int		in_fuzzy_collect = cfc_has_mode();
     int		score = 0;
     int		len = 0;
     char_u	*line_end = NULL;