Addition of Flags to CommandOption parse table
which replaces the ImageListOption parse table

diff --git a/magick/option.c b/magick/option.c
index a7875c7..a847b9e 100644
--- a/magick/option.c
+++ b/magick/option.c
@@ -130,7 +130,7 @@
     { "Index", (ssize_t) IndexChannel, MagickFalse },
     { "Lightness", (ssize_t) BlueChannel, MagickFalse },
     { "Luminance", (ssize_t) BlueChannel, MagickFalse },
-    { "Luminosity", (ssize_t) BlueChannel, MagickFalse },  /* deprecated */
+    { "Luminosity", (ssize_t) BlueChannel, MagickTrue },  /* deprecated */
     { "Magenta", (ssize_t) MagentaChannel, MagickFalse },
     { "Matte", (ssize_t) OpacityChannel, MagickFalse },
     { "Opacity", (ssize_t) OpacityChannel, MagickFalse },
@@ -165,16 +165,16 @@
     { "-adaptive-threshold", 1L, MagickFalse },
     { "+affine", 0L, MagickFalse },
     { "-affine", 1L, MagickFalse },
-    { "+affinity", 0L, MagickFalse },
-    { "-affinity", 1L, MagickFalse },
+    { "+affinity", FireOption|0L, MagickFalse },
+    { "-affinity", FireOption|1L, MagickFalse },
     { "+alpha", 1L, MagickFalse },
     { "-alpha", 1L, MagickFalse },
     { "+annotate", 0L, MagickFalse },
     { "-annotate", 2L, MagickFalse },
     { "+antialias", 0L, MagickFalse },
     { "-antialias", 0L, MagickFalse },
-    { "+append", 0L, MagickFalse },
-    { "-append", 0L, MagickFalse },
+    { "+append", FireOption|0L, MagickFalse },
+    { "-append", FireOption|0L, MagickFalse },
     { "+authenticate", 0L, MagickFalse },
     { "-authenticate", 1L, MagickFalse },
     { "+auto-gamma", 0L, MagickTrue },
@@ -183,8 +183,8 @@
     { "-auto-level", 0L, MagickTrue },
     { "+auto-orient", 0L, MagickFalse },
     { "-auto-orient", 0L, MagickFalse },
-    { "+average", 0L, MagickFalse },
-    { "-average", 0L, MagickFalse },
+    { "+average", FireOption|DepreciatedOption|0L, MagickFalse },
+    { "-average", FireOption|DepreciatedOption|0L, MagickFalse },
     { "+backdrop", 0L, MagickFalse },
     { "-backdrop", 1L, MagickFalse },
     { "+background", 0L, MagickFalse },
@@ -231,10 +231,10 @@
     { "-clip-path", 1L, MagickFalse },
     { "+clone", 0L, MagickFalse },
     { "-clone", 1L, MagickFalse },
-    { "+clut", 0L, MagickFalse },
-    { "-clut", 0L, MagickFalse },
-    { "+coalesce", 0L, MagickFalse },
-    { "-coalesce", 0L, MagickFalse },
+    { "+clut", FireOption|0L, MagickFalse },
+    { "-clut", FireOption|0L, MagickFalse },
+    { "+coalesce", FireOption|0L, MagickFalse },
+    { "-coalesce", FireOption|0L, MagickFalse },
     { "+colorize", 0L, MagickFalse },
     { "-colorize", 1L, MagickFalse },
     { "+colormap", 0L, MagickFalse },
@@ -245,14 +245,14 @@
     { "-colors", 1L, MagickFalse },
     { "+colorspace", 0L, MagickFalse },
     { "-colorspace", 1L, MagickFalse },
-    { "+combine", 0L, MagickFalse },
-    { "-combine", 0L, MagickFalse },
+    { "+combine", FireOption|0L, MagickFalse },
+    { "-combine", FireOption|0L, MagickFalse },
     { "+comment", 0L, MagickFalse },
     { "-comment", 1L, MagickFalse },
     { "+compose", 0L, MagickFalse },
     { "-compose", 1L, MagickFalse },
-    { "+composite", 0L, MagickFalse },
-    { "-composite", 0L, MagickFalse },
+    { "+composite", FireOption|0L, MagickFalse },
+    { "-composite", FireOption|0L, MagickFalse },
     { "+compress", 0L, MagickFalse },
     { "-compress", 1L, MagickFalse },
     { "+concurrent", 0L, MagickTrue },
@@ -263,22 +263,22 @@
     { "-contrast-stretch", 1L, MagickFalse },
     { "+convolve", 0L, MagickFalse },
     { "-convolve", 1L, MagickFalse },
-    { "+crop", 0L, MagickFalse },
-    { "-crop", 1L, MagickFalse },
+    { "+crop", FireOption|0L, MagickFalse },
+    { "-crop", FireOption|1L, MagickFalse },
     { "+cycle", 0L, MagickFalse },
     { "-cycle", 1L, MagickFalse },
-    { "+debug", 0L, MagickFalse },
-    { "-debug", 1L, MagickFalse },
+    { "+debug", FireOption|0L, MagickFalse },
+    { "-debug", FireOption|1L, MagickFalse },
     { "+decipher", 1L, MagickFalse },
     { "-decipher", 1L, MagickFalse },
-    { "+deconstruct", 0L, MagickFalse },
-    { "-deconstruct", 0L, MagickFalse },
+    { "+deconstruct", FireOption|0L, MagickFalse },
+    { "-deconstruct", FireOption|0L, MagickFalse },
     { "+define", 1L, MagickFalse },
     { "-define", 1L, MagickFalse },
     { "+delay", 0L, MagickFalse },
     { "-delay", 1L, MagickFalse },
-    { "+delete", 0L, MagickFalse },
-    { "-delete", 1L, MagickFalse },
+    { "+delete", FireOption|0L, MagickFalse },
+    { "-delete", FireOption|1L, MagickFalse },
     { "+density", 0L, MagickFalse },
     { "-density", 1L, MagickFalse },
     { "+depth", 0L, MagickFalse },
@@ -305,8 +305,8 @@
     { "-dither", 1L, MagickFalse },
     { "+draw", 0L, MagickFalse },
     { "-draw", 1L, MagickFalse },
-    { "+duplicate", 0L, MagickFalse },
-    { "-duplicate", 1L, MagickFalse },
+    { "+duplicate", FireOption|0L, MagickFalse },
+    { "-duplicate", FireOption|1L, MagickFalse },
     { "+duration", 1L, MagickFalse },
     { "-duration", 1L, MagickFalse },
     { "+edge", 0L, MagickFalse },
@@ -325,22 +325,22 @@
     { "-equalize", 0L, MagickFalse },
     { "+evaluate", 0L, MagickFalse },
     { "-evaluate", 2L, MagickFalse },
-    { "+evaluate-sequence", 0L, MagickFalse },
-    { "-evaluate-sequence", 1L, MagickFalse },
+    { "+evaluate-sequence", FireOption|0L, MagickFalse },
+    { "-evaluate-sequence", FireOption|1L, MagickFalse },
     { "+extent", 0L, MagickFalse },
     { "-extent", 1L, MagickFalse },
     { "+extract", 0L, MagickFalse },
     { "-extract", 1L, MagickFalse },
     { "+family", 0L, MagickFalse },
     { "-family", 1L, MagickFalse },
-    { "+fft", 0L, MagickFalse },
-    { "-fft", 0L, MagickFalse },
+    { "+fft", FireOption|0L, MagickFalse },
+    { "-fft", FireOption|0L, MagickFalse },
     { "+fill", 0L, MagickFalse },
     { "-fill", 1L, MagickFalse },
     { "+filter", 0L, MagickFalse },
     { "-filter", 1L, MagickFalse },
-    { "+flatten", 0L, MagickFalse },
-    { "-flatten", 0L, MagickFalse },
+    { "+flatten", FireOption|DepreciatedOption|0L, MagickFalse },
+    { "-flatten", FireOption|DepreciatedOption|0L, MagickFalse },
     { "+flip", 0L, MagickFalse },
     { "-flip", 0L, MagickFalse },
     { "+floodfill", 0L, MagickFalse },
@@ -357,8 +357,8 @@
     { "-frame", 1L, MagickFalse },
     { "+fuzz", 0L, MagickFalse },
     { "-fuzz", 1L, MagickFalse },
-    { "+fx", 0L, MagickFalse },
-    { "-fx", 1L, MagickFalse },
+    { "+fx", FireOption|0L, MagickFalse },
+    { "-fx", FireOption|1L, MagickFalse },
     { "+gamma", 0L, MagickFalse },
     { "-gamma", 1L, MagickFalse },
     { "+gaussian", 0L, MagickFalse },
@@ -371,8 +371,8 @@
     { "-gravity", 1L, MagickFalse },
     { "+green-primary", 0L, MagickFalse },
     { "-green-primary", 1L, MagickFalse },
-    { "+hald-clut", 0L, MagickFalse },
-    { "-hald-clut", 0L, MagickFalse },
+    { "+hald-clut", FireOption|0L, MagickFalse },
+    { "-hald-clut", FireOption|0L, MagickFalse },
     { "+help", 0L, MagickFalse },
     { "-help", 0L, MagickFalse },
     { "+highlight-color", 1L, MagickFalse },
@@ -381,14 +381,16 @@
     { "-iconGeometry", 1L, MagickFalse },
     { "+iconic", 0L, MagickFalse },
     { "-iconic", 1L, MagickFalse },
-    { "+identify", 0L, MagickFalse },
-    { "-identify", 0L, MagickFalse },
+    { "+identify", FireOption|0L, MagickFalse },
+    { "-identify", FireOption|0L, MagickFalse },
+    { "+ift", FireOption|0L, MagickFalse },
+    { "-ift", FireOption|0L, MagickFalse },
     { "+immutable", 0L, MagickFalse },
     { "-immutable", 0L, MagickFalse },
     { "+implode", 0L, MagickFalse },
     { "-implode", 1L, MagickFalse },
-    { "+insert", 0L, MagickFalse },
-    { "-insert", 1L, MagickFalse },
+    { "+insert", FireOption|0L, MagickFalse },
+    { "-insert", FireOption|1L, MagickFalse },
     { "+intent", 0L, MagickFalse },
     { "-intent", 1L, MagickFalse },
     { "+interlace", 0L, MagickFalse },
@@ -403,14 +405,14 @@
     { "-label", 1L, MagickFalse },
     { "+lat", 0L, MagickFalse },
     { "-lat", 1L, MagickFalse },
-    { "+layers", 0L, MagickFalse },
-    { "-layers", 1L, MagickFalse },
+    { "+layers", FireOption|0L, MagickFalse },
+    { "-layers", FireOption|1L, MagickFalse },
     { "+level", 1L, MagickFalse },
     { "-level", 1L, MagickFalse },
     { "+level-colors", 1L, MagickFalse },
     { "-level-colors", 1L, MagickFalse },
-    { "+limit", 0L, MagickFalse },
-    { "-limit", 2L, MagickFalse },
+    { "+limit", FireOption|0L, MagickFalse },
+    { "-limit", FireOption|2L, MagickFalse },
     { "+linear-stretch", 0L, MagickFalse },
     { "-linear-stretch", 1L, MagickFalse },
     { "+linewidth", 0L, MagickFalse },
@@ -427,16 +429,16 @@
     { "-lowlight-color", 1L, MagickFalse },
     { "+magnify", 0L, MagickFalse },
     { "-magnify", 1L, MagickFalse },
-    { "+map", 0L, MagickFalse },
-    { "-map", 1L, MagickFalse },
+    { "+map", FireOption|0L, MagickFalse },
+    { "-map", FireOption|1L, MagickFalse },
     { "+mask", 0L, MagickFalse },
     { "-mask", 1L, MagickFalse },
-    { "+matte", 0L, MagickFalse },
-    { "-matte", 0L, MagickFalse },
+    { "+matte", DepreciatedOption|0L, MagickFalse },
+    { "-matte", DepreciatedOption|0L, MagickFalse },
     { "+mattecolor", 0L, MagickFalse },
     { "-mattecolor", 1L, MagickFalse },
-    { "+maximum", 0L, MagickFalse },
-    { "-maximum", 0L, MagickFalse },
+    { "+maximum", FireOption|DepreciatedOption|0L, MagickFalse },
+    { "-maximum", FireOption|DepreciatedOption|0L, MagickFalse },
     { "+median", 0L, MagickFalse },
     { "-median", 1L, MagickFalse },
     { "+metric", 0L, MagickFalse },
@@ -451,12 +453,12 @@
     { "-monitor", 0L, MagickFalse },
     { "+monochrome", 0L, MagickFalse },
     { "-monochrome", 0L, MagickFalse },
-    { "+morph", 0L, MagickFalse },
-    { "-morph", 1L, MagickFalse },
+    { "+morph", FireOption|0L, MagickFalse },
+    { "-morph", FireOption|1L, MagickFalse },
     { "+morphology", 0L, MagickFalse },
     { "-morphology", 2L, MagickFalse },
-    { "+mosaic", 0L, MagickFalse },
-    { "-mosaic", 0L, MagickFalse },
+    { "+mosaic", FireOption|DepreciatedOption|0L, MagickFalse },
+    { "-mosaic", FireOption|DepreciatedOption|0L, MagickFalse },
     { "+motion-blur", 0L, MagickFalse },
     { "-motion-blur", 1L, MagickFalse },
     { "+name", 0L, MagickFalse },
@@ -487,8 +489,8 @@
     { "-pause", 1L, MagickFalse },
     { "+passphrase", 0L, MagickFalse },
     { "-passphrase", 1L, MagickFalse },
-    { "+pen", 0L, MagickFalse },
-    { "-pen", 1L, MagickFalse },
+    { "+pen", DepreciatedOption|0L, MagickFalse },
+    { "-pen", DepreciatedOption|1L, MagickFalse },
     { "+ping", 0L, MagickFalse },
     { "-ping", 0L, MagickFalse },
     { "+pointsize", 0L, MagickFalse },
@@ -499,14 +501,16 @@
     { "-posterize", 1L, MagickFalse },
     { "+preview", 0L, MagickFalse },
     { "-preview", 1L, MagickFalse },
-    { "+process", 0L, MagickFalse },
-    { "-process", 1L, MagickFalse },
+    { "+print", FireOption|1L, MagickFalse },
+    { "-print", FireOption|1L, MagickFalse },
+    { "+process", FireOption|0L, MagickFalse },
+    { "-process", FireOption|1L, MagickFalse },
     { "+profile", 1L, MagickFalse },
     { "-profile", 1L, MagickFalse },
     { "+quality", 0L, MagickFalse },
     { "-quality", 1L, MagickFalse },
-    { "+quiet", 0L, MagickFalse },
-    { "-quiet", 0L, MagickFalse },
+    { "+quiet", FireOption|0L, MagickFalse },
+    { "-quiet", FireOption|0L, MagickFalse },
     { "+radial-blur", 0L, MagickFalse },
     { "-radial-blur", 1L, MagickFalse },
     { "+raise", 0L, MagickFalse },
@@ -561,8 +565,8 @@
     { "-seed", 1L, MagickFalse },
     { "+segment", 0L, MagickFalse },
     { "-segment", 1L, MagickFalse },
-    { "+separate", 0L, MagickFalse },
-    { "-separate", 0L, MagickFalse },
+    { "+separate", FireOption|0L, MagickFalse },
+    { "-separate", FireOption|0L, MagickFalse },
     { "+sepia-tone", 0L, MagickFalse },
     { "-sepia-tone", 1L, MagickFalse },
     { "+set", 1L, MagickFalse },
@@ -587,8 +591,8 @@
     { "-size", 1L, MagickFalse },
     { "+sketch", 0L, MagickFalse },
     { "-sketch", 1L, MagickFalse },
-    { "+smush", 1L, MagickFalse },
-    { "-smush", 1L, MagickFalse },
+    { "+smush", FireOption|1L, MagickFalse },
+    { "-smush", FireOption|1L, MagickFalse },
     { "+snaps", 0L, MagickFalse },
     { "-snaps", 1L, MagickFalse },
     { "+solarize", 0L, MagickFalse },
@@ -617,8 +621,8 @@
     { "-style", 1L, MagickFalse },
     { "+subimage-search", 0L, MagickFalse },
     { "-subimage-search", 0L, MagickFalse },
-    { "+swap", 0L, MagickFalse },
-    { "-swap", 1L, MagickFalse },
+    { "+swap", FireOption|0L, MagickFalse },
+    { "-swap", FireOption|1L, MagickFalse },
     { "+swirl", 0L, MagickFalse },
     { "-swirl", 1L, MagickFalse },
     { "+synchronize", 0L, MagickFalse },
@@ -697,8 +701,8 @@
     { "-window", 1L, MagickFalse },
     { "+window-group", 0L, MagickFalse },
     { "-window-group", 1L, MagickFalse },
-    { "+write", 1L, MagickFalse },
-    { "-write", 1L, MagickFalse },
+    { "+write", FireOption|1L, MagickFalse },
+    { "-write", FireOption|1L, MagickFalse },
     { (char *) NULL, (ssize_t) 0L, MagickFalse }
   },
   ComposeOptions[] =
@@ -1011,10 +1015,11 @@
     { "Static", (ssize_t) StaticGravity, MagickFalse },
     { (char *) NULL, UndefinedGravity, MagickFalse }
   },
+#if 0
   ImageListOptions[] =
   {
-    { "append", MagickTrue, MagickFalse },
     { "affinity", MagickTrue, MagickFalse },
+    { "append", MagickTrue, MagickFalse },
     { "average", MagickTrue, MagickFalse },
     { "clut", MagickTrue, MagickFalse },
     { "coalesce", MagickTrue, MagickFalse },
@@ -1030,8 +1035,8 @@
     { "flatten", MagickTrue, MagickFalse },
     { "fx", MagickTrue, MagickFalse },
     { "hald-clut", MagickTrue, MagickFalse },
-    { "ift", MagickTrue, MagickFalse },
     { "identify", MagickTrue, MagickFalse },
+    { "ift", MagickTrue, MagickFalse },
     { "insert", MagickTrue, MagickFalse },
     { "layers", MagickTrue, MagickFalse },
     { "limit", MagickTrue, MagickFalse },
@@ -1050,6 +1055,7 @@
     { "write", MagickTrue, MagickFalse },
     { (char *) NULL, MagickFalse, MagickFalse }
   },
+#endif
   IntentOptions[] =
   {
     { "Undefined", (ssize_t) UndefinedIntent, MagickTrue },
@@ -1194,7 +1200,7 @@
     { "Format", (ssize_t) MagickFormatOptions, MagickFalse },
     { "Function", (ssize_t) MagickFunctionOptions, MagickFalse },
     { "Gravity", (ssize_t) MagickGravityOptions, MagickFalse },
-    { "ImageList", (ssize_t) MagickImageListOptions, MagickFalse },
+/*  { "ImageList", (ssize_t) MagickImageListOptions, MagickFalse }, */
     { "Intent", (ssize_t) MagickIntentOptions, MagickFalse },
     { "Interlace", (ssize_t) MagickInterlaceOptions, MagickFalse },
     { "Interpolate", (ssize_t) MagickInterpolateOptions, MagickFalse },
@@ -1814,7 +1820,7 @@
     case MagickFilterOptions: return(FilterOptions);
     case MagickFunctionOptions: return(FunctionOptions);
     case MagickGravityOptions: return(GravityOptions);
-    case MagickImageListOptions: return(ImageListOptions);
+/*  case MagickImageListOptions: return(ImageListOptions); */
     case MagickIntentOptions: return(IntentOptions);
     case MagickInterlaceOptions: return(InterlaceOptions);
     case MagickInterpolateOptions: return(InterpolateOptions);
@@ -2170,7 +2176,8 @@
 %                                                                             %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
-%  ParseMagickOption() parses a string and returns an enumerated option type(s).
+%  ParseMagickOption() parses a string and returns an enumerated option
+%  type(s).  Return a value of -1 if no such option is found.
 %
 %  The format of the ParseMagickOption method is:
 %