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)

gettext-0.23-libxml2_2.12-1.patch (581 bytes ) - added by Marty Jack 7 weeks ago.
Adjust for type signature change introduced in libxml2 2.12

Download all attachments as: .zip

Change History (7)

by Marty Jack, 7 weeks ago

Adjust for type signature change introduced in libxml2 2.12

comment:1 by Marty Jack, 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.

Last edited 7 weeks ago by Marty Jack (previous) (diff)

in reply to:  1 comment:2 by Xi Ruoyao, 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.

Last edited 7 weeks ago by Xi Ruoyao (previous) (diff)

comment:4 by Marty Jack, 7 weeks ago

Correct on the mismatch. Ideally gettext will re-release with their patch and everything is solved.

comment:5 by Bruce Dubbs, 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.
  • 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.
  • 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.

comment:6 by Bruce Dubbs, 5 weeks ago

Resolution: fixed
Status: newclosed

Fixed at revision 4fd0680ccf.

Note: See TracTickets for help on using tickets.