Bug 1214136

Summary: perl 5.38.0 breaks rxvt-unicode's handling of UTF-8 characters
Product: [openSUSE] openSUSE Tumbleweed Reporter: Masaru Nomiya <nomiya>
Component: DevelopmentAssignee: Michael Schröder <mls>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: Andreas.Stieger, mjambor, nomiya, pujos.michael
Version: Current   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE Tumbleweed   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Masaru Nomiya 2023-08-09 22:44:20 UTC
On Perl 5.38.0, rxvt-unocde can't treat UTF-8 characters.
 
1. the settings for rxvt don't work correctly

2. UTF-8 characters in terminal are garbled and completely unreadable

3. only env LANG=C works correctly in the terminal
Comment 1 Andreas Stieger 2023-08-10 08:37:29 UTC
Provide steps to reproduce, commands, and corresponding observations vs. expectations.
Comment 2 Masaru Nomiya 2023-08-10 09:26:22 UTC
> Provide steps to reproduce, commands, and corresponding observations vs. expectations.

I can't understand what you mean.

I mean, I just upgraded to perl 5.38.0 following  with Tumbleweed' s guide and now it happens.

Anyway, I have the following settings for rxvt-unicode.

!!! URxvt settings
! -------------------------------------------------------------------------------
URxvt.depth: 30
URxvt.geometry: 80x20
URxvt.transparent: false
URxvt.fading: 0
URxvt.loginShell: true
URxvt.saveLines: 10000
URxvt.internalBorder: 3
URxvt.lineSpace: 0

!!!! Fonts
URxvt.allow_bold: true
URxvt.allow_bold: false
URxvt*font: xft:Migu 2M:size=16:style:antialias=true

Fix font space Fix font space ! Fix font space
URxvt*letterSpace: -1
[...]]

In perl 5.38.0, the width is greatly increased unless set as follows.

  URxvt*letterSpace: -20

Here, all UTF-8 characters in rxvt-unicode are garbled and unreadable, regardless of whether they are Japanese or English.
Comment 3 Masaru Nomiya 2023-08-11 11:09:53 UTC
Hello, 

By disabling Perl extensions, main issue has disappeared;

  URxvt.perl-ext:
  URxvt.perl-ext-common:

But I can't use the Perl extension, so I can't think this is the solution: .....
Comment 4 Michael Pujos 2023-09-13 14:47:57 UTC
Confirming that disabling the perl extension fixes that issue.
Issue which also prevent from entering any unicode characters (for example accents) in the shell.
Comment 5 Michael Pujos 2023-09-14 12:08:01 UTC
Caused perl 5.38 does not handling empty locale names. It has been fixed upstream in rxvt-unicode with a trivial change:


https://github.com/exg/rxvt-unicode/commit/16634bc8dd5fc4af62faf899687dfa8f27768d15


Would be great to have OBS version of rxvt-unicode patched with that change as it is unknown when a new upstream version will happen.
Comment 6 Masaru Nomiya 2023-09-15 01:35:04 UTC
> Caused perl 5.38 does not handling empty locale names. It has been fixed upstream in rxvt-unicode with a trivial change:

> https://github.com/exg/rxvt-unicode/commit/16634bc8dd5fc4af62faf899687dfa8f27768d15

Confirmed!

Thanks a lot.
Comment 7 OBSbugzilla Bot 2023-10-13 12:55:03 UTC
This is an autogenerated message for OBS integration:
This bug (1214136) was mentioned in
https://build.opensuse.org/request/show/1117664 Factory / rxvt-unicode
Comment 8 Michael Pujos 2023-10-15 12:36:52 UTC
Thanks for the fix in the latest rxvt-unicode package!
Comment 9 Marcus Meissner 2024-02-24 20:05:21 UTC
openSUSE-RU-2024:0059-1: An update that has two recommended fixes can now be installed.

Category: recommended (moderate)
Bug References: 1214136,1217732
CVE References: 
JIRA References: 
Sources used:
openSUSE Backports SLE-15-SP5 (src):    rxvt-unicode-9.31-bp155.3.6.1
Comment 10 Michael Schröder 2024-04-29 14:52:27 UTC
Closing this as an update has been released.