Index: compdefs.h
--- compdefs.h.orig	2009-08-05 05:09:21 +0200
+++ compdefs.h	2010-01-11 08:16:49 +0100
@@ -4,9 +4,6 @@
 #if defined HAVE_LOCALE_H && defined HAVE_SETLOCALE && defined HAVE_WCSXFRM
 #define LOCALE_SORT_ORDER
 #endif
-#if defined HAVE_LOCALE_H && defined HAVE_SETLOCALE && defined HAVE_GETTEXT
-#define LOCALE_GETTEXT
-#endif
 
 #if defined USEUNINUMOK && defined HAVE_UNINUM_NSDEFS_H && defined HAVE_UNINUM_UNINUM_H
 #define USE_UNINUM
Index: configure
--- configure.orig	2010-01-11 01:56:47 +0100
+++ configure	2010-01-11 08:16:49 +0100
@@ -3077,7 +3077,7 @@
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
-LIBS="-ltre  $LIBS"
+LIBS="-ltre -lutf8 $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -3139,7 +3139,7 @@
 #define HAVE_LIBTRE 1
 _ACEOF
 
-  LIBS="-ltre $LIBS"
+  LIBS="-ltre -lutf8 $LIBS"
 
 else
   { { echo "$as_me:$LINENO: error: libtre not found. see http://laurikari.net/tre/" >&5
Index: conversions.c
--- conversions.c.orig	2009-08-05 05:09:21 +0200
+++ conversions.c	2010-01-11 08:16:49 +0100
@@ -22,7 +22,7 @@
 #ifdef HAVE_STDINT_H
 #include <stdint.h>
 #endif
-#include <wchar.h>
+#include "utf8/wchar.h"
 #include <stdio.h>
 #ifdef HAVE_UNINUM_UNICODE_H
 #include <uninum/unicode.h>
Index: dstr.c
--- dstr.c.orig	2009-08-05 05:09:21 +0200
+++ dstr.c	2010-01-11 08:16:49 +0100
@@ -22,7 +22,7 @@
 #ifdef HAVE_STDINT_H
 #include <stdint.h>
 #endif
-#include <wchar.h>
+#include "utf8/wchar.h"
 #ifdef HAVE_UNINUM_UNICODE_H
 #include <uninum/unicode.h>
 #else
Index: input.c
--- input.c.orig	2009-08-05 05:09:21 +0200
+++ input.c	2010-01-11 08:16:49 +0100
@@ -25,7 +25,7 @@
 #ifdef HAVE_STDINT_H
 #include <stdint.h>
 #endif
-#include <wchar.h>
+#include "utf8/wchar.h"
 #ifdef LOCALE_GETTEXT
 #include <libintl.h>
 #define _(x) gettext(x)
Index: misc.c
--- misc.c.orig	2009-08-05 05:09:21 +0200
+++ misc.c	2010-01-11 08:16:49 +0100
@@ -17,6 +17,7 @@
  */
 
 #include "config.h"
+#include "utf8/wchar.h"
 #include "compdefs.h"
 #include <stdlib.h>
 #ifdef HAVE_STDINT_H
@@ -35,7 +36,6 @@
 #define _(x) (x)
 #endif
 #include <time.h>
-#include <wchar.h>
 #include <errno.h>
 #ifndef USEUTF8PROC
 #include <unicode/umachine.h>
@@ -44,16 +44,16 @@
 #include <utf8proc.h>
 #include "unorm.h"
 #endif
-#include <tre/regex.h>
+#include "tre/regex.h"
 #include "key.h"
 #ifdef HAVE_UNINUM_UNICODE_H
-#include <uninum/nsdefs.h>
-#include <uninum/unicode.h>
+#include "uninum/nsdefs.h"
+#include "uninum/unicode.h"
 #else
 #include "unicode.h"
 #endif
 #ifdef HAVE_UNINUM_UNINUM_H
-#include <uninum/uninum.h>
+#include "uninum/uninum.h"
 #endif
 #include "dstr.h"
 #include "exitcode.h"
Index: msort.c
--- msort.c.orig	2010-01-11 01:53:32 +0100
+++ msort.c	2010-01-11 08:16:49 +0100
@@ -51,7 +51,7 @@
 /* #include <sys/file.h> */
 #include <sys/stat.h>
 #include <wctype.h>
-#include <wchar.h>
+#include "utf8/wchar.h"
 #include <time.h>
 #include <errno.h>
 #ifndef USEUTF8PROC
@@ -69,7 +69,7 @@
 #include <uninum/nsdefs.h>
 #include <uninum/uninum.h>
 #endif
-#include <tre/tre.h>
+#include "tre/tre.h"
 
 
 #ifdef HAVE_LONG_LONG
Index: sorts.c
--- sorts.c.orig	2009-08-05 05:09:21 +0200
+++ sorts.c	2010-01-11 08:16:49 +0100
@@ -25,9 +25,9 @@
 #endif
 #include <stdio.h>
 #include <string.h>
-#include <wchar.h>
+#include "utf8/wchar.h"
 #include <wctype.h>
-#include <tre/regex.h>
+#include "tre/regex.h"
 #ifdef HAVE_UNINUM_UNICODE_H
 #include <uninum/unicode.h>
 #else
Index: strs.c
--- strs.c.orig	2009-08-05 05:09:21 +0200
+++ strs.c	2010-01-11 08:16:49 +0100
@@ -25,7 +25,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <stdio.h>
-#include <wchar.h>
+#include "utf8/wchar.h"
 #ifdef HAVE_UNINUM_UNICODE_H
 #include <uninum/unicode.h>
 #else
Index: unicode.h
--- unicode.h.orig	2009-08-05 05:09:21 +0200
+++ unicode.h	2010-01-11 08:16:56 +0100
@@ -1,4 +1,4 @@
-#ifdef OLDUDEFS
+#if 1
 typedef unsigned long	UTF32;
 typedef unsigned short	UTF16;
 typedef unsigned short	UCS2;
