Public bug reported:

When LC_MESSAGES is anything but LC_MESSAGES=C, LC_MESSAGES=C.utf8 or
LC_MESSAGES=POSIX, the help on built-in command is getting garbled with
MIME headers.

Reproducing:

# Install bash-builtins
sudo apt install bash-builtins

# Enable one of available builtin
enable -f dsv dsv

# Display help about loadable builtin dsv
help dsv

Get garbled result

> dsv: dsv [-a ARRAYNAME] [-d DELIMS] [-Sgp] string
>     Read delimiter-separated fields from STRING.
>     Project-Id-Version: bash-5.2-rc1
> Report-Msgid-Bugs-To:
> PO-Revision-Date: 2024-04-02 21:06+0000
> Last-Translator: Frédéric Marchal <Unknown>
> Language-Team: French <tra...@traduc.org>
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
> Plural-Forms: nplurals=2; plural=n > 1;
> X-Launchpad-Export-Date: 2024-04-19 00:32+0000
> X-Generator: Launchpad (build 67d34a19aaa1df7be4dd8bf498cbc5bbd785067b)
> Language: fr
> X-Bugs: Report translation errors to the Language-Team address.
>
>     Parse STRING, a line of delimiter-separated values, into individual
>     fields, and store them into the indexed array ARRAYNAME starting at
>     index 0. The parsing understands and skips over double-quoted strings.
>     If ARRAYNAME is not supplied, "DSV" is the default array name.
>     If the delimiter is a comma, the default, this parses comma-
>     separated values as specified in RFC 4180.
>     Project-Id-Version: bash-5.2-rc1
> Report-Msgid-Bugs-To:
> PO-Revision-Date: 2024-04-02 21:06+0000
> Last-Translator: Frédéric Marchal <Unknown>
> Language-Team: French <tra...@traduc.org>
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
> Plural-Forms: nplurals=2; plural=n > 1;
> X-Launchpad-Export-Date: 2024-04-19 00:32+0000
> X-Generator: Launchpad (build 67d34a19aaa1df7be4dd8bf498cbc5bbd785067b)
> Language: fr
> X-Bugs: Report translation errors to the Language-Team address.
>
>     The -d option specifies the delimiter. The delimiter is the first
>     character of the DELIMS argument. Specifying a DELIMS argument that
>     contains more than one character is not supported and will produce
>     unexpected results. The -S option enables shell-like quoting: double-
>     quoted strings can contain backslashes preceding special characters,
>     and the backslash will be removed; and single-quoted strings are
>     processed as the shell would process them. The -g option enables a
>     greedy split: sequences of the delimiter are skipped at the beginning
>     and end of STRING, and consecutive instances of the delimiter in STRING
>     do not generate empty fields. If the -p option is supplied, dsv leaves
>     quote characters as part of the generated field; otherwise they are
>     removed.
>     Project-Id-Version: bash-5.2-rc1
> Report-Msgid-Bugs-To:
> PO-Revision-Date: 2024-04-02 21:06+0000
> Last-Translator: Frédéric Marchal <Unknown>

# Same help call with LC_MESSAGES=C displays correctly
LC_MESSAGES=C help dsv

> dsv: dsv [-a ARRAYNAME] [-d DELIMS] [-Sgp] string
>     Read delimiter-separated fields from STRING.
>
>     Parse STRING, a line of delimiter-separated values, into individual
>     fields, and store them into the indexed array ARRAYNAME starting at
>     index 0. The parsing understands and skips over double-quoted strings.
>     If ARRAYNAME is not supplied, "DSV" is the default array name.
>     If the delimiter is a comma, the default, this parses comma-
>     separated values as specified in RFC 4180.
>
>     The -d option specifies the delimiter. The delimiter is the first
>     character of the DELIMS argument. Specifying a DELIMS argument that
>     contains more than one character is not supported and will produce
>     unexpected results. The -S option enables shell-like quoting: double-
>     quoted strings can contain backslashes preceding special characters,
>     and the backslash will be removed; and single-quoted strings are
>     processed as the shell would process them. The -g option enables a
>     greedy split: sequences of the delimiter are skipped at the beginning
>     and end of STRING, and consecutive instances of the delimiter in STRING
>     do not generate empty fields. If the -p option is supplied, dsv leaves
>     quote characters as part of the generated field; otherwise they are
>     removed.
>
>     The return value is 0 unless an invalid option is supplied or the 
> ARRAYNAME
>     argument is invalid or readonly.

ProblemType: Bug
DistroRelease: Ubuntu 24.04
Package: bash-builtins 5.2.21-2ubuntu4
ProcVersionSignature: Ubuntu 6.8.0-39.39-generic 6.8.8
Uname: Linux 6.8.0-39-generic x86_64
NonfreeKernelModules: nvidia_modeset nvidia
ApportVersion: 2.28.1-0ubuntu3
Architecture: amd64
CasperMD5CheckResult: pass
CurrentDesktop: ubuntu:GNOME
Date: Fri Aug  2 11:28:33 2024
InstallationDate: Installed on 2024-05-15 (79 days ago)
InstallationMedia: Ubuntu 24.04 LTS "Noble Numbat" - Release amd64 (20240424)
SourcePackage: bash
UpgradeStatus: No upgrade log present (probably fresh install)

** Affects: bash (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug noble

** Description changed:

  When LC_MESSAGES is anything but LC_MESSAGES=C, LC_MESSAGES=C.utf8 or
  LC_MESSAGES=POSIX, the help on built-in command is getting garbled with
  MIME headers.
  
  Reproducing:
  
  # Install bash-builtins
  sudo apt install bash-builtins
  
  # Enable one of available builtin
  enable -f dsv dsv
  
  # Display help about loadable builtin dsv
  help dsv
  
  Get garbled result
  
  > dsv: dsv [-a ARRAYNAME] [-d DELIMS] [-Sgp] string
  >     Read delimiter-separated fields from STRING.
  >     Project-Id-Version: bash-5.2-rc1
- > Report-Msgid-Bugs-To: 
+ > Report-Msgid-Bugs-To:
  > PO-Revision-Date: 2024-04-02 21:06+0000
  > Last-Translator: Frédéric Marchal <Unknown>
  > Language-Team: French <tra...@traduc.org>
  > MIME-Version: 1.0
  > Content-Type: text/plain; charset=UTF-8
  > Content-Transfer-Encoding: 8bit
  > Plural-Forms: nplurals=2; plural=n > 1;
  > X-Launchpad-Export-Date: 2024-04-19 00:32+0000
  > X-Generator: Launchpad (build 67d34a19aaa1df7be4dd8bf498cbc5bbd785067b)
  > Language: fr
  > X-Bugs: Report translation errors to the Language-Team address.
- > 
+ >
  >     Parse STRING, a line of delimiter-separated values, into individual
  >     fields, and store them into the indexed array ARRAYNAME starting at
- >     index 0. The parsing understands and skips over double-quoted strings. 
+ >     index 0. The parsing understands and skips over double-quoted strings.
  >     If ARRAYNAME is not supplied, "DSV" is the default array name.
  >     If the delimiter is a comma, the default, this parses comma-
  >     separated values as specified in RFC 4180.
  >     Project-Id-Version: bash-5.2-rc1
- > Report-Msgid-Bugs-To: 
+ > Report-Msgid-Bugs-To:
  > PO-Revision-Date: 2024-04-02 21:06+0000
  > Last-Translator: Frédéric Marchal <Unknown>
  > Language-Team: French <tra...@traduc.org>
  > MIME-Version: 1.0
  > Content-Type: text/plain; charset=UTF-8
  > Content-Transfer-Encoding: 8bit
  > Plural-Forms: nplurals=2; plural=n > 1;
  > X-Launchpad-Export-Date: 2024-04-19 00:32+0000
  > X-Generator: Launchpad (build 67d34a19aaa1df7be4dd8bf498cbc5bbd785067b)
  > Language: fr
  > X-Bugs: Report translation errors to the Language-Team address.
- > 
+ >
  >     The -d option specifies the delimiter. The delimiter is the first
  >     character of the DELIMS argument. Specifying a DELIMS argument that
  >     contains more than one character is not supported and will produce
  >     unexpected results. The -S option enables shell-like quoting: double-
  >     quoted strings can contain backslashes preceding special characters,
  >     and the backslash will be removed; and single-quoted strings are
  >     processed as the shell would process them. The -g option enables a
  >     greedy split: sequences of the delimiter are skipped at the beginning
  >     and end of STRING, and consecutive instances of the delimiter in STRING
  >     do not generate empty fields. If the -p option is supplied, dsv leaves
  >     quote characters as part of the generated field; otherwise they are
  >     removed.
  >     Project-Id-Version: bash-5.2-rc1
- > Report-Msgid-Bugs-To: 
+ > Report-Msgid-Bugs-To:
  > PO-Revision-Date: 2024-04-02 21:06+0000
  > Last-Translator: Frédéric Marchal <Unknown>
  
  # Same help call with LC_MESSAGES=C displays correctly
+ LC_MESSAGES=C help dsv
  
  > dsv: dsv [-a ARRAYNAME] [-d DELIMS] [-Sgp] string
  >     Read delimiter-separated fields from STRING.
- >     
+ >
  >     Parse STRING, a line of delimiter-separated values, into individual
  >     fields, and store them into the indexed array ARRAYNAME starting at
- >     index 0. The parsing understands and skips over double-quoted strings. 
+ >     index 0. The parsing understands and skips over double-quoted strings.
  >     If ARRAYNAME is not supplied, "DSV" is the default array name.
  >     If the delimiter is a comma, the default, this parses comma-
  >     separated values as specified in RFC 4180.
- >     
+ >
  >     The -d option specifies the delimiter. The delimiter is the first
  >     character of the DELIMS argument. Specifying a DELIMS argument that
  >     contains more than one character is not supported and will produce
  >     unexpected results. The -S option enables shell-like quoting: double-
  >     quoted strings can contain backslashes preceding special characters,
  >     and the backslash will be removed; and single-quoted strings are
  >     processed as the shell would process them. The -g option enables a
  >     greedy split: sequences of the delimiter are skipped at the beginning
  >     and end of STRING, and consecutive instances of the delimiter in STRING
  >     do not generate empty fields. If the -p option is supplied, dsv leaves
  >     quote characters as part of the generated field; otherwise they are
  >     removed.
- >     
+ >
  >     The return value is 0 unless an invalid option is supplied or the 
ARRAYNAME
  >     argument is invalid or readonly.
  
  ProblemType: Bug
  DistroRelease: Ubuntu 24.04
  Package: bash-builtins 5.2.21-2ubuntu4
  ProcVersionSignature: Ubuntu 6.8.0-39.39-generic 6.8.8
  Uname: Linux 6.8.0-39-generic x86_64
  NonfreeKernelModules: nvidia_modeset nvidia
  ApportVersion: 2.28.1-0ubuntu3
  Architecture: amd64
  CasperMD5CheckResult: pass
  CurrentDesktop: ubuntu:GNOME
  Date: Fri Aug  2 11:28:33 2024
  InstallationDate: Installed on 2024-05-15 (79 days ago)
  InstallationMedia: Ubuntu 24.04 LTS "Noble Numbat" - Release amd64 (20240424)
  SourcePackage: bash
  UpgradeStatus: No upgrade log present (probably fresh install)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2075612

Title:
  Locadable bash-builtins Help Text garbled with MIME

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/bash/+bug/2075612/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to