patch 8.0.1490: number of spell regions is spread out through the code

Problem:    Number of spell regions is spread out through the code.
Solution:   Define MAXREGIONS.
diff --git a/src/spell.h b/src/spell.h
index 4c44b54..49ec060 100644
--- a/src/spell.h
+++ b/src/spell.h
@@ -34,6 +34,8 @@
 				   byte, thus it can't be above 255.
 				   Must be >= PFD_NOTSPECIAL. */
 
+#define MAXREGIONS 8		/* Number of regions supported. */
+
 /* Type used for indexes in the word tree need to be at least 4 bytes.  If int
  * is 8 bytes we could use something smaller, but what? */
 #if VIM_SIZEOF_INT > 3
@@ -80,7 +82,8 @@
 
     char_u	*sl_info;	/* infotext string or NULL */
 
-    char_u	sl_regions[17];	/* table with up to 8 region names plus NUL */
+    char_u	sl_regions[MAXREGIONS * 2 + 1];
+				/* table with up to 8 region names plus NUL */
 
     char_u	*sl_midword;	/* MIDWORD string or NULL */
 
diff --git a/src/spellfile.c b/src/spellfile.c
index f6d7a64..e5cc841 100644
--- a/src/spellfile.c
+++ b/src/spellfile.c
@@ -54,8 +54,8 @@
  *			    website, etc)
  *
  * sectionID == SN_REGION: <regionname> ...
- * <regionname>	 2 bytes    Up to 8 region names: ca, au, etc.  Lower case.
- *			    First <regionname> is region 1.
+ * <regionname>	 2 bytes    Up to MAXREGIONS region names: ca, au, etc.  Lower
+ *			    case.  First <regionname> is region 1.
  *
  * sectionID == SN_CHARFLAGS: <charflagslen> <charflags>
  *				<folcharslen> <folchars>
@@ -832,7 +832,7 @@
 {
     int		i;
 
-    if (len > 16)
+    if (len > MAXREGIONS * 2)
 	return SP_FORMERROR;
     for (i = 0; i < len; ++i)
 	lp->sl_regions[i] = getc(fd);			/* <regionname> */
@@ -1952,8 +1952,9 @@
     char_u	*si_info;	/* info text chars or NULL  */
     int		si_region_count; /* number of regions supported (1 when there
 				    are no regions) */
-    char_u	si_region_name[17]; /* region names; used only if
-				     * si_region_count > 1) */
+    char_u	si_region_name[MAXREGIONS * 2 + 1];
+				/* region names; used only if
+				 * si_region_count > 1) */
 
     garray_T	si_rep;		/* list of fromto_T entries from REP lines */
     garray_T	si_repsal;	/* list of fromto_T entries from REPSAL lines */
@@ -4234,7 +4235,7 @@
 		else
 		{
 		    line += 8;
-		    if (STRLEN(line) > 16)
+		    if (STRLEN(line) > MAXREGIONS * 2)
 			smsg((char_u *)_("Too many regions in %s line %d: %s"),
 						       fname, lnum, line);
 		    else
@@ -5954,7 +5955,7 @@
     char_u	*wfname;
     char_u	**innames;
     int		incount;
-    afffile_T	*(afile[8]);
+    afffile_T	*(afile[MAXREGIONS]);
     int		i;
     int		len;
     stat_T	st;
@@ -6025,8 +6026,8 @@
 	EMSG(_(e_invarg));	/* need at least output and input names */
     else if (vim_strchr(gettail(wfname), '_') != NULL)
 	EMSG(_("E751: Output file name must not have region name"));
-    else if (incount > 8)
-	EMSG(_("E754: Only up to 8 regions supported"));
+    else if (incount > MAXREGIONS)
+	EMSGN(_("E754: Only up to %ld regions supported"), MAXREGIONS);
     else
     {
 	/* Check for overwriting before doing things that may take a lot of
diff --git a/src/version.c b/src/version.c
index ccc1066..0a54751 100644
--- a/src/version.c
+++ b/src/version.c
@@ -772,6 +772,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1490,
+/**/
     1489,
 /**/
     1488,