diff --git a/MagickCore/effect.c b/MagickCore/effect.c
index bfbfa0c..5cd7bbd 100644
--- a/MagickCore/effect.c
+++ b/MagickCore/effect.c
@@ -128,6 +128,9 @@
     gamma,
     white_point;
 
+  ExceptionInfo
+    *exception;
+
   GeometryInfo
     geometry_info;
 
@@ -142,6 +145,7 @@
   */
   if (levels == (char *) NULL)
     return(MagickFalse);
+  exception=(&image->exception);
   flags=ParseGeometry(levels,&geometry_info);
   black_point=geometry_info.rho;
   white_point=(double) QuantumRange;
@@ -158,9 +162,9 @@
   if ((flags & SigmaValue) == 0)
     white_point=(double) QuantumRange-black_point;
   if ((flags & AspectValue ) == 0)
-    status=LevelImage(image,black_point,white_point,gamma,&image->exception);
+    status=LevelImage(image,black_point,white_point,gamma,exception);
   else
-    status=LevelizeImage(image,black_point,white_point,gamma);
+    status=LevelizeImage(image,black_point,white_point,gamma,exception);
   return(status);
 }
 
diff --git a/MagickCore/enhance.c b/MagickCore/enhance.c
index 78605e0..67242f4 100644
--- a/MagickCore/enhance.c
+++ b/MagickCore/enhance.c
@@ -387,12 +387,9 @@
           continue;
         channel=GetPixelChannelMapChannel(clut_image,(PixelChannel) i);
         traits=GetPixelChannelMapTraits(clut_image,channel);
-        if (traits == UndefinedPixelTrait)
-          continue;
-        if ((traits & UpdatePixelTrait) == 0)
-          continue;
-        q[channel]=ClampToQuantum(clut_map[ScaleQuantumToMap(q[channel])*
-          GetPixelChannels(clut_image)+channel]);
+        if ((traits & UpdatePixelTrait) != 0)
+          q[channel]=ClampToQuantum(clut_map[ScaleQuantumToMap(q[channel])*
+            GetPixelChannels(clut_image)+channel]);
       }
       q+=GetPixelChannels(image);
     }
@@ -1228,9 +1225,7 @@
           traits;
 
         traits=GetPixelChannelMapTraits(image,(PixelChannel) i);
-        if ((traits & UpdatePixelTrait) == 0)
-          continue;
-        if (black[i] != white[i])
+        if (((traits & UpdatePixelTrait) != 0) && (black[i] != white[i]))
           q[i]=ClampToQuantum(stretch_map[GetPixelChannels(image)*
             ScaleQuantumToMap(q[i])+i]);
       }
@@ -1684,11 +1679,7 @@
           traits;
 
         traits=GetPixelChannelMapTraits(image,(PixelChannel) i);
-        if (traits == UndefinedPixelTrait)
-          continue;
-        if ((traits & UpdatePixelTrait) == 0)
-          continue;
-        if (black[i] != white[i])
+        if (((traits & UpdatePixelTrait) != 0) && (black[i] != white[i]))
           q[i]=ClampToQuantum(equalize_map[GetPixelChannels(image)*
             ScaleQuantumToMap(q[i])+i]);
       }
@@ -1899,7 +1890,8 @@
 %
 %  The format of the HaldClutImage method is:
 %
-%      MagickBooleanType HaldClutImage(Image *image,Image *hald_image)
+%      MagickBooleanType HaldClutImage(Image *image,Image *hald_image,
+%        ExceptionInfo *exception)
 %
 %  A description of each parameter follows:
 %
@@ -1907,6 +1899,8 @@
 %
 %    o hald_image: the color lookup table image for replacement color values.
 %
+%    o exception: return any errors or warnings in this structure.
+%
 */
 
 static inline size_t MagickMin(const size_t x,const size_t y)
@@ -1917,7 +1911,7 @@
 }
 
 MagickExport MagickBooleanType HaldClutImage(Image *image,
-  const Image *hald_image)
+  const Image *hald_image,ExceptionInfo *exception)
 {
 #define HaldClutImageTag  "Clut/Image"
 
@@ -1936,9 +1930,6 @@
   double
     width;
 
-  ExceptionInfo
-    *exception;
-
   MagickBooleanType
     status;
 
@@ -1962,7 +1953,6 @@
     (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
   assert(hald_image != (Image *) NULL);
   assert(hald_image->signature == MagickSignature);
-  exception=(&image->exception);
   if (SetImageStorageClass(image,DirectClass,exception) == MagickFalse)
     return(MagickFalse);
   if (image->matte == MagickFalse)
@@ -1985,19 +1975,6 @@
 #endif
   for (y=0; y < (ssize_t) image->rows; y++)
   {
-    double
-      offset;
-
-    HaldInfo
-      point;
-
-    PixelInfo
-      pixel,
-      pixel1,
-      pixel2,
-      pixel3,
-      pixel4;
-
     register Quantum
       *restrict q;
 
@@ -2012,13 +1989,21 @@
         status=MagickFalse;
         continue;
       }
-    pixel=zero;
-    pixel1=zero;
-    pixel2=zero;
-    pixel3=zero;
-    pixel4=zero;
     for (x=0; x < (ssize_t) image->columns; x++)
     {
+      double
+        offset;
+
+      HaldInfo
+        point;
+
+      PixelInfo
+        pixel,
+        pixel1,
+        pixel2,
+        pixel3,
+        pixel4;
+
       point.x=QuantumScale*(level-1.0)*GetPixelRed(image,q);
       point.y=QuantumScale*(level-1.0)*GetPixelGreen(image,q);
       point.z=QuantumScale*(level-1.0)*GetPixelBlue(image,q);
@@ -2026,25 +2011,26 @@
       point.x-=floor(point.x);
       point.y-=floor(point.y);
       point.z-=floor(point.z);
-      (void) InterpolatePixelInfo(image,hald_view,
-        UndefinedInterpolatePixel,fmod(offset,width),floor(offset/width),
-        &pixel1,exception);
-      (void) InterpolatePixelInfo(image,hald_view,
-        UndefinedInterpolatePixel,fmod(offset+level,width),floor((offset+level)/
-        width),&pixel2,exception);
-      CompositePixelInfoAreaBlend(&pixel1,pixel1.alpha,&pixel2,
-        pixel2.alpha,point.y,&pixel3);
+      pixel1=zero;
+      (void) InterpolatePixelInfo(image,hald_view,image->interpolate,
+        fmod(offset,width),floor(offset/width),&pixel1,exception);
+      pixel2=zero;
+      (void) InterpolatePixelInfo(image,hald_view,image->interpolate,
+        fmod(offset+level,width),floor((offset+level)/width),&pixel2,exception);
+      pixel3=zero;
+      CompositePixelInfoAreaBlend(&pixel1,pixel1.alpha,&pixel2,pixel2.alpha,
+        point.y,&pixel3);
       offset+=cube_size;
-      (void) InterpolatePixelInfo(image,hald_view,
-        UndefinedInterpolatePixel,fmod(offset,width),floor(offset/width),
-        &pixel1,exception);
-      (void) InterpolatePixelInfo(image,hald_view,
-        UndefinedInterpolatePixel,fmod(offset+level,width),floor((offset+level)/
-        width),&pixel2,exception);
-      CompositePixelInfoAreaBlend(&pixel1,pixel1.alpha,&pixel2,
-        pixel2.alpha,point.y,&pixel4);
-      CompositePixelInfoAreaBlend(&pixel3,pixel3.alpha,&pixel4,
-        pixel4.alpha,point.z,&pixel);
+      (void) InterpolatePixelInfo(image,hald_view,image->interpolate,
+        fmod(offset,width),floor(offset/width),&pixel1,exception);
+      (void) InterpolatePixelInfo(image,hald_view,image->interpolate,
+        fmod(offset+level,width),floor((offset+level)/width),&pixel2,exception);
+      pixel4=zero;
+      CompositePixelInfoAreaBlend(&pixel1,pixel1.alpha,&pixel2,pixel2.alpha,
+        point.y,&pixel4);
+      pixel=zero;
+      CompositePixelInfoAreaBlend(&pixel3,pixel3.alpha,&pixel4,pixel4.alpha,
+        point.z,&pixel);
       if ((GetPixelRedTraits(image) & UpdatePixelTrait) != 0)
         SetPixelRed(image,ClampToQuantum(pixel.red),q);
       if ((GetPixelGreenTraits(image) & UpdatePixelTrait) != 0)
@@ -2122,9 +2108,8 @@
 %    o exception: return any errors or warnings in this structure.
 %
 */
-MagickExport MagickBooleanType LevelImage(Image *image,
-  const double black_point,const double white_point,const double gamma,
-  ExceptionInfo *exception)
+MagickExport MagickBooleanType LevelImage(Image *image,const double black_point,
+  const double white_point,const double gamma,ExceptionInfo *exception)
 {
 #define LevelImageTag  "Level/Image"
 #define LevelQuantum(x) (ClampToQuantum((MagickRealType) QuantumRange* \
@@ -2201,18 +2186,21 @@
       }
     for (x=0; x < (ssize_t) image->columns; x++)
     {
-      if ((GetPixelRedTraits(image) & UpdatePixelTrait) != 0)
-        SetPixelRed(image,LevelQuantum(GetPixelRed(image,q)),q);
-      if ((GetPixelGreenTraits(image) & UpdatePixelTrait) != 0)
-        SetPixelGreen(image,LevelQuantum(GetPixelGreen(image,q)),q);
-      if ((GetPixelBlueTraits(image) & UpdatePixelTrait) != 0)
-        SetPixelBlue(image,LevelQuantum(GetPixelBlue(image,q)),q);
-      if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) &&
-          (image->matte == MagickTrue))
-        SetPixelAlpha(image,LevelQuantum(GetPixelAlpha(image,q)),q);
-      if (((GetPixelBlackTraits(image) & UpdatePixelTrait) != 0) &&
-          (image->colorspace == CMYKColorspace))
-        SetPixelBlack(image,LevelQuantum(GetPixelBlack(image,q)),q);
+      register ssize_t
+        i;
+
+      for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
+      {
+        PixelTrait
+          traits;
+
+        traits=GetPixelChannelMapTraits(image,(PixelChannel) i);
+        if (traits == UndefinedPixelTrait)
+          continue;
+        if ((traits & UpdatePixelTrait) == 0)
+          continue;
+        q[i]=LevelQuantum(q[i]);
+      }
       q+=GetPixelChannels(image);
     }
     if (SyncCacheViewAuthenticPixels(image_view,exception) == MagickFalse)
@@ -2261,7 +2249,7 @@
 %  The format of the LevelizeImage method is:
 %
 %      MagickBooleanType LevelizeImage(Image *image,const double black_point,
-%        const double white_point,const double gamma)
+%        const double white_point,const double gamma,ExceptionInfo *exception)
 %
 %  A description of each parameter follows:
 %
@@ -2273,9 +2261,12 @@
 %
 %    o gamma: adjust gamma by this factor before mapping values.
 %
+%    o exception: return any errors or warnings in this structure.
+%
 */
 MagickExport MagickBooleanType LevelizeImage(Image *image,
-  const double black_point,const double white_point,const double gamma)
+  const double black_point,const double white_point,const double gamma,
+  ExceptionInfo *exception)
 {
 #define LevelizeImageTag  "Levelize/Image"
 #define LevelizeValue(x) (ClampToQuantum(((MagickRealType) \
@@ -2285,9 +2276,6 @@
   CacheView
     *image_view;
 
-  ExceptionInfo
-    *exception;
-
   MagickBooleanType
     status;
 
@@ -2353,18 +2341,18 @@
       }
     for (x=0; x < (ssize_t) image->columns; x++)
     {
-      if ((GetPixelRedTraits(image) & UpdatePixelTrait) != 0)
-        SetPixelRed(image,LevelizeValue(GetPixelRed(image,q)),q);
-      if ((GetPixelGreenTraits(image) & UpdatePixelTrait) != 0)
-        SetPixelGreen(image,LevelizeValue(GetPixelGreen(image,q)),q);
-      if ((GetPixelBlueTraits(image) & UpdatePixelTrait) != 0)
-        SetPixelBlue(image,LevelizeValue(GetPixelBlue(image,q)),q);
-      if (((GetPixelBlackTraits(image) & UpdatePixelTrait) != 0) &&
-          (image->colorspace == CMYKColorspace))
-        SetPixelBlack(image,LevelizeValue(GetPixelBlack(image,q)),q);
-      if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) &&
-          (image->matte == MagickTrue))
-        SetPixelAlpha(image,LevelizeValue(GetPixelAlpha(image,q)),q);
+      register ssize_t
+        i;
+
+      for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
+      {
+        PixelTrait
+          traits;
+
+        traits=GetPixelChannelMapTraits(image,(PixelChannel) i);
+        if ((traits & UpdatePixelTrait) != 0)
+          q[i]=LevelizeValue(q[i]);
+      }
       q+=GetPixelChannels(image);
     }
     if (SyncCacheViewAuthenticPixels(image_view,exception) == MagickFalse)
@@ -2412,7 +2400,7 @@
 %
 %    MagickBooleanType LevelImageColors(Image *image,
 %      const PixelInfo *black_color,const PixelInfo *white_color,
-%      const MagickBooleanType invert)
+%      const MagickBooleanType invert,ExceptionInfo *exception)
 %
 %  A description of each parameter follows:
 %
@@ -2424,10 +2412,12 @@
 %
 %    o invert: if true map the colors (levelize), rather than from (level)
 %
+%    o exception: return any errors or warnings in this structure.
+%
 */
 MagickExport MagickBooleanType LevelImageColors(Image *image,
   const PixelInfo *black_color,const PixelInfo *white_color,
-  const MagickBooleanType invert)
+  const MagickBooleanType invert,ExceptionInfo *exception)
 {
   ChannelType
     channel_mask;
@@ -2449,21 +2439,21 @@
         {
           channel_mask=SetPixelChannelMask(image,RedChannel);
           status|=LevelImage(image,black_color->red,white_color->red,1.0,
-            &image->exception);
+            exception);
           (void) SetPixelChannelMask(image,channel_mask);
         }
       if ((GetPixelGreenTraits(image) & UpdatePixelTrait) != 0)
         {
           channel_mask=SetPixelChannelMask(image,GreenChannel);
           status|=LevelImage(image,black_color->green,white_color->green,1.0,
-            &image->exception);
+            exception);
           (void) SetPixelChannelMask(image,channel_mask);
         }
       if ((GetPixelBlueTraits(image) & UpdatePixelTrait) != 0)
         {
           channel_mask=SetPixelChannelMask(image,BlueChannel);
           status|=LevelImage(image,black_color->blue,white_color->blue,1.0,
-            &image->exception);
+            exception);
           (void) SetPixelChannelMask(image,channel_mask);
         }
       if (((GetPixelBlackTraits(image) & UpdatePixelTrait) != 0) &&
@@ -2471,7 +2461,7 @@
         {
           channel_mask=SetPixelChannelMask(image,BlackChannel);
           status|=LevelImage(image,black_color->black,white_color->black,1.0,
-            &image->exception);
+            exception);
           (void) SetPixelChannelMask(image,channel_mask);
         }
       if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) &&
@@ -2479,7 +2469,7 @@
         {
           channel_mask=SetPixelChannelMask(image,AlphaChannel);
           status|=LevelImage(image,black_color->alpha,white_color->alpha,1.0,
-            &image->exception);
+            exception);
           (void) SetPixelChannelMask(image,channel_mask);
         }
     }
@@ -2488,36 +2478,38 @@
       if ((GetPixelRedTraits(image) & UpdatePixelTrait) != 0)
         {
           channel_mask=SetPixelChannelMask(image,RedChannel);
-          status|=LevelizeImage(image,black_color->red,white_color->red,1.0);
+          status|=LevelizeImage(image,black_color->red,white_color->red,1.0,
+            exception);
           (void) SetPixelChannelMask(image,channel_mask);
         }
       if ((GetPixelGreenTraits(image) & UpdatePixelTrait) != 0)
         {
           channel_mask=SetPixelChannelMask(image,GreenChannel);
-          status|=LevelizeImage(image,black_color->green,white_color->green,
-            1.0);
+          status|=LevelizeImage(image,black_color->green,white_color->green,1.0,
+            exception);
           (void) SetPixelChannelMask(image,channel_mask);
         }
       if ((GetPixelBlueTraits(image) & UpdatePixelTrait) != 0)
         {
           channel_mask=SetPixelChannelMask(image,BlueChannel);
-          status|=LevelizeImage(image,black_color->blue,white_color->blue,1.0);
+          status|=LevelizeImage(image,black_color->blue,white_color->blue,1.0,
+            exception);
           (void) SetPixelChannelMask(image,channel_mask);
         }
       if (((GetPixelBlackTraits(image) & UpdatePixelTrait) != 0) &&
           (image->colorspace == CMYKColorspace))
         {
           channel_mask=SetPixelChannelMask(image,BlackChannel);
-          status|=LevelizeImage(image,black_color->black,white_color->black,
-            1.0);
+          status|=LevelizeImage(image,black_color->black,white_color->black,1.0,
+            exception);
           (void) SetPixelChannelMask(image,channel_mask);
         }
       if (((GetPixelAlphaTraits(image) & UpdatePixelTrait) != 0) &&
           (image->matte == MagickTrue))
         {
           channel_mask=SetPixelChannelMask(image,AlphaChannel);
-          status|=LevelizeImage(image,black_color->alpha,white_color->alpha,
-            1.0);
+          status|=LevelizeImage(image,black_color->alpha,white_color->alpha,1.0,
+            exception);
           (void) SetPixelChannelMask(image,channel_mask);
         }
     }
diff --git a/MagickCore/enhance.h b/MagickCore/enhance.h
index ecb154d..06e49e7 100644
--- a/MagickCore/enhance.h
+++ b/MagickCore/enhance.h
@@ -32,11 +32,11 @@
   ContrastStretchImage(Image *,const double,const double,ExceptionInfo *),
   EqualizeImage(Image *image,ExceptionInfo *),
   GammaImage(Image *,const double,ExceptionInfo *),
-  HaldClutImage(Image *,const Image *),
+  HaldClutImage(Image *,const Image *,ExceptionInfo *),
   LevelImage(Image *,const double,const double,const double,ExceptionInfo *),
-  LevelizeImage(Image *,const double,const double,const double),
+  LevelizeImage(Image *,const double,const double,const double,ExceptionInfo *),
   LevelImageColors(Image *,const PixelInfo *,const PixelInfo *,
-    const MagickBooleanType),
+    const MagickBooleanType,ExceptionInfo *),
   LinearStretchImage(Image *,const double,const double),
   ModulateImage(Image *,const char *),
   NegateImage(Image *,const MagickBooleanType,ExceptionInfo *),
diff --git a/MagickCore/image.c b/MagickCore/image.c
index 65ecf6e..b0989f3 100644
--- a/MagickCore/image.c
+++ b/MagickCore/image.c
@@ -2628,7 +2628,8 @@
           */
           GetPixelInfo(image,&background);
           SetPixelInfoPacket(image,&(image->background_color),&background);
-          (void) LevelImageColors(image,&background,&background,MagickTrue);
+          (void) LevelImageColors(image,&background,&background,MagickTrue,
+            exception);
         }
       break;
     }
diff --git a/MagickCore/magick-config.h b/MagickCore/magick-config.h
index d0dd863..efe979e 100644
--- a/MagickCore/magick-config.h
+++ b/MagickCore/magick-config.h
@@ -12,7 +12,9 @@
 /* #undef AUTOTRACE_DELEGATE */
 
 /* Define if coders and filters are to be built as modules. */
-/* #undef BUILD_MODULES */
+#ifndef MAGICKCORE_BUILD_MODULES
+#define MAGICKCORE_BUILD_MODULES 1
+#endif
 
 /* Define if you have the bzip2 library */
 #ifndef MAGICKCORE_BZLIB_DELEGATE
@@ -78,7 +80,9 @@
 #endif
 
 /* Define if you have FFTW library */
-/* #undef FFTW_DELEGATE */
+#ifndef MAGICKCORE_FFTW_DELEGATE
+#define MAGICKCORE_FFTW_DELEGATE 1
+#endif
 
 /* Location of filter modules */
 #ifndef MAGICKCORE_FILTER_PATH
@@ -1157,9 +1161,6 @@
 /* Define if you have umem memory allocation library */
 /* #undef HasUMEM */
 
-/* Define if you have wmflite library */
-/* #undef HasWMFlite */
-
 /* ImageMagick is formally installed under prefix */
 #ifndef MAGICKCORE_INSTALLED_SUPPORT
 #define MAGICKCORE_INSTALLED_SUPPORT 1
@@ -1207,7 +1208,7 @@
 
 /* Define to the system default library search path. */
 #ifndef MAGICKCORE_LT_DLSEARCH_PATH
-#define MAGICKCORE_LT_DLSEARCH_PATH "/lib64:/usr/lib64:/lib:/usr/lib:/usr/lib64/atlas:/usr/lib/llvm:/usr/lib64/llvm:/usr/lib64/mysql:/usr/lib64/qt-3.3/lib:/usr/lib64/tcl8.5/tclx8.4:/usr/lib64/tcl8.5:/usr/lib/wine/:/usr/lib64/wine/:/usr/lib64/xulrunner-2"
+#define MAGICKCORE_LT_DLSEARCH_PATH "/lib64:/usr/lib64:/lib:/usr/lib:/usr/lib64/R/lib:/usr/lib64/alliance/lib:/usr/lib64/atlas:/opt/modules/pkg/intel/f77/10.0.025/lib:/usr/lib64/kicad:/usr/lib/llvm:/usr/lib64/llvm:/usr/local/lib:/usr/lib64/mpich2/lib/:/usr/lib64/mysql:/usr/lib64/octave/3.4.2:/usr/lib64/openmotif:/usr/lib64/qt-3.3/lib:/usr/lib64/tcl8.5/tclx8.4:/usr/lib/wine/:/usr/lib64/wine/:/usr/lib64/xulrunner-2"
 #endif
 
 /* The archive extension */
@@ -1258,7 +1259,9 @@
 /* #undef NO_MINUS_C_MINUS_O */
 
 /* Define if you have OPENEXR library */
-/* #undef OPENEXR_DELEGATE */
+#ifndef MAGICKCORE_OPENEXR_DELEGATE
+#define MAGICKCORE_OPENEXR_DELEGATE 1
+#endif
 
 /* Define to the address where bug reports for this package should be sent. */
 #ifndef MAGICKCORE_PACKAGE_BUGREPORT
@@ -1313,7 +1316,9 @@
 #endif
 
 /* Define if you have RSVG library */
-/* #undef RSVG_DELEGATE */
+#ifndef MAGICKCORE_RSVG_DELEGATE
+#define MAGICKCORE_RSVG_DELEGATE 1
+#endif
 
 /* Define to the type of arg 1 for `select'. */
 #ifndef MAGICKCORE_SELECT_TYPE_ARG1
@@ -1458,8 +1463,10 @@
 /* Define if using the dmalloc debugging malloc package */
 /* #undef WITH_DMALLOC */
 
-/* Define if you have wmf library */
-/* #undef WMF_DELEGATE */
+/* Define if you have WMF library */
+#ifndef MAGICKCORE_WMF_DELEGATE
+#define MAGICKCORE_WMF_DELEGATE 1
+#endif
 
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */
diff --git a/MagickCore/version.h b/MagickCore/version.h
index a90a00e..e893ff7 100644
--- a/MagickCore/version.h
+++ b/MagickCore/version.h
@@ -27,14 +27,14 @@
 */
 #define MagickPackageName "ImageMagick"
 #define MagickCopyright  "Copyright (C) 1999-2011 ImageMagick Studio LLC"
-#define MagickSVNRevision  "5035"
+#define MagickSVNRevision  "exported"
 #define MagickLibVersion  0x700
 #define MagickLibVersionText  "7.0.0"
 #define MagickLibVersionNumber  5,0,0
 #define MagickLibAddendum  "-0"
 #define MagickLibInterface  5
 #define MagickLibMinInterface  5
-#define MagickReleaseDate  "2011-08-22"
+#define MagickReleaseDate  "2011-08-23"
 #define MagickChangeDate   "20110801"
 #define MagickAuthoritativeURL  "http://www.imagemagick.org"
 #if defined(MAGICKCORE_OPENMP_SUPPORT)