summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* cldr-plurals: Fix errors from clang-analyzerDaiki Ueno2015-12-211-8/+10
| | | | | | * gettext-tools/src/cldr-plurals.c (extract_rules): Add extra null checks for NODE and BUFFER. Don't add NUL byte to the end of buffer manually.
* po: Prefer to use host tools when cross compilingDaiki Ueno2015-12-172-2/+7
| | | | | | | * gettext-runtime/po/Makefile.in.in (CROSS_COMPILING): New substitute variable. (.nop.po-update): Don't prepend ../src to $PATH when cross compiling. * gettext-runtime/po/Rules-quot (.insert-header.po-update-en): Likewise.
* its: Allow CDATA and comments in translatable nodeDaiki Ueno2015-12-171-0/+2
| | | | | * gettext-tools/src/its.c (its_rule_list_is_translatable): Don't return false on CDATA and comments.
* its: Fix typo in GSettings ruleDaiki Ueno2015-12-171-1/+1
| | | | * gettext-tools/its/gsettings.its: Fix typo in escape rule.
* gnulib-local: Fix link error due to symbol dupesDaiki Ueno2015-12-151-1/+1
| | | | * gnulib-local/lib/libxml/trionan.c (minus_zerod): Mark as static.
* gnulib-local: Pull more functions for libxmlDaiki Ueno2015-12-153-0/+10
| | | | | | | | * gettext-tools/gnulib-lib/.gitignore: Ignore files brought by gnulib-tool. * gettext-tools/gnulib-tests/.gitignore: Likewise. * gnulib-local/modules/libxml (Depends-on): Add 'pow', 'log10', and 'fabs'.
* gnulib-local: Replace libxml2 trio with GnulibDaiki Ueno2015-12-156-1225/+98
| | | | | | | | | | | * gettext-tools/gnulib-lib/.gitignore: Ignore files brought by gnulib-tool. * gettext-tools/gnulib-tests/.gitignore: Likewise. * gnulib-local/lib/libxml/triodef.h: Remove. * gnulib-local/lib/libxml/trionan.c: Replace it with Gnulib functions. * gnulib-local/lib/libxml/trionan.h: Remove. * gnulib-local/modules/libxml (Depends-on): Add 'isinf', 'isnan', and 'signbit'.
* gnulib-local: Update included libxml2 to 2.9.3Daiki Ueno2015-12-14100-12526/+42919
| | | | | | | * gnulib-local/lib/libxml/*: Update from libxml2 2.9.3. Add buf.[ch], enc.h, save.h, triodef.h, trionan.[ch]. Enable XPath and XPointer support. * gnulib-local/modules/libxml (Files): Add new files from libxml2 2.9.3.
* gettext-tools: Update POTFILES.inDaiki Ueno2015-12-101-4/+12
| | | | * gettext-tools/po/POTFILES.in: Add newly added files.
* gnulib-local: Make markup.c translator friendlyDaiki Ueno2015-12-101-39/+79
| | | | * gnulib-local/lib/markup.c: Reuse strings.
* its: Mark some attributes as escape="no"Daiki Ueno2015-12-103-0/+8
| | | | | | | | | * gettext-tools/its/glade2.its: Mark "comments" attribute as escape="no". * gettext-tools/its/gsettings.its: Mark "context" attribute as escape="no". * gettext-tools/its/gtkbuilder.its: Mark "comments" attribute as escape="no".
* xgettext: Respect ITS escape rule for attributesDaiki Ueno2015-12-102-1/+25
| | | | | | * gettext-tools/src/its.c (its_rule_list_extract_text): Check for "escape" value for an attribute node. * gettext-tools/tests/xgettext-its-1: Add tests for gt:escapeRule.
* intl: Fix name resolution failures on kLIBCKO Myung-Hun2015-12-102-1/+4
| | | | | | | | | | | kLIBC already has _nl_default_dirname and _nl_msg_cat_cntr in its own gettext implmenetation. * gettext-runtime/intl/dcigettext.c: Do not declare _nl_default_dirname on kLIBC. * gettext-runtime/intl/gettextP.h: Define _nl_msg_cat_cntr to libintl_nl_msg_cat_cntr on kLIBC. Copyright-paperwork-exempt: yes
* build: Do not include os2compat.[ch]KO Myung-Hun2015-12-103-3/+3
| | | | | | | | | | | kLIBC does not need os2compat.[ch] * gettext-runtime/configure.ac (AH_BOTTOM): Do not include intl/os2compat.h on kLIBC. * gettext-runtime/intl/osdep.c: Do not include os2compat.c on kLIBC. * gettext-tools/configure.ac (AH_BOTTOM): Do not include intl/os2compat.h on kLIBC. Copyright-paperwork-exempt: yes
* test-lock: Do not include sched.h on kLIBCKO Myung-Hun2015-12-101-1/+5
| | | | | | | * gettext-runtime/tests/test-lock.c: Do not include sched.h on kLIBC, since kLIBC does not have sched.h. Copyright-paperwork-exempt: yes
* kde: Fix KUIT error handling when libxml2 is usedDaiki Ueno2015-12-101-0/+3
| | | | | * gettext-tools/src/format-kde-kuit.c (format_parse): Return NULL if xmlReadMemory returns NULL.
* xgettext: Add --its option for ease of testingDaiki Ueno2015-12-102-0/+29
| | | | | | | * gettext-tools/doc/xgettext.texi (Output details): Mention --its option. * gettext-tools/src/xgettext.c (long_options): Add --its option. (main): Handle --its option. Suggested by Sébastien Wilmet.
* xgettext: Improve error reporting when ITS is usedDaiki Ueno2015-12-101-2/+5
| | | | | * gettext-tools/src/xgettext.c (main): Print error when an ITS file is designated through a locating rule, but the file does not exist.
* build: Update DEPENDENCIESDaiki Ueno2015-12-101-16/+8
| | | | * DEPENDENCIES: Remove duplicate entry for libxml2.
* build: Remove expat dependencyDaiki Ueno2015-12-0915-586/+1899
| | | | | | | | | | | | | | | | | | | | | | | | | * DEPENDENCIES: Suggest libxml2 instead of expat. * gnulib-local/lib/markup.c: New file. * gnulib-local/lib/markup.h: New file. * gnulib-local/modules/markup: New file. * autogen.sh (GNULIB_MODULES_LIBGETTEXTPO): Add markup module. * gettext-tools/configure.ac: Remove checks for expat. * gettext-tools/gnulib-lib/.gitignore: Ignore modules pulled by gnulib-tool due to the markup module usage. * gettext-tools/gnulib-tests/.gitignore: Likewise. * gettext-tools/libgettextpo/.gitignore: Likewise. * gettext-tools/libgettextpo/Makefile.am (libgettextpo_la_AUXSOURCES): Remove ../src/libexpat-compat.c. (libgettextpo_la_LDFLAGS): Remove @LTLIBEXPAT@. * gettext-tools/src/Makefile.am (noinst_HEADERS): Remove libexpat-compat.h. (libgettextsrc_la_SOURCES): Remove libexpat-compat.c. (libgettextsrc_la_LDFLAGS): Remove @LTLIBEXPAT@. * gettext-tools/src/format-kde-kuit.c: Use functions from markup.h, when the file is being compiled as part of libgettextpo. Otherwise use libxml2. * gettext-tools/src/libexpat-compat.c: Remove. * gettext-tools/src/libexpat-compat.h: Remove.
* build: Fix texi2html failure with perl 5.22Daiki Ueno2015-12-082-4/+4
| | | | | | * gettext-runtime/libasprintf/texi2html (update_sec_num): Don't use "defined" against an array ref. * gettext-tools/doc/texi2html (update_sec_num): Likewise.
* Update gnulibDaiki Ueno2015-12-082-0/+2
|
* xgettext: Ignore --from-code when XML modeDaiki Ueno2015-12-081-3/+5
| | | | | * gettext-tools/src/xgettext.c (extract_from_xml_file): Forcibly set current source encoding to UTF-8, on XML mode.
* build: Suppress compiler warningDaiki Ueno2015-12-081-3/+1
| | | | | * gettext-tools/src/its.c (its_rule_list_extract_text): Remove unused local variable "message".
* msgfmt: Support XML file mergingDaiki Ueno2015-12-0411-15/+916
| | | | | | | | | | | | | | | | | | | | | | | | | | | * gettext-tools/src/Makefile.am (noinst_HEADERS): Add write-xml.h. (msgfmt_SOURCES): Add write-xml.c. * gettext-tools/src/its.c (its_merge_context_merge_node): New function. (its_merge_context_merge): New function. (its_merge_context_alloc): New function. (its_merge_context_write): New function. (its_merge_context_free): New function. * gettext-tools/src/its.h (its_merge_context_ty): New type. * gettext-tools/src/msgfmt.c: Include "its.h", "locating-rule.h", and "write-xml.h". (SIZEOF): New macro. (xml_mode, xml_locale_name, xml_template_name, xml_base_directory, xml_language, xml_its_rules): New variable. (long_options): Add --language and --xml. (main): Handle new options. (usage): Document new options. (msgfmt_xml_bulk): New function. * gettext-tools/src/write-xml.c: New file. * gettext-tools/src/write-xml.h: New file. * gettext-tools/doc/gettext.texi: Mention XML file merging use-case. * gettext-tools/doc/msgfmt.texi: Mention --xml option. * gettext-tools/tests/msgfmt-xml-1: New file. * gettext-tools/tests/msgfmt-xml-2: New file. * gettext-tools/tests/Makefile.am (TESTS): Add new tests.
* xgettext: Rewrite Glade scanner in ITSDaiki Ueno2015-12-049-633/+79
| | | | | | | | | | | | | | * gettext-tools/its/glade.loc: New file. * gettext-tools/its/glade1.its: New file. * gettext-tools/its/glade2.its: New file. * gettext-tools/its/gtkbuilder.its: New file. * gettext-tools/its/Makefile.am (dist_its_DATA): Add new files. * gettext-tools/src/Makefile.am (xgettext_SOURCES): Remove x-glade.c. * gettext-tools/src/x-glade.c: Remove. * gettext-tools/src/x-glade.h (EXTENSIONS_GLADE): Set language field to NULL. (SCANNERS_GLADE): Set func field to NULL. * gettext-tools/po/POTFILES.in: Remove x-glade.c
* xgettext: Rewrite GSettings scanner in ITSDaiki Ueno2015-12-046-398/+27
| | | | | | | | | | | * gettext-tools/its/gsettings.its: New file. * gettext-tools/its/gsettings.loc: New file. * gettext-tools/its/Makefile.am (dist_its_DATA): Add new files. * gettext-tools/src/Makefile.am (xgettext_SOURCES): Remove x-gsettings.c. * gettext-tools/src/x-gsettings.c: Remove. * gettext-tools/src/x-gsettings.h (EXTENSIONS_GSETTINGS): Set language field to NULL. (SCANNER_GSETTINGS): Set func field to NULL.
* xgettext: Rewrite AppData scanner in ITSDaiki Ueno2015-12-047-383/+30
| | | | | | | | | | | * gettext-tools/its/appdata.loc: New file. * gettext-tools/its/appdata.its: New file. * gettext-tools/its/Makefile.am (dist_its_DATA): Add new files. * gettext-tools/src/Makefile.am (xgettext_SOURCES): Remove x-appdata.c. * gettext-tools/src/x-appdata.c: Remove. * gettext-tools/src/x-appdata.h (EXTENSIONS_APPDATA): Set language field to NULL. (SCANNERS_APPDATA): Set func field to NULL.
* xgettext: Add support for generic XML filesDaiki Ueno2015-12-0415-34/+3010
| | | | | | | | | | | | | | | | | | | | | | | | | * autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC): Add trim module. * gettext-tools/src/locating-rule.h: New file. * gettext-tools/src/locating-rule.c: New file. * gettext-tools/src/its.h: New file. * gettext-tools/src/its.c: New file. * gettext-tools/src/xgettext.c: Include "locating-rule.h" and "its.h". (its_locators): New variable. (long_options): Add --itstool option. (extract_from_xml_file): New function. (main): Handle --itstool option. (usage): Document --itstool option. * gettext-tools/src/Makefile.am (noinst_HEADERS): Add locating-rule.h and its.h. (libgettextsrc_la_CPPFLAGS): Add $(INCXML). (libgettextsrc_la_SOURCES): Add locating-rule.c and its.c. * gettext-tools/Makefile.am (SUBDIRS): Add its directory. * gettext-tools/configure.ac: Output its/Makefile. * gettext-tools/doc/gettext.texi (Preparing ITS Rules): New section. * gettext-tools/doc/xgettext.texi: Mention --itstool option. * gettext-tools/tests/Makefile.am (TESTS): Add new tests. * gettext-tools/tests/xgettext-its-1: New file * gettext-tools/tests/init-env.in: Set GETTEXTDATADIR for ITS tests.
* cldr-plurals: Add sanity checks for inputDaiki Ueno2015-11-181-10/+17
| | | | | * gettext-tools/src/cldr-plurals.c (extract_rules): Add null checks and element type checks.
* cldr-plurals: Rewrite XML handling using libxml2Daiki Ueno2015-11-172-259/+127
| | | | | | | | | | | | * src/cldr-plurals.c: Include <libxml/tree.h> and <libxml/parser.h>, instead of "libexpat-compat.h". (extract_locale, extracted_rules, parser, logical_file_name) (struct element_state, stack, stack_size, stack_depth) (ensure_stack_size, start_element_handler, end_element_handler) (character_data_handler): Remove. (extract_rules): Rename from extract_rule and rewrite using DOM. (main): Use extract_rules. * src/Makefile.am (cldr_plurals_CFLAGS): Add $(INCXML).
* cldr-plurals: Fix a trivial leakDaiki Ueno2015-11-171-0/+4
| | | | * src/cldr-plural.y (sample_range): Free unused operand value.
* doc: Fix typo in gettext_noop examplePhil Davis2015-11-171-1/+1
| | | | | | | * doc/gettext.texi (Special cases): Add missing ')' to a gettext_noop call. Copyright-paperwork-exempt: yes
* maint: Ignore more generated ChangeLogsDaiki Ueno2015-10-291-0/+3
| | | | | * .gitignore: Add gettext-runtime/intl/ChangeLog, gettext-runtime/po/ChangeLog, and gettext-tools/po/ChangeLog.
* m4: Fix typo in usage commentDaiki Ueno2015-10-298-16/+16
| | | | | | | | | | | | | * gettext-runtime/m4/gettext.m4: Remove duplicate words. * gettext-runtime/m4/intl.m4: Likewise. * gettext-runtime/m4/intldir.m4: Likewise. * gettext-runtime/m4/intlmacosx.m4: Likewise. * gettext-runtime/m4/lcmessage.m4: Likewise. * gettext-runtime/m4/nls.m4: Likewise. * gettext-runtime/m4/po.m4: Likewise. * gettext-runtime/m4/progtest.m4: Likewise. Reported by Jakub Wilk in: https://lists.gnu.org/archive/html/bug-gettext/2015-10/msg00026.html.
* doc: Fix typo in msgfmt invocationDaiki Ueno2015-10-291-1/+2
| | | | | * gettext-tools/doc/msgfmt.texi: Fix the documentation of -d option, used in the Desktop Entry mode.
* build: Generate ChangeLogs for intl and poDaiki Ueno2015-10-155-12/+16
| | | | | | | | | * autogen.sh: Create empty ChangeLog files under intl and po. * Makefile.am (gen-ChangeLogs): Rename from gen-ChangeLog. Generate ChangeLog files for */intl and */po as well as top-level. * gettext-runtime/intl/ChangeLog.0: Rename from ChangeLog. * gettext-runtime/po/ChangeLog.0: Rename from ChangeLog. * gettext-tools/po/ChangeLog.1: Rename from ChangeLog.
* build: Distribute old ChangeLogs in tarballDaiki Ueno2015-10-151-5/+1
| | | | | | * Makefile.am (changelog_etc): Remove non-existent ChangeLog files under intl and po. (EXTRA_DIST): Add $(changelog_etc).
* tests: use check_PROGRAMSMike Frysinger2015-10-141-1/+1
| | | | | | | | | The noinst_xxx targets will be compiled all the time. For test programs, the check_xxx targets make more sense as they'll only be built when the user runs `make check`. * gettext-runtime/tests/Makefile.am (noinst_PROGRAMS): Rename to ... (check_PROGRAMS): ... this.
* intl/localename: control langinfo.h inclusionMike Frysinger2015-10-142-1/+12
| | | | | | | | | This header is only used to work around buggy behavior in old versions of glibc, so do not include it all the time. Otherwise we get build failures on systems that do not provide langinfo.h. * gettext-runtime/intl/localename.c: Wrap langinfo.h include with same ifdefs used in the source later on.
* build: Remove ChangeLogsDaiki Ueno2015-10-1435-64/+105
| | | | | | | | | | | | | | | | | | | | | Generate ChangeLog files at "make dist" time, using gitlog-to-changelog. We still keep ChangeLog files under "po" and "intl" directories, since those files are copied as part of gettext infrastructure and it is still meaningful to have them there. * .gitignore: Add ChangeLog files. * Admin/release-steps: Remove mention of running update-changelog script. * Admin/update-changelog: Remove. * Makefile.am (gen-ChangeLog): New rule. * autogen.sh: Copy gitlog-to-changelog from gnulib. Create empty ChangeLog files to suppress Automake errors. * gettext-tools/doc/Makefile.am (EXTRA_DIST): Remove ChangeLog.0. * gettext-tools/man/Makefile.am (EXTRA_DIST): Remove ChangeLog.0. * gettext-tools/src/Makefile.am (EXTRA_DIST): Remove ChangeLog.0. * gettext-tools/tests/Makefile.am (EXTRA_DIST): Remove ChangeLog.0. * gnulib-local/Makefile.am (EXTRA_DIST): Remove ChangeLog files. * */ChangeLog: Rename to ChangeLog.0 or ChangeLog.1. * HACKING: Add brief guideline to submit patches.
* hello-c-gnome3: Simplify the Desktop Entry rulesDaiki Ueno2015-10-082-4/+9
| | | | | | * hello-c-gnome3/Makefile.am (hello.desktop.in): Don't use a temporary file. (hello.desktop): Likewise.
* doc: Don't expose generated versionDaiki Ueno2015-10-064-10/+21
| | | | | | | | * gettext-tools/doc/Makefile.am ($(srcdir)/stamp-vti): Set ARCHIVE-VERSION, derived from $(ARCHIVE_VERSION) in version.texi. * gettext-tools/doc/gettext.texi (Files under Version Control): Refer to ARCHIVE-VERSION, instead of VERSION. * gettext-tools/doc/autopoint.texi: Refer to ARCHIVE-VERSION, instead of VERSION.
* msgfmt: More refactoring on --desktopDaiki Ueno2015-10-063-14/+23
| | | | | | | * msgfmt.c (msgfmt_desktop_bulk): Distinguish the number of errors and the exit status. * write-desktop.c (msgdomain_write_desktop_bulk): Don't immediately exit when fwriteerror() returns error.
* msgfmt: Refactor --desktop handlingDaiki Ueno2015-10-065-92/+170
| | | | | | | | | | | | | | | | | * gettext-tools/src/msgfmt.c (get_languages): Avoid redundant memory allocation. (msgfmt_operand_list_init): New function. (msgfmt_operand_list_destroy): New function. (msgfmt_operand_list_append): New function. (msgfmt_operand_list_add_directory): New function. (msgfmt_desktop_bulk): Rewrite using msgfmt_operand_list_ty. * gettext-tools/src/msgfmt.h (msgfmt_operand_ty, msgfmt_operand_list_ty): New type. * gettext-tools/src/write-desktop.c (msgdomain_write_desktop_bulk): Simplify using msgfmt_operand_list_ty. (msgdomain_write_desktop): Simplify using msgfmt_operand_list_ty. * gettext-tools/src/write-desktop.h (msgdomain_write_desktop_bulk): Take OPERANDS as the first argument, instead of LANGUAGES and MESSAGES.
* sentence: Avoid compiler warningsDaiki Ueno2015-10-062-2/+8
| | | | | | * gettext-tools/src/sentence.c (sentence_end): Assign initial values to local variables to suppress compiler warnings with -Wmaybe-uninitialized. This shouldn't address any real bug.
* build: Fix the last commitDaiki Ueno2015-10-011-1/+1
|
* build: Fix the last commitDaiki Ueno2015-09-301-4/+4
|
* build: Avoid file name length limitation of tarDaiki Ueno2015-09-308-10/+20
| | | | | | | | | | "csharpdoc" is a bit too long to accommodate long file names with the version returned from git-version-gen: tar: gettext-0.19.6.4-1e74e4/.../csharpdoc/...: file name is too long (max 99); not dumped * gettext-runtime/intl-csharp/doc: Rename from csharpdoc. * gettext-runtime/intl-cshap/Makefile.am (doc, DOC_FILES): Adjust to the directory name change.
* build: Regenerate ABOUT-NLSDaiki Ueno2015-09-301-81/+77
|