patch 8.2.4038: various code not used when features are disabled

Problem:    Various code not used when features are disabled.
Solution:   Add #ifdefs. (Dominique Pellé, closes #9491)
diff --git a/src/gui_xim.c b/src/gui_xim.c
index 28d354c..1dfb105 100644
--- a/src/gui_xim.c
+++ b/src/gui_xim.c
@@ -125,6 +125,7 @@
 }
 #endif
 
+#if defined(FEAT_EVAL) || defined(PROTO)
 /*
  * Mark the global 'imactivatefunc' and 'imstatusfunc' callbacks with 'copyID'
  * so that they are not garbage collected.
@@ -134,14 +135,14 @@
 {
     int abort = FALSE;
 
-#if defined(FEAT_EVAL) && \
-    (defined(FEAT_XIM) || defined(IME_WITHOUT_XIM) || defined(VIMDLL))
+# if defined(FEAT_XIM) || defined(IME_WITHOUT_XIM) || defined(VIMDLL)
     abort = set_ref_in_callback(&imaf_cb, copyID);
     abort = abort || set_ref_in_callback(&imsf_cb, copyID);
-#endif
+# endif
 
     return abort;
 }
+#endif
 
 
 #if defined(FEAT_XIM) || defined(PROTO)