patch 8.2.2923: EBCDIC build is broken

Problem:    EBCDIC build is broken.
Solution:   Move sortFunctions() to evalfunc.c. (Ken Takata, closes #8306)
diff --git a/src/eval.c b/src/eval.c
index 1ee4a3d..e39c604 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -104,33 +104,6 @@
     return (n2 == 0) ? 0 : (n1 % n2);
 }
 
-#if defined(EBCDIC) || defined(PROTO)
-/*
- * Compare struct fst by function name.
- */
-    static int
-compare_func_name(const void *s1, const void *s2)
-{
-    struct fst *p1 = (struct fst *)s1;
-    struct fst *p2 = (struct fst *)s2;
-
-    return STRCMP(p1->f_name, p2->f_name);
-}
-
-/*
- * Sort the function table by function name.
- * The sorting of the table above is ASCII dependent.
- * On machines using EBCDIC we have to sort it.
- */
-    static void
-sortFunctions(void)
-{
-    int		funcCnt = (int)ARRAY_LENGTH(functions) - 1;
-
-    qsort(functions, (size_t)funcCnt, sizeof(struct fst), compare_func_name);
-}
-#endif
-
 /*
  * Initialize the global and v: variables.
  */
diff --git a/src/evalfunc.c b/src/evalfunc.c
index fcb64f6..8ea48f9 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -1855,6 +1855,33 @@
 			ret_number,	    f_xor},
 };
 
+#if defined(EBCDIC) || defined(PROTO)
+/*
+ * Compare funcentry_T by function name.
+ */
+    static int
+compare_func_name(const void *s1, const void *s2)
+{
+    funcentry_T *p1 = (funcentry_T *)s1;
+    funcentry_T *p2 = (funcentry_T *)s2;
+
+    return STRCMP(p1->f_name, p2->f_name);
+}
+
+/*
+ * Sort the function table by function name.
+ * The sorting of the table above is ASCII dependent.
+ * On machines using EBCDIC we have to sort it.
+ */
+    void
+sortFunctions(void)
+{
+    size_t	funcCnt = ARRAY_LENGTH(global_functions);
+
+    qsort(global_functions, funcCnt, sizeof(funcentry_T), compare_func_name);
+}
+#endif
+
 /*
  * Function given to ExpandGeneric() to obtain the list of internal
  * or user defined function names.
diff --git a/src/proto/evalfunc.pro b/src/proto/evalfunc.pro
index 2b19448..c1ac55f 100644
--- a/src/proto/evalfunc.pro
+++ b/src/proto/evalfunc.pro
@@ -1,4 +1,5 @@
 /* evalfunc.c */
+void sortFunctions(void);
 char_u *get_function_name(expand_T *xp, int idx);
 char_u *get_expr_name(expand_T *xp, int idx);
 int find_internal_func(char_u *name);
@@ -23,5 +24,4 @@
 float_T vim_round(float_T f);
 long do_searchpair(char_u *spat, char_u *mpat, char_u *epat, int dir, typval_T *skip, int flags, pos_T *match_pos, linenr_T lnum_stop, long time_limit);
 void f_string(typval_T *argvars, typval_T *rettv);
-void f_fullcommand(typval_T *argvars, typval_T *rettv);
 /* vim: set ft=c : */
diff --git a/src/version.c b/src/version.c
index 8127314..ee1dfa7 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2923,
+/**/
     2922,
 /**/
     2921,