diff --git a/configure b/configure
index 2004791..87f3dc3 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.in Revision: 1.359 .
+# From configure.in Revision: 1.360 .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.53 for python 2.3.
 #
@@ -825,35 +825,40 @@
 Optional Features:
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-framework=INSTALLDIR Build (MacOSX|Darwin) framework
-  --enable-shared                 disable/enable building shared python library
-  --enable-toolbox-glue            disable/enable MacOSX glue code for extensions
-  --enable-ipv6                   Enable ipv6 (with ipv4) support
-  --disable-ipv6                  Disable ipv6 support
-  --enable-unicode=ucs2,ucs4    Enable Unicode strings (default is yes)
+  --enable-framework[=INSTALLDIR]
+                          Build (MacOSX|Darwin) framework
+  --enable-shared         disable/enable building shared python library
+  --enable-toolbox-glue   disable/enable MacOSX glue code for extensions
+  --enable-ipv6           Enable ipv6 (with ipv4) support
+  --disable-ipv6          Disable ipv6 support
+  --enable-unicode[=ucs[24]]
+                          Enable Unicode strings (default is yes)
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --without-gcc                   never use gcc
-  --with-cxx=<compiler>           enable C++ support
-  --with-suffix=.exe              set executable suffix
-  --with-pydebug                  build with Py_DEBUG defined
-  --with-libs='lib1 ...'          link against additional libs
-  --with-signal-module            disable/enable signal module
-  --with-dec-threads              use DEC Alpha/OSF1 thread-safe libraries
-  --with(out)-threads=DIRECTORY disable/enable thread support
-  --with(out)-thread=DIRECTORY  deprecated; use --with(out)-threads
-  --with-pth                      use GNU pth threading libraries
-  --with(out)-universal-newlines            disable/enable foreign newlines
-  --with(out)-doc-strings         disable/enable documentation strings
-  --with(out)-pymalloc            disable/enable specialized mallocs
-  --with-wctype-functions         use wctype.h functions
-  --with-sgi-dl=DIRECTORY         IRIX 4 dynamic linking
-  --with-dl-dld=DL_DIR,DLD_DIR    GNU dynamic linking
-  --with-fpectl                   enable SIGFPE catching
-  --with-libm=STRING              math library
-  --with-libc=STRING              C library
+  --without-gcc           never use gcc
+  --with-cxx=<compiler>   enable C++ support
+  --with-suffix=.exe      set executable suffix
+  --with-pydebug          build with Py_DEBUG defined
+  --with-libs='lib1 ...'  link against additional libs
+  --with-signal-module    disable/enable signal module
+  --with-dec-threads      use DEC Alpha/OSF1 thread-safe libraries
+  --with(out)-threads[=DIRECTORY]
+                          disable/enable thread support
+  --with(out)-thread[=DIRECTORY]
+                          deprecated; use --with(out)-threads
+  --with-pth              use GNU pth threading libraries
+  --with(out)-universal-newlines
+                          disable/enable foreign newlines
+  --with(out)-doc-strings disable/enable documentation strings
+  --with(out)-pymalloc    disable/enable specialized mallocs
+  --with-wctype-functions use wctype.h functions
+  --with-sgi-dl=DIRECTORY IRIX 4 dynamic linking
+  --with-dl-dld=DL_DIR    GNU dynamic linking
+  --with-fpectl           enable SIGFPE catching
+  --with-libm=STRING      math library
+  --with-libc=STRING      C library
 
 Some influential environment variables:
   CC          C compiler command
@@ -1273,7 +1278,6 @@
 
 CONFIG_ARGS="$ac_configure_args"
 
-
 # Check whether --enable-framework or --disable-framework was given.
 if test "${enable_framework+set}" = set; then
   enableval="$enable_framework"
@@ -1313,7 +1317,8 @@
 
 
 ##AC_ARG_WITH(dyld,
-##[  --with-dyld                     Use (OpenStep|Rhapsody) dynamic linker],,)
+##            AC_HELP_STRING(--with-dyld,
+##                           Use (OpenStep|Rhapsody) dynamic linker))
 ##
 # Set name for machine-dependent library files
 
@@ -9886,7 +9891,7 @@
 echo "${ECHO_T}no" >&6
 fi;
 
-# Determine isignalmodule should be used.
+# Determine if signalmodule should be used.
 
 
 echo "$as_me:$LINENO: checking for --with-signal-module" >&5
@@ -9958,8 +9963,7 @@
 # Check whether --with-thread or --without-thread was given.
 if test "${with_thread+set}" = set; then
   withval="$with_thread"
-
-with_threads=$with_thread
+  with_threads=$with_thread
 fi;
 
 if test -z "$with_threads"
@@ -10273,10 +10277,9 @@
 # Check whether --with-pth or --without-pth was given.
 if test "${with_pth+set}" = set; then
   withval="$with_pth"
-
-    echo "$as_me:$LINENO: result: $withval" >&5
+  echo "$as_me:$LINENO: result: $withval" >&5
 echo "${ECHO_T}$withval" >&6
-    cat >>confdefs.h <<\_ACEOF
+                  cat >>confdefs.h <<\_ACEOF
 #define WITH_THREAD 1
 _ACEOF
 
@@ -10285,11 +10288,10 @@
 #define HAVE_PTH 1
 _ACEOF
 
-    LIBS="-lpth $LIBS"
-    THREADOBJ="Python/thread.o"
+                  LIBS="-lpth $LIBS"
+                  THREADOBJ="Python/thread.o"
 else
-
-    echo "$as_me:$LINENO: result: no" >&5
+  echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6
 
     # Just looking for pthread_create in libpthread is not enough:
@@ -11743,9 +11745,9 @@
 dlddir=`echo "$withval" | sed 's/.*,//'`
 if test ! -z "$dldir" -a -d "$dldir" -a ! -z "$dlddir" -a -d "$dlddir"
 then LDFLAGS="$LDFLAGS -L$dldir -L$dlddir"
-else { { echo "$as_me:$LINENO: error: proper usage is --with-dl-dld=DL_DIRECTORY" >&5
-echo "$as_me: error: proper usage is --with-dl-dld=DL_DIRECTORY" >&2;}
-   { (exit DLD_DIRECTORY); exit DLD_DIRECTORY; }; }
+else { { echo "$as_me:$LINENO: error: proper usage is --with-dl-dld=DL_DIRECTORY,DLD_DIRECTORY" >&5
+echo "$as_me: error: proper usage is --with-dl-dld=DL_DIRECTORY,DLD_DIRECTORY" >&2;}
+   { (exit 1); exit 1; }; }
 fi
 DLINCLDIR=${dldir}
 LIBS="$LIBS -ldl -ldld"
