Opened 7 weeks ago
Closed 5 weeks ago
#5603 closed enhancement (fixed)
gettext-0.23
Reported by: | Bruce Dubbs | Owned by: | lfs-book |
---|---|---|---|
Priority: | normal | Milestone: | 12.3 |
Component: | Book | Version: | git |
Severity: | normal | Keywords: | |
Cc: |
Description
New minor version.
Attachments (1)
Change History (7)
by , 7 weeks ago
Attachment: | gettext-0.23-libxml2_2.12-1.patch added |
---|
follow-up: 2 comment:1 by , 7 weeks ago
A const added to the type signature of xmlSetStructuredErrorFunc introduced back in libxml2 2.12 breaks usages in its.c
Wouldn't affect LFS because libxml2 is not installed then but might affect someone who is reinstalling after completing their system.
comment:2 by , 7 weeks ago
Replying to Marty Jack:
A const added to the type signature of xmlSetStructuredErrorFunc introduced back in libxml2 2.12 breaks usages in its.c
Wouldn't affect LFS because libxml2 is not installed then but might affect someone who is reinstalling after completing their system.
Just: sed '/^structured_error/s/xmlError/const &/' -i gettext-tools/src/its.c
I don't think it simply "wouldn't affect LFS." IIUC if you apply it for LFS, it'll cause a FTBFS because it will introduce a mismatch between the bundled libxml2 copy and the code. I.e. it should only be applied if libxml2 >= 2.12 is installed on the system.
comment:3 by , 7 weeks ago
A patch robust to different libxml2 version is available at https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=patch;h=adfbe2ee7cd9b47a0465aa9a07d773fa290f46c1.
comment:4 by , 7 weeks ago
Correct on the mismatch. Ideally gettext will re-release with their patch and everything is solved.
comment:5 by , 5 weeks ago
Version 0.23 - December 2024
- Internationalized data formats:
- XML:
- The escaping of characters such as & < > has been changed:
- No escaping is done any more by xgettext, when creating a POT file.
- Instead, extra escaping can be requested for the msgfmt pass, when merging into an XML file.
- The default value of 'escape' in the <gt:escapeRule> was "yes"; now it is "no". This means that existing translations of older POT files may no longer fully apply. As a maintainer of a package that has translatable XML files, you need to regenerate the POT file and pass it on to your translators.
- XML schemas for .its and .loc files are now provided.
- The value of the xml:lang attribute, inserted by msgfmt, now conforms to W3C standards.
- 'msgfmt --xml' accept an option --replace-text, that causes the output to be a mono-lingual XML file instead of a multi-lingual XML file.
- xgettext and 'msgfmt --xml' now support DocBook XML files.
- The escaping of characters such as & < > has been changed:
- XML:
- Programming languages support:
- Python:
- xgettext now assumes source code for Python 3 rather than Python 2. This affects the interpretation of escape sequences in string literals.
- xgettext now recognizes the f-string syntax.
- Scheme:
- xgettext now supports the option '-L Guile' as an alternative to '-L Scheme'. They are nearly equivalent. They differ in the interpretation of escape sequences in string literals: While 'xgettext -L Scheme' assumes the R6RS and R7RS syntax of string literals, 'xgettext -L Guile' assumes the syntax of string literals understood by Guile 2.x and 3.0 (without command-line option '--r6rs' or '--r7rs', and before a '#!r6rs' directive is seen).
- xgettext now recognizes comments of the form '#; <expression>'.
- Java: xgettext now has an improved recognition of format strings when the String.formatted method is used.
- JavaScript:
- xgettext now parses template literals inside JSX correctly.
- xgettext has a new option --tag that customizes the behaviour of tagged template literals.
- C#:
- The build system and tools now also support 'dotnet' (.NET) as C# implementation. In order to declare a preference for 'dotnet' over 'mono', you can use the configure option '--enable-csharp=dotnet'.
- xgettext now recognizes strings with embedded expressions (a.k.a. interpolated strings).
- awk: xgettext now recognizes string concatenation by juxtaposition.
- Smalltalk: xgettext now recognizes the string concatenation operator ','.
- Vala: xgettext now has an improved recognition of format strings when the string.printf method is used.
- Glade: xgettext has improved support for GtkBuilder 4.
- Tcl: With the recently released Tcl 9.0, characters outside the Unicode BMP in Tcl message catalogs (.msg files) will work regardless of the locale's encoding.
- Perl:
- xgettext now reports warnings instead of fatal errors.
- xgettext now recognizes strings with embedded expressions (a.k.a. interpolated strings).
- PHP:
- xgettext now recognizes strings with embedded expressions.
- xgettext now scans Heredoc and Nowdoc strings correctly.
- xgettext now regards the format string directives %E, %F, %g, %G, %h, %H as valid.
- Desktop: xgettext now produces POT files with correct line numbers.
- Python:
- Runtime behaviour:
- In the C.UTF-8 locale, like in the C locale, the *gettext() functions now return the msgid untranslated. This is relevant for GNU systems, Linux with musl libc, FreeBSD, NetBSD, OpenBSD, Cygwin, and Android.
- Documentation:
- The section "Preparing Strings" now gives more advice how to deal with string concatenation and strings with embedded expressions.
- xgettext:
- Most of the diagnostics emitted by xgettext are now labelled as "warning" or "error".
- msgmerge:
- The option '--sorted-output' is now deprecated.
- libgettextpo library:
- This library is now multithread-safe.
- The function 'po_message_set_format' now supports resetting a format string mark.
Adjust for type signature change introduced in libxml2 2.12