]> git.ipfire.org Git - thirdparty/gettext.git/commitdiff
New program 'recode-sr-latin'.
authorBruno Haible <bruno@clisp.org>
Wed, 29 Mar 2006 11:31:35 +0000 (11:31 +0000)
committerBruno Haible <bruno@clisp.org>
Tue, 23 Jun 2009 10:13:05 +0000 (12:13 +0200)
12 files changed:
ChangeLog
NEWS
PACKAGING
gettext-tools/doc/ChangeLog
gettext-tools/doc/msgfilter.texi
gettext-tools/src/ChangeLog
gettext-tools/src/Makefile.am
gettext-tools/src/Makefile.msvc
gettext-tools/src/Makefile.vms
gettext-tools/src/msgfilter.c
gettext-tools/tests/ChangeLog
gettext-tools/tests/Makefile.am

index 744e4cbca9bb9acf57d0b5380d1f66112f756826..5c33e8710aa452175c9b1d0bd28de6371ef7e7e7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2006-03-28  Bruno Haible  <bruno@clisp.org>
+
+       * PACKAGING: Mention bin/recode* programs.
+
 2005-12-29  Bruno Haible  <bruno@clisp.org>
 
        * build-aux/install-reloc: If hard linking is not possible, use a
diff --git a/NEWS b/NEWS
index 12f27609970155bd666cd2245a6dac0270ea5879..8b183702bd0e8e192bf212a78b4f981862f7700f 100644 (file)
--- a/NEWS
+++ b/NEWS
 
 * msgmerge is much faster now, when using a large compendium.
 
+* A new program recode-sr-latin is provided, that converts Serbian text from
+  the Cyrillic script to the Latin script.
+  The command "msgfilter recode-sr-latin" can be used to convert a Serbian
+  Cyrillic PO file (sr.po) to a Serbian Latin PO file (sr@latin.po).
+
 * Programming languages support:
 
   - C++ with Boost:
index 025f2516c2518bcd7bc0e72c5215b8d418b2dcb4..d7a0651f4703579c24ed7b0736e7653a37e26112 100644 (file)
--- a/PACKAGING
+++ b/PACKAGING
@@ -87,6 +87,7 @@ following file list.
       $prefix/bin/xgettext
       $prefix/bin/gettextize
       $prefix/bin/autopoint
+      $prefix/bin/recode*
       $prefix/share/man/man1/msg*.1
       $prefix/share/man/man1/xgettext.1
       $prefix/share/man/man1/gettextize.1
index a032aa4faa6ad6b7862c7dac3d6f8374248a1712..f816739f2ada961d82b018f9474db4d77a6010a7 100644 (file)
@@ -1,3 +1,7 @@
+2006-03-28  Bruno Haible  <bruno@clisp.org>
+
+       * msgfilter.texi: Explain built-in filters and recode-sr-latin.
+
 2006-03-26  Bruno Haible  <bruno@clisp.org>
 
        * gettext.texi (Java): Recommend a simpler idiom for Java 1.5.
index 4e978cdb5cfd1545a8750711fa5f73f76ff2f48e..bd82f015e69807856bc520cfa583846019835d20 100644 (file)
@@ -47,10 +47,12 @@ or if it is @samp{-}.
 
 The @var{filter} can be any program that reads a translation from standard
 input and writes a modified translation to standard output.  A frequently
-used filter is @samp{sed}.
+used filter is @samp{sed}.  A few particular built-in filters are also
+recognized.
 
 @cindex @code{msgfilter} filter and catalog encoding
-Note: It is your responsibility to ensure that the @var{filter} can cope
+Note: If the filter is not a built-in filter, you have to care about encodings:
+It is your responsibility to ensure that the @var{filter} can cope
 with input encoded in the translation catalog's encoding.  If the
 @var{filter} wants input in a particular encoding, you can in a first step
 convert the translation catalog to that encoding using the @samp{msgconv}
@@ -94,6 +96,21 @@ Suppress automatic printing of pattern space.
 
 @end table
 
+@subsection Built-in @var{filter}s
+
+@pindex recode-sr-latin
+@cindex @code{recode-sr-latin} program
+The filter @samp{recode-sr-latin} is recognized as a built-in filter.
+The command @samp{recode-sr-latin} converts Serbian text, written in the
+Cyrillic script, to the Latin script.
+The command @samp{msgfilter recode-sr-latin} applies this conversion to the
+translations of a PO file.  Thus, it can be used to convert an @file{sr.po}
+file to an @file{sr@@latin.po} file.
+
+The use of built-in filters is not sensitive to the current locale's encoding.
+Moreover, when used with a built-in filter, @samp{msgfilter} can automatically
+convert the message catalog to the UTF-8 encoding when needed.
+
 @subsection Input file syntax
 
 @table @samp
index e3c3ffd0612f8d2c1363cf0a35ac83ca75ce1ffa..cd03d46cda9a2a163e4c8effa5ea59d013d53d5c 100644 (file)
@@ -1,3 +1,33 @@
+2006-03-28  Bruno Haible  <bruno@clisp.org>
+
+       * filters.h: New file.
+       * filter-sr-latin.c: New file, based on code from Danilo Ĺ egan.
+       * recode-sr-latin.c: New file.
+       * msgfilter.c: Include filters.h, msgl-iconv.h, po-charset.h.
+       (filter): New variable.
+       (main): Recognize recode-sr-latin as built-in.
+       (generic_filter): New function, extracted from process_string.
+       (process_string): Call the filter.
+       * Makefile.am (bin_PROGRAMS): Add recode-sr-latin.
+       (noinst_HEADERS): Add filters.h.
+       (msgfilter_SOURCES): Add filter-sr-latin.c.
+       (recode_sr_latin_SOURCES, recode_sr_latin_LDADD,
+       recode_sr_latin_CPPFLAGS, recode_sr_latin_LDFLAGS): New variables.
+       * Makefile.msvc (PROGRAMS): Add recode-sr-latin.exe.
+       (msgfilter_OBJECTS): Add filter-sr-latin.obj.
+       (recode_sr_latin_OBJECTS): New variable.
+       (filter-sr-latin.obj, recode-sr-latin.obj): New rules.
+       (recode-sr-latin.exe): New rule.
+       (install): Also install recode-sr-latin.exe.
+       (uninstall): Also uninstall recode-sr-latin.exe.
+       * Makefile.vms (PROGRAMS): Add recode-sr-latin.exe.
+       (msgfilter_OBJECTS): Add filter-sr-latin.obj.
+       (recode_sr_latin_OBJECTS): New variable.
+       (filter-sr-latin.obj, recode-sr-latin.obj): New rules.
+       (recode-sr-latin.exe): New rule.
+       (install): Also install recode-sr-latin.exe.
+       (uninstall): Also uninstall recode-sr-latin.exe.
+
 2006-03-28  Bruno Haible  <bruno@clisp.org>
 
        * msgl-iconv.c: Include iconvstring.h. Don't include <errno.h>.
index b30d34f7bbdeed35aa6536b24084e4dff6561679..c0d5bf357a55cb7150df35e2f46ece93b6b23525 100644 (file)
@@ -26,7 +26,8 @@ RM = rm -f
 
 bin_PROGRAMS = \
 msgcmp msgfmt msgmerge msgunfmt xgettext \
-msgattrib msgcat msgcomm msgconv msgen msgexec msgfilter msggrep msginit msguniq
+msgattrib msgcat msgcomm msgconv msgen msgexec msgfilter msggrep msginit msguniq \
+recode-sr-latin
 
 noinst_PROGRAMS = hostname urlget
 
@@ -49,7 +50,7 @@ read-csharp.h write-csharp.h \
 read-resources.h write-resources.h \
 read-tcl.h write-tcl.h \
 write-qt.h \
-po-time.h plural-table.h lang-table.h format.h \
+po-time.h plural-table.h lang-table.h format.h filters.h \
 xgettext.h x-c.h x-po.h x-sh.h x-python.h x-lisp.h x-elisp.h x-librep.h \
 x-scheme.h x-smalltalk.h x-java.h x-properties.h x-csharp.h x-awk.h x-ycp.h \
 x-tcl.h x-perl.h x-php.h x-stringtable.h x-rst.h x-glade.h
@@ -191,6 +192,7 @@ msgfilter_SOURCES = msgfilter.c
 else
 msgfilter_SOURCES = ../mingw/c++msgfilter.cc
 endif
+msgfilter_SOURCES += filter-sr-latin.c
 if !MINGW
 msggrep_SOURCES = msggrep.c
 else
@@ -203,6 +205,7 @@ msguniq_SOURCES = msguniq.c
 else
 msguniq_SOURCES = ../mingw/c++msguniq.cc
 endif
+recode_sr_latin_SOURCES = recode-sr-latin.c filter-sr-latin.c
 hostname_SOURCES = hostname.c
 urlget_SOURCES = urlget.c
 
@@ -262,6 +265,7 @@ msggrep_LDADD = $(LIBGREP) libgettextsrc.la @INTL_MACOSX_LIBS@
 msginit_LDADD = ../intl/localename.@INTL_LIBTOOL_SUFFIX_PREFIX@o \
                 libgettextsrc.la @INTL_MACOSX_LIBS@
 msguniq_LDADD = libgettextsrc.la @INTL_MACOSX_LIBS@
+recode_sr_latin_LDADD = ../lib/libgettextlib.la @INTL_MACOSX_LIBS@
 
 # Specify installation directory, for --enable-relocatable.
 msgcmp_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
@@ -279,6 +283,7 @@ msgfilter_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
 msggrep_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
 msginit_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
 msguniq_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
+recode_sr_latin_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(bindir)\"
 hostname_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(pkglibdir)\"
 urlget_CPPFLAGS = $(AM_CPPFLAGS) -DINSTALLDIR=\"$(pkglibdir)\"
 if RELOCATABLE_VIA_LD
@@ -297,6 +302,7 @@ msgfilter_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
 msggrep_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
 msginit_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
 msguniq_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
+recode_sr_latin_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
 hostname_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(pkglibdir)`
 urlget_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(pkglibdir)`
 endif
index 01285c60e60a488064a2fa4429c2b5e2daa7306f..5043d2c9ab9d943f0058b94e751d95f41e9ceb98 100644 (file)
@@ -102,7 +102,8 @@ SHELL = /bin/sh
 
 PROGRAMS = \
 msgcmp.exe msgfmt.exe msgmerge.exe msgunfmt.exe xgettext.exe \
-msgattrib.exe msgcat.exe msgcomm.exe msgconv.exe msgen.exe msgexec.exe msgfilter.exe msggrep.exe msginit.exe msguniq.exe
+msgattrib.exe msgcat.exe msgcomm.exe msgconv.exe msgen.exe msgexec.exe msgfilter.exe msggrep.exe msginit.exe msguniq.exe \
+recode-sr-latin.exe
 
 OBJECTS = \
   message.obj \
@@ -162,10 +163,11 @@ msgcomm_OBJECTS = msgcomm.obj
 msgconv_OBJECTS = msgconv.obj
 msgen_OBJECTS = msgen.obj
 msgexec_OBJECTS = msgexec.obj
-msgfilter_OBJECTS = msgfilter.obj
+msgfilter_OBJECTS = msgfilter.obj filter-sr-latin.obj
 msggrep_OBJECTS = msggrep.obj
 msginit_OBJECTS = msginit.obj lang-table.obj plural-count.obj localealias.obj
 msguniq_OBJECTS = msguniq.obj
+recode_sr_latin_OBJECTS = recode-sr-latin.obj filter-sr-latin.obj
 LDADD =
 
 RESOURCES = gettextsrc.res
@@ -478,6 +480,12 @@ localealias.obj : ..\..\gettext-runtime\intl\localealias.c
 msguniq.obj : msguniq.c
        $(CC) $(INCLUDES) $(CFLAGS) -DINSTALLPREFIX=\"$(IIprefix)\" -DINSTALLDIR=\"$(IIbindir)\" -c -Tp msguniq.c
 
+filter-sr-latin.obj : filter-sr-latin.c
+       $(CC) $(INCLUDES) $(CFLAGS) -c filter-sr-latin.c
+
+recode-sr-latin.obj : recode-sr-latin.c
+       $(CC) $(INCLUDES) $(CFLAGS) -DINSTALLPREFIX=\"$(IIprefix)\" -DINSTALLDIR=\"$(IIbindir)\" -c recode-sr-latin.c
+
 msgcmp.exe : $(msgcmp_OBJECTS)
        $(CC) $(MFLAGS) $(DEBUGFLAGS) $(msgcmp_OBJECTS) gettextsrc.lib ..\lib\gettextlib.lib ..\intl\intl.lib $(libdir)\iconv.lib $(LDADD) -Femsgcmp.exe
 
@@ -523,6 +531,9 @@ msginit.exe : $(msginit_OBJECTS)
 msguniq.exe : $(msguniq_OBJECTS)
        $(CC) $(MFLAGS) $(DEBUGFLAGS) $(msguniq_OBJECTS) gettextsrc.lib ..\lib\gettextlib.lib ..\intl\intl.lib $(libdir)\iconv.lib $(LDADD) -Femsguniq.exe
 
+recode-sr-latin.exe : $(recode_sr_latin_OBJECTS)
+       $(CC) $(MFLAGS) $(DEBUGFLAGS) $(recode_sr_latin_OBJECTS) ..\lib\gettextlib.lib ..\intl\intl.lib $(libdir)\iconv.lib $(LDADD) -Ferecode-sr-latin.exe
+
 # Compilation rules for gettextpo.lib objects, with $(PICFLAGS).
 
 gettext-po.obj : gettext-po.c
@@ -567,6 +578,7 @@ install : all force
        $(INSTALL_PROGRAM) msggrep.exe $(bindir)\msggrep.exe
        $(INSTALL_PROGRAM) msginit.exe $(bindir)\msginit.exe
        $(INSTALL_PROGRAM) msguniq.exe $(bindir)\msguniq.exe
+       $(INSTALL_PROGRAM) recode-sr-latin.exe $(bindir)\recode-sr-latin.exe
        -mkdir $(datadir)
        -mkdir $(pkgdatadir)
        $(INSTALL_DATA) msgunfmt.tcl $(pkgdatadir)\msgunfmt.tcl
@@ -608,6 +620,7 @@ uninstall : force
        $(RM) $(bindir)\msggrep.exe
        $(RM) $(bindir)\msginit.exe
        $(RM) $(bindir)\msguniq.exe
+       $(RM) $(bindir)\recode-sr-latin.exe
        $(RM) $(pkgdatadir)\msgunfmt.tcl
        $(RM) $(includedir)\gettext-po.h
 !if $(DLL)
index eccfb82ab65bded8b4ec0733ce5c778545fd1420..5896a5a7dc0a4b274823983940901c52afb64753 100644 (file)
@@ -48,7 +48,7 @@ INSTALL_DATA = copy
 
 #### End of system configuration section. ####
 
-PROGRAMS = msgcmp.exe, msgfmt.exe, msgmerge.exe, msgunfmt.exe, xgettext.exe, msgattrib.exe, msgcat.exe, msgcomm.exe, msgconv.exe, msgen.exe, msgexec.exe, msgfilter.exe, msggrep.exe, msginit.exe, msguniq.exe
+PROGRAMS = msgcmp.exe, msgfmt.exe, msgmerge.exe, msgunfmt.exe, xgettext.exe, msgattrib.exe, msgcat.exe, msgcomm.exe, msgconv.exe, msgen.exe, msgexec.exe, msgfilter.exe, msggrep.exe, msginit.exe, msguniq.exe, recode-sr-latin.exe
 
 OBJECTS = \
   message.obj, \
@@ -108,10 +108,11 @@ msgcomm_OBJECTS = msgcomm.obj
 msgconv_OBJECTS = msgconv.obj
 msgen_OBJECTS = msgen.obj
 msgexec_OBJECTS = msgexec.obj
-msgfilter_OBJECTS = msgfilter.obj
+msgfilter_OBJECTS = msgfilter.obj, filter-sr-latin.obj
 msggrep_OBJECTS = msggrep.obj
 msginit_OBJECTS = msginit.obj, lang-table.obj, plural-count.obj, localealias.obj
 msguniq_OBJECTS = msguniq.obj
+recode_sr_latin_OBJECTS = recode-sr-latin.obj, filter-sr-latin.obj
 
 all : gettextsrc.olb,$(PROGRAMS),gettextpo.olb
        write sys$output "Nothing else to be done for 'all'."
@@ -408,6 +409,12 @@ localealias.obj : [-.-.gettext-runtime.intl]localealias.c
 msguniq.obj : msguniq.c
        $(CC) $(INCLUDES) $(CFLAGS) /define=($(DEFS),"INSTALLPREFIX=""$(prefix)]""","INSTALLDIR=""$(bindir)]""") msguniq.c
 
+filter-sr-latin.obj : filter-sr-latin.c
+       $(CC) $(INCLUDES) $(CFLAGS) /define=($(DEFS)) filter-sr-latin.c
+
+recode-sr-latin.obj : recode-sr-latin.c
+       $(CC) $(INCLUDES) $(CFLAGS) /define=($(DEFS),"INSTALLPREFIX=""$(prefix)]""","INSTALLDIR=""$(bindir)]""") recode-sr-latin.c
+
 libiconv.opt :
        if f$search("sys$library:libiconv.olb") .nes. "" then $(LN) [-.-.vms]with-libiconv.opt libiconv.opt
        if f$search("sys$library:libiconv.olb") .eqs. "" then $(LN) [-.-.vms]without-libiconv.opt libiconv.opt
@@ -457,6 +464,9 @@ msginit.exe : $(msginit_OBJECTS),libiconv.opt
 msguniq.exe : $(msguniq_OBJECTS),libiconv.opt
        link /executable=msguniq.exe $(msguniq_OBJECTS),gettextsrc.olb/lib,[-.lib]gettextlib.olb/lib,[-.intl]intl.olb/lib,$(LDADD)
 
+recode-sr-latin.exe : $(recode_sr_latin_OBJECTS),libiconv.opt
+       link /executable=recode-sr-latin.exe $(recode_sr_latin_OBJECTS),[-.lib]gettextlib.olb/lib,[-.intl]intl.olb/lib,$(LDADD)
+
 # Compilation rules for gettextpo.olb objects.
 
 gettext-po.obj : gettext-po.c
@@ -483,6 +493,7 @@ install : all
        $(INSTALL_PROGRAM) msggrep.exe $(bindir)]msggrep.exe
        $(INSTALL_PROGRAM) msginit.exe $(bindir)]msginit.exe
        $(INSTALL_PROGRAM) msguniq.exe $(bindir)]msguniq.exe
+       $(INSTALL_PROGRAM) recode-sr-latin.exe $(bindir)]recode-sr-latin.exe
        create /directory $(datadir)]
        create /directory $(pkgdatadir)]
        $(INSTALL_DATA) msgunfmt.tcl $(pkgdatadir)]msgunfmt.tcl
@@ -515,6 +526,7 @@ uninstall :
        $(RM) $(bindir)]msggrep.exe;
        $(RM) $(bindir)]msginit.exe;
        $(RM) $(bindir)]msguniq.exe;
+       $(RM) $(bindir)]recode-sr-latin.exe;
        $(RM) $(pkgdatadir)]msgunfmt.tcl;
        $(RM) $(includedir)]gettext-po.h
        $(RM) $(libdir)]gettextpo.olb
index 8d648a1179dabd410d0b4daee8f70fa2680d7ff8..cb9fe9b7a0c12e85d2130c92758c9e6d6adcab9d 100644 (file)
@@ -62,6 +62,9 @@
 #include "findprog.h"
 #include "pipe.h"
 #include "wait-process.h"
+#include "filters.h"
+#include "msgl-iconv.h"
+#include "po-charset.h"
 #include "gettext.h"
 
 #define _(str) gettext (str)
@@ -96,6 +99,9 @@ static const char *sub_path;
 static char **sub_argv;
 static int sub_argc;
 
+/* Filter function.  */
+static void (*filter) (const char *str, size_t len, char **resultp, size_t *lengthp);
+
 /* Long options.  */
 static const struct option long_options[] =
 {
@@ -130,6 +136,7 @@ static void usage (int status)
        __attribute__ ((noreturn))
 #endif
 ;
+static void generic_filter (const char *str, size_t len, char **resultp, size_t *lengthp);
 static msgdomain_list_ty *process_msgdomain_list (msgdomain_list_ty *mdlp);
 
 
@@ -333,16 +340,29 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
   /* Read input file.  */
   result = read_po_file (input_file);
 
-  /* Warn if the current locale is not suitable for this PO file.  */
-  compare_po_locale_charsets (result);
+  /* Recognize special programs as built-ins.  */
+  if (strcmp (sub_name, "recode-sr-latin") == 0 && sub_argc == 1)
+    {
+      filter = serbian_to_latin;
 
-  /* Attempt to locate the program.
-     This is an optimization, to avoid that spawn/exec searches the PATH
-     on every call.  */
-  sub_path = find_in_path (sub_name);
+      /* Convert the input to UTF-8 first.  */
+      result = iconv_msgdomain_list (result, po_charset_utf8, input_file);
+    }
+  else
+    {
+      filter = generic_filter;
+
+      /* Warn if the current locale is not suitable for this PO file.  */
+      compare_po_locale_charsets (result);
 
-  /* Finish argument list for the program.  */
-  sub_argv[0] = (char *) sub_path;
+      /* Attempt to locate the program.
+        This is an optimization, to avoid that spawn/exec searches the PATH
+        on every call.  */
+      sub_path = find_in_path (sub_name);
+
+      /* Finish argument list for the program.  */
+      sub_argv[0] = (char *) sub_path;
+    }
 
   /* Apply the subprogram.  */
   result = process_msgdomain_list (result);
@@ -548,12 +568,11 @@ nonintr_select (int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
 # endif
 #endif
 
-/* Process a string STR of size LEN bytes through the subprogram, then
-   remove NUL bytes.
+/* Process a string STR of size LEN bytes through the subprogram.
    Store the freshly allocated result at *RESULTP and its length at *LENGTHP.
  */
 static void
-process_string (const char *str, size_t len, char **resultp, size_t *lengthp)
+generic_filter (const char *str, size_t len, char **resultp, size_t *lengthp)
 {
 #if defined _MSC_VER || defined __MINGW32__
   /* Native Woe32 API.  */
@@ -685,6 +704,23 @@ process_string (const char *str, size_t len, char **resultp, size_t *lengthp)
     error (EXIT_FAILURE, 0, _("%s subprocess terminated with exit code %d"),
           sub_name, exitstatus);
 
+  *resultp = result;
+  *lengthp = length;
+#endif
+}
+
+
+/* Process a string STR of size LEN bytes, then remove NUL bytes.
+   Store the freshly allocated result at *RESULTP and its length at *LENGTHP.
+ */
+static void
+process_string (const char *str, size_t len, char **resultp, size_t *lengthp)
+{
+  char *result;
+  size_t length;
+
+  filter (str, len, &result, &length);
+
   /* Remove NUL bytes from result.  */
   {
     char *p = result;
@@ -706,7 +742,6 @@ process_string (const char *str, size_t len, char **resultp, size_t *lengthp)
 
   *resultp = result;
   *lengthp = length;
-#endif
 }
 
 
index 29ad8883882149d174a053d7f59e65a7114808a1..82b7d858b0e96e79c7020344371cb53ea73ea105 100644 (file)
@@ -1,3 +1,11 @@
+2006-03-28  Bruno Haible  <bruno@clisp.org>
+
+       * recode-sr-latin-1: New file.
+       * recode-sr-latin-2: New file.
+       * msgfilter-sr-latin-1: New file.
+       * Makefile.am (TESTS): Add them.
+       (TESTS_ENVIRONMENT): Also set the RECODE variable.
+
 2006-03-19  Bruno Haible  <bruno@clisp.org>
 
        * xgettext-9: New file.
index 9a187ae52d24d7af93c9b1fba38ec43e55b0cb9c..55b47a34f89d4694ca5e64836568047456b7f834 100644 (file)
@@ -38,6 +38,7 @@ TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \
        msgen-1 msgen-2 msgen-3 \
        msgexec-1 msgexec-2 msgexec-3 msgexec-4 \
        msgfilter-1 msgfilter-2 msgfilter-3 msgfilter-4 \
+       msgfilter-sr-latin-1 \
        msgfmt-1 msgfmt-2 msgfmt-3 msgfmt-4 msgfmt-5 msgfmt-6 msgfmt-7 \
        msgfmt-8 msgfmt-9 msgfmt-10 msgfmt-11 msgfmt-12 msgfmt-13 msgfmt-14 \
        msgfmt-15 \
@@ -60,6 +61,7 @@ TESTS = gettext-1 gettext-2 gettext-3 gettext-4 gettext-5 gettext-6 gettext-7 \
        msgunfmt-properties-1 \
        msgunfmt-tcl-1 \
        msguniq-1 msguniq-2 msguniq-3 msguniq-4 msguniq-5 \
+       recode-sr-latin-1 recode-sr-latin-2 \
        xgettext-1 xgettext-2 xgettext-3 xgettext-4 xgettext-5 xgettext-6 \
        xgettext-7 xgettext-8 xgettext-9 \
        xgettext-awk-1 \
@@ -150,6 +152,7 @@ TESTS_ENVIRONMENT = top_srcdir=$(top_srcdir) \
                    MSGMERGE="$(CHECKER) msgmerge" \
                    MSGUNFMT="$(CHECKER) msgunfmt" \
                    MSGUNIQ="$(CHECKER) msguniq" \
+                   RECODE="$(CHECKER) recode" \
                    OBJEXT='@OBJEXT@' EXEEXT='@EXEEXT@' \
                    LIBTOOL='@LIBTOOL@' \
                    CC='@CC@' CFLAGS='@CFLAGS@' \