updated for version 7.0002
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index e6036ca..ad612cd 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -4573,7 +4573,7 @@
     buf_T	*buf;
 #ifdef FEAT_MULTI_LANG
     int		len;
-    char_u	*lang = NULL;
+    char_u	*lang;
 #endif
 
     if (eap != NULL)
@@ -4613,13 +4613,7 @@
 
 #ifdef FEAT_MULTI_LANG
     /* Check for a specified language */
-    len = STRLEN(arg);
-    if (len >= 3 && arg[len - 3] == '@' && ASCII_ISALPHA(arg[len - 2])
-					       && ASCII_ISALPHA(arg[len - 1]))
-    {
-	lang = arg + len - 2;
-	lang[-1] = NUL;		/* remove the '@' */
-    }
+    lang = check_help_lang(arg);
 #endif
 
     /* When no argument given go to the index. */
@@ -4748,6 +4742,28 @@
 }
 
 
+#if defined(FEAT_MULTI_LANG) || defined(PROTO)
+/*
+ * In an argument search for a language specifiers in the form "@xx".
+ * Changes the "@" to NUL if found, and returns a pointer to "xx".
+ * Returns NULL if not found.
+ */
+    char_u *
+check_help_lang(arg)
+    char_u *arg;
+{
+    int len = STRLEN(arg);
+
+    if (len >= 3 && arg[len - 3] == '@' && ASCII_ISALPHA(arg[len - 2])
+					       && ASCII_ISALPHA(arg[len - 1]))
+    {
+	arg[len - 3] = NUL;		/* remove the '@' */
+	return arg + len - 2;
+    }
+    return NULL;
+}
+#endif
+
 /*
  * Return a heuristic indicating how well the given string matches.  The
  * smaller the number, the better the match.  This is the order of priorities,
@@ -5180,7 +5196,9 @@
     garray_T	ga;
     int		i, j;
     int		len;
+#ifdef FEAT_MULTI_LANG
     char_u	lang[2];
+#endif
     char_u	ext[5];
     char_u	fname[8];
     int		filecount;