Ticket #4138 (new defect)

Opened 12 months ago

Last modified 17 hours ago

Right to left language (like Hebrew) causes name and size columns to be switched

Reported by: ygoldfill Owned by:
Priority: major Milestone: Future Releases
Component: mc-core Version: 4.8.24
Keywords: Cc:
Blocked By: Blocking:
Branch state: no branch Votes for changeset:

Description

When displaying directories or file names that are of both English and Hebrew the size column contents is shifted to the left and the name is shifted to the right for Hebrew names.

$ LC_MESSAGES=C mc -V
GNU Midnight Commander 4.8.24
Built with GLib 2.62.4
Using the S-Lang library with terminfo database
With builtin Editor
With subshell support as default
With support for background operations
With mouse support on xterm and Linux console
With internationalization support
With multiple codepages support
Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, sftpfs, fish, smbfs
Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64;

$ mc --configure-options

'--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--program-prefix=' '--disable-dependency-tracking' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' 'PYTHON=/usr/bin/python3' '--disable-rpath' '--enable-charset' '--enable-largefile' '--enable-vfs-cpio' '--enable-vfs-extfs' '--enable-vfs-fish' '--enable-vfs-ftp' '--enable-vfs-sfs' '--enable-vfs-sftp' '--enable-vfs-smb' '--enable-vfs-tar' '--with-x' '--with-gpm-mouse' '--with-screen=slang' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' 'LDFLAGS=-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' 'PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'

Attachments

Screenshot from 2020-10-22 17-35-43.png (166.4 KB) - added by ygoldfill 12 months ago.
Screenshot at 2020-10-25 10-53-10.png (14.7 KB) - added by andrew_b 12 months ago.

Change History

Changed 12 months ago by ygoldfill

comment:1 Changed 12 months ago by ygoldfill

  • Version changed from master to 4.8.24
  • Milestone 4.8.26 deleted

comment:2 Changed 12 months ago by andrew_b

  • Milestone set to Future Releases

What is your locale?

comment:3 follow-up: ↓ 4 Changed 12 months ago by ygoldfill

cat /etc/locale.conf
LANG="en_US.UTF-8"

comment:4 in reply to: ↑ 3 Changed 12 months ago by andrew_b

Replying to ygoldfill:

cat /etc/locale.conf
LANG="en_US.UTF-8"

Please show the output of command locale and files ~/.config/mc/in and ~/.config/mc/panels.ini

comment:5 Changed 12 months ago by ygoldfill

[ygoldfill@Guji-Linux ~]$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

[ygoldfill@Guji-Linux mc]$ cat ini
[Midnight-Commander]
verbose=true
pause_after_run=1
shell_patterns=true
auto_save_setup=true
preallocate_space=false
auto_menu=false
use_internal_view=true
use_internal_edit=true
clear_before_exec=true
confirm_delete=true
confirm_overwrite=true
confirm_execute=false
confirm_history_cleanup=true
confirm_exit=false
confirm_directory_hotlist_delete=true
safe_delete=false
mouse_repeat_rate=100
double_click_speed=250
use_8th_bit_as_meta=false
confirm_view_dir=false
mouse_move_pages_viewer=true
mouse_close_dialog=false
fast_refresh=false
drop_menus=false
wrap_mode=true
old_esc_mode=false
old_esc_mode_timeout=1000000
cd_symlinks=true
show_all_if_ambiguous=false
max_dirt_limit=10
use_file_to_guess_type=true
alternate_plus_minus=false
only_leading_plus_minus=true
show_output_starts_shell=false
xtree_mode=false
num_history_items_recorded=60
file_op_compute_totals=true
classic_progressbar=true
vfs_timeout=60
ftpfs_directory_timeout=900
use_netrc=true
ftpfs_retry_seconds=30
ftpfs_always_use_proxy=false
ftpfs_use_passive_connections=true
ftpfs_use_passive_connections_over_proxy=false
ftpfs_use_unix_list_options=true
ftpfs_first_cd_then_ls=true
fish_directory_timeout=900
editor_tab_spacing=8
editor_word_wrap_line_length=72
editor_fill_tabs_with_spaces=false
editor_return_does_auto_indent=true
editor_backspace_through_tabs=false
editor_fake_half_tabs=true
editor_option_save_mode=0
editor_option_save_position=true
editor_option_auto_para_formatting=false
editor_option_typewriter_wrap=false
editor_edit_confirm_save=true
editor_syntax_highlighting=true
editor_persistent_selections=true
editor_drop_selection_on_copy=true
editor_cursor_beyond_eol=false
editor_cursor_after_inserted_block=false
editor_visible_tabs=true
editor_visible_spaces=true
editor_line_state=false
editor_simple_statusbar=false
editor_check_new_line=false
editor_show_right_margin=false
editor_group_undo=false
editor_ask_filename_before_edit=false
nice_rotating_dash=true
mcview_remember_file_position=false
auto_fill_mkdir_name=true
copymove_persistent_attr=true
editor_backup_extension=~
editor_filesize_threshold=64M
editor_stop_format_chars=-+*
,.;:&>
mcview_eof=
ignore_ftp_chattr_errors=true
skin=default

filepos_max_saved_entries=1024

editor_state_full_filename=false

safe_overwrite=false

[Layout]
message_visible=true
keybar_visible=true
xterm_title=true
output_lines=0
command_prompt=true
menubar_visible=true
free_space=true
horizontal_split=false
vertical_equal=true
left_panel_size=81
horizontal_equal=true
top_panel_size=1

[Misc]
timeformat_recent=%b %e %H:%M
timeformat_old=%b %e %Y
ftp_proxy_host=gate
ftpfs_password=anonymous@
display_codepage=UTF-8
source_codepage=Other_8_bit
autodetect_codeset=
spell_language=en
clipboard_store=
clipboard_paste=

[Colors]
base_color=
xterm-256color=
color_terminals=

linux=

[Panels]
show_mini_info=true
kilobyte_si=false
mix_all_files=false
show_backups=true
show_dot_files=true
fast_reload=false
fast_reload_msg_shown=false
mark_moves_down=true
reverse_files_only=true
auto_save_setup_panels=false
navigate_with_arrows=false
panel_scroll_pages=true
mouse_move_pages=true
filetype_mode=true
permission_mode=false
torben_fj_mode=false
quick_search_mode=2
select_flags=6

panel_scroll_center=false

[Panelize]
Find *.orig after patching=find . -name
*.orig -print
Find SUID and SGID programs=find .
(
( -perm -04000 -a -perm /011
) -o
( -perm -02000 -a -perm /01
)
) -print
Find rejects after patching=find . -name
*.rej -print
Modified git files=git ls-files --modified

pannels.ini is empty

Version 0, edited 12 months ago by ygoldfill (next)

Changed 12 months ago by andrew_b

comment:6 Changed 12 months ago by andrew_b

mc-4.8.25. Works for me. See attached screenshot.

comment:7 Changed 12 months ago by andrew_b

4.8.24 built from source works too.

comment:8 follow-up: ↓ 9 Changed 12 months ago by ygoldfill

strange - just tested it on the Linux virtual machine (ubuntu based) in my chromebook and I got the same results. The mc version there is 4.8.18. The locale is the same.
BTW, I can't build mc after checking out from git :
make[2]: Entering directory '/home/ygoldfill/Downloads/mc/po'
make[2]: * No rule to make target 'all'. Stop.

comment:9 in reply to: ↑ 8 Changed 12 months ago by andrew_b

Replying to ygoldfill:

BTW, I can't build mc after checking out from git :
make[2]: Entering directory '/home/ygoldfill/Downloads/mc/po'
make[2]: * No rule to make target 'all'. Stop.

You must run ./autogen.sh at first.

comment:10 Changed 12 months ago by ygoldfill

Seems that it depends on the system. On systems (like Fedora 31) where the Hebrew is displayed properly (not reversed) issuing 'ls' in shell, then mc is swapping the columns.
On other systems like latest raspbian on raspberry pi4, the Hebrew is reversed and then mc is OK.
I tried comparing the environment variables in there settings but could not make it out.

comment:11 Changed 10 days ago by ZGMxYWFh

Same issue here. Right to left language, namely Hebrew, causes name and size columns to be switched. But only when mc runs on X-windows. Not when mc runs on a virtual console. On the virtual console I get Hebrew characters as filled squares, not readable characters. Because I don't have Hebrew fonts for the virtual console. Still, the switching of the columns does not happen on the virtual console. With X-Windows I am also using -S sand256 as a single command line option, if that matters.

$ cat /etc/locale.conf
LANG=en_US.UTF-8
$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
$ LC_ALL=C mc -V
GNU Midnight Commander 4.8.27
Built with GLib 2.68.3
Built with S-Lang 2.3.2 with terminfo database
With builtin Editor
With subshell support as default
With support for background operations
With mouse support on xterm and Linux console
With support for X11 events
With internationalization support
With multiple codepages support
With ext2fs attributes support
Virtual File Systems:
 cpiofs, tarfs, sfs, extfs, ftpfs, sftpfs, fish, smbfs
Data types:
 char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64;
$ mc --configure-options
 '--prefix=/usr' '--libexecdir=/usr/lib' '--sysconfdir=/etc' '--enable-vfs-smb' '--with-screen=slang' '--with-x' 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt' 'LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now' 'CPPFLAGS=-D_FORTIFY_SOURCE=2'
$ cat ~/.config/mc/ini
[Midnight-Commander]
verbose=true
shell_patterns=true
auto_save_setup=true
preallocate_space=false
auto_menu=false
use_internal_view=true
use_internal_edit=true
clear_before_exec=true
confirm_delete=true
confirm_overwrite=true
confirm_execute=false
confirm_history_cleanup=true
confirm_exit=false
confirm_directory_hotlist_delete=false
confirm_view_dir=false
safe_delete=false
safe_overwrite=false
use_8th_bit_as_meta=false
mouse_move_pages_viewer=true
mouse_close_dialog=false
fast_refresh=false
drop_menus=false
wrap_mode=true
old_esc_mode=true
cd_symlinks=true
show_all_if_ambiguous=false
use_file_to_guess_type=true
alternate_plus_minus=false
only_leading_plus_minus=true
show_output_starts_shell=false
xtree_mode=false
file_op_compute_totals=true
classic_progressbar=true
use_netrc=true
ftpfs_always_use_proxy=false
ftpfs_use_passive_connections=true
ftpfs_use_passive_connections_over_proxy=false
ftpfs_use_unix_list_options=true
ftpfs_first_cd_then_ls=true
ignore_ftp_chattr_errors=true
editor_fill_tabs_with_spaces=false
editor_return_does_auto_indent=true
editor_backspace_through_tabs=false
editor_fake_half_tabs=true
editor_option_save_position=true
editor_option_auto_para_formatting=false
editor_option_typewriter_wrap=false
editor_edit_confirm_save=true
editor_syntax_highlighting=true
editor_persistent_selections=true
editor_drop_selection_on_copy=true
editor_cursor_beyond_eol=false
editor_cursor_after_inserted_block=false
editor_visible_tabs=true
editor_visible_spaces=true
editor_line_state=false
editor_simple_statusbar=false
editor_check_new_line=false
editor_show_right_margin=false
editor_group_undo=false
editor_state_full_filename=false
editor_ask_filename_before_edit=false
nice_rotating_dash=true
mcview_remember_file_position=false
auto_fill_mkdir_name=true
copymove_persistent_attr=true
pause_after_run=1
mouse_repeat_rate=100
double_click_speed=250
old_esc_mode_timeout=1000000
max_dirt_limit=10
num_history_items_recorded=60
vfs_timeout=60
ftpfs_directory_timeout=900
ftpfs_retry_seconds=30
fish_directory_timeout=900
editor_tab_spacing=8
editor_word_wrap_line_length=72
editor_option_save_mode=0
editor_backup_extension=~
editor_filesize_threshold=64M
editor_stop_format_chars=-+*\\,.;:&>
mcview_eof=
skin=default

filepos_max_saved_entries=1024

shadows=true

[Layout]
message_visible=true
keybar_visible=true
xterm_title=true
output_lines=0
command_prompt=true
menubar_visible=true
free_space=true
horizontal_split=false
vertical_equal=true
left_panel_size=31
horizontal_equal=true
top_panel_size=1

[Misc]
timeformat_recent=%b %e %H:%M
timeformat_old=%b %e  %Y
ftp_proxy_host=gate
ftpfs_password=anonymous@
display_codepage=UTF-8
source_codepage=Other_8_bit
autodetect_codeset=
clipboard_store=
clipboard_paste=

[Colors]
base_color=
xterm-256color=
color_terminals=

linux=

xterm=

[FindFile]
file_case_sens=true
file_shell_pattern=true
file_find_recurs=true
file_skip_hidden=false
file_all_charsets=false
content_case_sens=true
content_regexp=false
content_first_hit=false
content_whole_words=false
content_all_charsets=false
ignore_dirs_enable=true
ignore_dirs=

[HotlistConfig]
expanded_view_of_groups=0

[Panels]
show_mini_info=true
kilobyte_si=false
mix_all_files=false
show_backups=true
show_dot_files=true
fast_reload=false
fast_reload_msg_shown=false
mark_moves_down=true
reverse_files_only=true
auto_save_setup_panels=false
navigate_with_arrows=false
panel_scroll_pages=true
panel_scroll_center=false
mouse_move_pages=true
filetype_mode=true
permission_mode=false
torben_fj_mode=false
quick_search_mode=2
select_flags=6

simple_swap=false

[Panelize]
Find *.orig after patching=find . -name \\*.orig -print
Find SUID and SGID programs=find . \\( \\( -perm -04000 -a -perm /011 \\) -o \\( -perm -02000 -a -perm /01 \\) \\) -print
Find rejects after patching=find . -name \\*.rej -print
Modified git files=git ls-files –modified
$ cat ~/.config/mc/panels.ini

(~/.config/mc/panels.ini is empty)

It could be that ygoldfill #comment:10 holds here. But I am confused because I think that sometimes I get Hebrew reversed. Possibly not with ls output. like I wrote, I am confused about why I think that sometimes Hebrew words are reversed.

Last edited 10 days ago by ZGMxYWFh (previous) (diff)

comment:12 follow-up: ↓ 13 Changed 9 days ago by ZGMxYWFh

More information for my #comment:11:

I have an old linux, from 2017, liveCD in which the problem is not seen. I will provide the details of its mc version, and so on, if requested. However, I think that ygoldfill #comment:10 is more relevant. I also wonder if the root of the problem is the terminal, and its underlying engine.

But before that, I think we should examine the behavior on a Linux virtual console.
I believe many users have Hebrew fonts for the virtual console on their system. Issuing something like

$ setfont /usr/share/kbd/consolefonts/LatArCyrHeb-14.psfu.gz

Which gives Latin, Hebrew, and 2 other character sets, might help. I believe many users have that file on their system. With such fonts used, the behavior I get in the virtual console is that both an ls command from the shell, and mc, display Hebrew file names in reverse, wrong, direction. As if they were written from left to right. Not from right to left, as they should be. The names are also justified to the left. Not what a right to left reader used to. Yet, with the virtual console there is no problem of mc switching the order of the name and size columns. That is the behavior that I get here.

Leaving the virtual console aside, let us return to X-windows.
With X-windows, I have experimented with two different terminals: lxterminal, and xterm. As an side, for the case of an lxterminal, the important piece of software for our matter is, probably, its vte3 virtual terminal emulator. The results I got are that in an lxterminal, both the ls command in the shell, and mc, display Hebrew file names with the correct direction. Yet, mc has the switching columns bug. In contrast, in an xterm, both the ls command in the shell, and mc, display Hebrew file names in the reverse, wrong, direction. But mc does not show the switching columns bug.

Looking again at the 2 screenshots that were posted earlier, ygoodfill screenshot, https://midnight-commander.org/attachment/ticket/4138/Screenshot%20from%202020-10-22%2017-35-43.png, manifests the bug. While the Hebrew file names are displayed as they should be. The names are also justified to the right, as is expected. In contrast, andrew_b screenshot, https://midnight-commander.org/attachment/ticket/4138/Screenshot%20at%202020-10-25%2010-53-10.png, does not manifests the bug. But that screenshot does display the Hebrew file names in the wrong direction. The names are justified to the left, which is not the usual
justification for an Hebrew reader. I wonder on which terminals were those screenshot obtained.

Since andrew_b's screenshot behaves the same as in a Linux virtual console, Can it be that the real problem is that there is no consensus to determine who, that is at which level, should the Right to Left languages get handled? Alternatively, should mc approach this bug by first obtaining a reasonable display at the virtual console?

Last edited 8 days ago by ZGMxYWFh (previous) (diff)

comment:13 in reply to: ↑ 12 ; follow-up: ↓ 14 Changed 8 days ago by andrew_b

Replying to ZGMxYWFh:

andrew_b screenshot, https://midnight-commander.org/attachment/ticket/4138/Screenshot%20at%202020-10-25%2010-53-10.png, does not manifests the bug. But that screenshot does display the Hebrew file names in the wrong direction. The names are justified to the left, which is not the usual justification for an Hebrew reader. I wonder on which terminals were those screenshot obtained.

There was mate-terminal-1.12.1 based on libvte-0.28.2.

comment:14 in reply to: ↑ 13 ; follow-up: ↓ 15 Changed 6 days ago by ZGMxYWFh

Replying to andrew_b:

Replying to ZGMxYWFh:
There was mate-terminal-1.12.1 based on libvte-0.28.2.

sakura is a terminal from an 2017 liveCD, actually liveDVD, I have. It does not manifests the bug. Within sakura, mc displays Hebrew file names justified to the left. As if they were Latin names. And in a LTR, left to right manner. Not RTL, right to left, as Hebrew requires. It uses libvte-2.91. And so does the newer lxterminal, in which I can see the bug. Still, isn't it seem convincing that there is a tie between the bug and the terminal in which mc runs? I have copied the ldd output for my current, 2021Q4, lxterminal at the bottom of this message. It does mention usage of libfribidi. Perhaps this is the cause of the bug?

Other then the ldd output at the bottom of this message, all the following output is for mc 4.8.19 running in the sakura 3.3.4 terminal. That is, with packages from 2017.

$ sakura -v 2|& tail -1 # A liveDVD from 2017
sakura version is 3.3.4
$ ldd /usr/bin/sakura # A liveDVD from 2017
	linux-vdso.so.1 (0x00007ffd6c3fd000)
	libgtk-3.so.0 => /usr/lib/libgtk-3.so.0 (0x00007f62bae53000)
	libgdk-3.so.0 => /usr/lib/libgdk-3.so.0 (0x00007f62bab5d000)
	libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x00007f62ba911000)
	libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x00007f62ba57d000)
	libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007f62ba32b000)
	libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007f62ba018000)
	libvte-2.91.so.0 => /usr/lib/libvte-2.91.so.0 (0x00007f62b9dc3000)
	libc.so.6 => /usr/lib/libc.so.6 (0x00007f62b9a1f000)
	libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00007f62b981b000)
	libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x00007f62b960e000)
	libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f62b92cf000)
	libXi.so.6 => /usr/lib/libXi.so.6 (0x00007f62b90be000)
	libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007f62b8eb8000)
	libcairo-gobject.so.2 => /usr/lib/libcairo-gobject.so.2 (0x00007f62b8caf000)
	libcairo.so.2 => /usr/lib/libcairo.so.2 (0x00007f62b8981000)
	libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x00007f62b875a000)
	libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x00007f62b8534000)
	libatk-bridge-2.0.so.0 => /usr/lib/libatk-bridge-2.0.so.0 (0x00007f62b8305000)
	libepoxy.so.0 => /usr/lib/libepoxy.so.0 (0x00007f62b801f000)
	libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x00007f62b7e0a000)
	libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007f62b7bc6000)
	libm.so.6 => /usr/lib/libm.so.6 (0x00007f62b78b3000)
	libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f62b7695000)
	libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x00007f62b7492000)
	libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x00007f62b7287000)
	libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x00007f62b707c000)
	libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0x00007f62b6e79000)
	libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007f62b6c76000)
	libxkbcommon.so.0 => /usr/lib/libxkbcommon.so.0 (0x00007f62b6a36000)
	libwayland-cursor.so.0 => /usr/lib/libwayland-cursor.so.0 (0x00007f62b682e000)
	libwayland-egl.so.1 => /usr/lib/libwayland-egl.so.1 (0x00007f62b662c000)
	libwayland-client.so.0 => /usr/lib/libwayland-client.so.0 (0x00007f62b641d000)
	libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f62b620b000)
	librt.so.1 => /usr/lib/librt.so.1 (0x00007f62b6003000)
	libthai.so.0 => /usr/lib/libthai.so.0 (0x00007f62b5df9000)
	libz.so.1 => /usr/lib/libz.so.1 (0x00007f62b5be2000)
	libresolv.so.2 => /usr/lib/libresolv.so.2 (0x00007f62b59cc000)
	libmount.so.1 => /usr/lib/libmount.so.1 (0x00007f62b577e000)
	libffi.so.6 => /usr/lib/libffi.so.6 (0x00007f62b5575000)
	libpcre.so.1 => /usr/lib/libpcre.so.1 (0x00007f62b5302000)
	libpcre2-8.so.0 => /usr/lib/libpcre2-8.so.0 (0x00007f62b5088000)
	libgnutls.so.30 => /usr/lib/libgnutls.so.30 (0x00007f62b4d1c000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f62b4994000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f62bb764000)
	libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f62b4790000)
	libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f62b44cf000)
	libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f62b42a6000)
	libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x00007f62b3ffe000)
	libEGL.so.1 => /usr/lib/libEGL.so.1 (0x00007f62b3deb000)
	libpng16.so.16 => /usr/lib/libpng16.so.16 (0x00007f62b3bb5000)
	libxcb-shm.so.0 => /usr/lib/libxcb-shm.so.0 (0x00007f62b39b1000)
	libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x00007f62b37a3000)
	libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00007f62b3598000)
	libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f62b330d000)
	libatspi.so.0 => /usr/lib/libatspi.so.0 (0x00007f62b30dc000)
	libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x00007f62b2e8c000)
	libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0 (0x00007f62b2bfc000)
	libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f62b29d2000)
	libdatrie.so.1 => /usr/lib/libdatrie.so.1 (0x00007f62b27ca000)
	libblkid.so.1 => /usr/lib/libblkid.so.1 (0x00007f62b2584000)
	libuuid.so.1 => /usr/lib/libuuid.so.1 (0x00007f62b237f000)
	libp11-kit.so.0 => /usr/lib/libp11-kit.so.0 (0x00007f62b2050000)
	libunistring.so.2 => /usr/lib/libunistring.so.2 (0x00007f62b1cdf000)
	libtasn1.so.6 => /usr/lib/libtasn1.so.6 (0x00007f62b1acc000)
	libnettle.so.6 => /usr/lib/libnettle.so.6 (0x00007f62b1894000)
	libhogweed.so.4 => /usr/lib/libhogweed.so.4 (0x00007f62b165f000)
	libgmp.so.10 => /usr/lib/libgmp.so.10 (0x00007f62b13cc000)
	libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f62b11b5000)
	libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x00007f62b0fa5000)
	libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f62b0da1000)
	libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f62b0b9b000)
	libGLdispatch.so.0 => /usr/lib/libGLdispatch.so.0 (0x00007f62b08e5000)
	libGLX.so.0 => /usr/lib/libGLX.so.0 (0x00007f62b06b3000)
	libsystemd.so.0 => /usr/lib/libsystemd.so.0 (0x00007f62bb8be000)
	libgraphite2.so.3 => /usr/lib/libgraphite2.so.3 (0x00007f62b0487000)
	libcap.so.2 => /usr/lib/libcap.so.2 (0x00007f62b0283000)
	liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007f62b005d000)
	liblz4.so.1 => /usr/lib/liblz4.so.1 (0x00007f62afe49000)
	libgcrypt.so.20 => /usr/lib/libgcrypt.so.20 (0x00007f62afb3a000)
	libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x00007f62af925000)
$ cat /etc/locale.conf # A liveDVD from 2017
LANG=en_US.UTF-8
$ locale # A liveDVD from 2017
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
$ LC_ALL=C mc -V # A liveDVD from 2017
GNU Midnight Commander 4.8.19
Built with GLib 2.50.3
Using the S-Lang library with terminfo database
With builtin Editor
With subshell support as default
With support for background operations
With mouse support on xterm and Linux console
With support for X11 events
With internationalization support
With multiple codepages support
Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, sftpfs, fish, smbfs
Data types: char: 8; int: 32; long: 64; void *: 64; size_t: 64; off_t: 64;
$ mc --configure-options # A liveDVD from 2017
 '--prefix=/usr' '--libexecdir=/usr/lib' '--sysconfdir=/etc' '--enable-vfs-smb' '--with-x' 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong' 'LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro' 'CPPFLAGS=-D_FORTIFY_SOURCE=2'
$ cat .config/mc/ini # A liveDVD from 2017
[Midnight-Commander]
verbose=true
shell_patterns=true
auto_save_setup=true
preallocate_space=false
auto_menu=false
use_internal_view=true
use_internal_edit=true
clear_before_exec=true
confirm_delete=true
confirm_overwrite=true
confirm_execute=false
confirm_history_cleanup=true
confirm_exit=false
confirm_directory_hotlist_delete=false
confirm_view_dir=false
safe_delete=false
use_8th_bit_as_meta=false
mouse_move_pages_viewer=true
mouse_close_dialog=false
fast_refresh=false
drop_menus=false
wrap_mode=true
old_esc_mode=true
cd_symlinks=true
show_all_if_ambiguous=false
use_file_to_guess_type=true
alternate_plus_minus=false
only_leading_plus_minus=true
show_output_starts_shell=false
xtree_mode=false
file_op_compute_totals=true
classic_progressbar=true
use_netrc=true
ftpfs_always_use_proxy=false
ftpfs_use_passive_connections=true
ftpfs_use_passive_connections_over_proxy=false
ftpfs_use_unix_list_options=true
ftpfs_first_cd_then_ls=true
ignore_ftp_chattr_errors=true
editor_fill_tabs_with_spaces=false
editor_return_does_auto_indent=true
editor_backspace_through_tabs=false
editor_fake_half_tabs=true
editor_option_save_position=true
editor_option_auto_para_formatting=false
editor_option_typewriter_wrap=false
editor_edit_confirm_save=true
editor_syntax_highlighting=true
editor_persistent_selections=true
editor_drop_selection_on_copy=true
editor_cursor_beyond_eol=false
editor_cursor_after_inserted_block=false
editor_visible_tabs=true
editor_visible_spaces=true
editor_line_state=false
editor_simple_statusbar=false
editor_check_new_line=false
editor_show_right_margin=false
editor_group_undo=false
editor_state_full_filename=false
editor_ask_filename_before_edit=false
nice_rotating_dash=true
mcview_remember_file_position=false
auto_fill_mkdir_name=true
copymove_persistent_attr=true
pause_after_run=1
mouse_repeat_rate=100
double_click_speed=250
old_esc_mode_timeout=1000000
max_dirt_limit=10
num_history_items_recorded=60
vfs_timeout=60
ftpfs_directory_timeout=900
ftpfs_retry_seconds=30
fish_directory_timeout=900
editor_tab_spacing=8
editor_word_wrap_line_length=72
editor_option_save_mode=0
editor_backup_extension=~
editor_filesize_threshold=64M
editor_stop_format_chars=-+*\\,.;:&>
mcview_eof=
skin=default

[Layout]
message_visible=1
keybar_visible=1
xterm_title=1
output_lines=0
command_prompt=1
menubar_visible=1
free_space=1
horizontal_split=0
vertical_equal=1
left_panel_size=42
horizontal_equal=1
top_panel_size=1

[Misc]
timeformat_recent=%b %e %H:%M
timeformat_old=%b %e  %Y
ftp_proxy_host=gate
ftpfs_password=anonymous@
display_codepage=UTF-8
source_codepage=Other_8_bit
autodetect_codeset=
clipboard_store=
clipboard_paste=

[Colors]
base_color=
xterm-256color=
color_terminals=

linux=

[Panels]
show_mini_info=true
kilobyte_si=false
mix_all_files=false
show_backups=true
show_dot_files=true
fast_reload=false
fast_reload_msg_shown=false
mark_moves_down=true
reverse_files_only=true
auto_save_setup_panels=false
navigate_with_arrows=false
panel_scroll_pages=true
panel_scroll_center=false
mouse_move_pages=true
filetype_mode=true
permission_mode=false
torben_fj_mode=false
quick_search_mode=2
select_flags=6

[Panelize]
Find *.orig after patching=find . -name \\*.orig -print
Find SUID and SGID programs=find . \\( \\( -perm -04000 -a -perm /011 \\) -o \\( -perm -02000 -a -perm /01 \\) \\) -print
Find rejects after patching=find . -name \\*.rej -print
Modified git files=git ls-files --modified
$ du .config/mc/panels.ini # A liveDVD from 2017
0	.config/mc/panels.ini

So far for the liveDVD from 2017.
The following is for an up to date, 2021Q4, lxterminal.

$ ldd /usr/bin/lxterminal # current, 2021Q4, version
	linux-vdso.so.1 (0x00007ffd68bf4000)
	libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007f97f5273000)
	libgtk-3.so.0 => /usr/lib/libgtk-3.so.0 (0x00007f97f4ac9000)
	libgdk-3.so.0 => /usr/lib/libgdk-3.so.0 (0x00007f97f49d5000)
	libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x00007f97f4983000)
	libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x00007f97f493d000)
	libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007f97f48e3000)
	libvte-2.91.so.0 => /usr/lib/libvte-2.91.so.0 (0x00007f97f4853000)
	libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f97f4712000)
	libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f97f46f1000)
	libc.so.6 => /usr/lib/libc.so.6 (0x00007f97f4525000)
	libpcre.so.1 => /usr/lib/libpcre.so.1 (0x00007f97f44ae000)
	libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00007f97f44a7000)
	libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x00007f97f42e5000)
	libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x00007f97f42d4000)
	libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0 (0x00007f97f41fc000)
	libcairo.so.2 => /usr/lib/libcairo.so.2 (0x00007f97f40dd000)
	libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x00007f97f40c5000)
	libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007f97f4076000)
	libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f97f3faa000)
	libfribidi.so.0 => /usr/lib/libfribidi.so.0 (0x00007f97f3f8a000)
	libcairo-gobject.so.2 => /usr/lib/libcairo-gobject.so.2 (0x00007f97f3f7e000)
	libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x00007f97f3f55000)
	libepoxy.so.0 => /usr/lib/libepoxy.so.0 (0x00007f97f3e23000)
	libm.so.6 => /usr/lib/libm.so.6 (0x00007f97f3cdf000)
	libXi.so.6 => /usr/lib/libXi.so.6 (0x00007f97f3cc9000)
	libatk-bridge-2.0.so.0 => /usr/lib/libatk-bridge-2.0.so.0 (0x00007f97f3c93000)
	libcloudproviders.so.0 => /usr/lib/libcloudproviders.so.0 (0x00007f97f3c7b000)
	libtracker-sparql-3.0.so.0 => /usr/lib/libtracker-sparql-3.0.so.0 (0x00007f97f3bbd000)
	libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007f97f3bb4000)
	librt.so.1 => /usr/lib/librt.so.1 (0x00007f97f3ba9000)
	libxkbcommon.so.0 => /usr/lib/libxkbcommon.so.0 (0x00007f97f3b5e000)
	libwayland-client.so.0 => /usr/lib/libwayland-client.so.0 (0x00007f97f3b4c000)
	libwayland-cursor.so.0 => /usr/lib/libwayland-cursor.so.0 (0x00007f97f3b43000)
	libwayland-egl.so.1 => /usr/lib/libwayland-egl.so.1 (0x00007f97f3b3e000)
	libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f97f3b29000)
	libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x00007f97f3b1d000)
	libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007f97f3b16000)
	libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0x00007f97f3b11000)
	libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x00007f97f3b04000)
	libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x00007f97f3aff000)
	libthai.so.0 => /usr/lib/libthai.so.0 (0x00007f97f3af4000)
	libpng16.so.16 => /usr/lib/libpng16.so.16 (0x00007f97f3abb000)
	libjpeg.so.8 => /usr/lib/libjpeg.so.8 (0x00007f97f3a29000)
	libtiff.so.5 => /usr/lib/libtiff.so.5 (0x00007f97f3995000)
	libffi.so.7 => /usr/lib/libffi.so.7 (0x00007f97f3989000)
	libgnutls.so.30 => /usr/lib/libgnutls.so.30 (0x00007f97f3788000)
	libicuuc.so.69 => /usr/lib/libicuuc.so.69 (0x00007f97f3595000)
	libpcre2-8.so.0 => /usr/lib/libpcre2-8.so.0 (0x00007f97f34fa000)
	libsystemd.so.0 => /usr/lib/libsystemd.so.0 (0x00007f97f3435000)
	libz.so.1 => /usr/lib/libz.so.1 (0x00007f97f341b000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f97f3205000)
	libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f97f31ea000)
	libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f97f31c0000)
	libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f97f31b7000)
	/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f97f53d4000)
	libmount.so.1 => /usr/lib/libmount.so.1 (0x00007f97f3157000)
	libresolv.so.2 => /usr/lib/libresolv.so.2 (0x00007f97f313d000)
	libgraphite2.so.3 => /usr/lib/libgraphite2.so.3 (0x00007f97f3118000)
	libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00007f97f310b000)
	libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x00007f97f30f9000)
	libxcb-shm.so.0 => /usr/lib/libxcb-shm.so.0 (0x00007f97f30f4000)
	libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x00007f97f304c000)
	libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f97f301c000)
	libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x00007f97f3009000)
	libbrotlidec.so.1 => /usr/lib/libbrotlidec.so.1 (0x00007f97f2ffb000)
	libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x00007f97f2fa4000)
	libatspi.so.0 => /usr/lib/libatspi.so.0 (0x00007f97f2f69000)
	libstemmer.so.0 => /usr/lib/libstemmer.so.0 (0x00007f97f2ea2000)
	libicui18n.so.69 => /usr/lib/libicui18n.so.69 (0x00007f97f2b7b000)
	libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0x00007f97f2a36000)
	libjson-glib-1.0.so.0 => /usr/lib/libjson-glib-1.0.so.0 (0x00007f97f2a09000)
	libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00007f97f289b000)
	libdatrie.so.1 => /usr/lib/libdatrie.so.1 (0x00007f97f2891000)
	libzstd.so.1 => /usr/lib/libzstd.so.1 (0x00007f97f2782000)
	liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007f97f2759000)
	libp11-kit.so.0 => /usr/lib/libp11-kit.so.0 (0x00007f97f2622000)
	libidn2.so.0 => /usr/lib/libidn2.so.0 (0x00007f97f2600000)
	libunistring.so.2 => /usr/lib/libunistring.so.2 (0x00007f97f247e000)
	libtasn1.so.6 => /usr/lib/libtasn1.so.6 (0x00007f97f2468000)
	libnettle.so.8 => /usr/lib/libnettle.so.8 (0x00007f97f2421000)
	libhogweed.so.6 => /usr/lib/libhogweed.so.6 (0x00007f97f23d8000)
	libgmp.so.10 => /usr/lib/libgmp.so.10 (0x00007f97f2336000)
	libicudata.so.69 => /usr/lib/libicudata.so.69 (0x00007f97f07dd000)
	liblz4.so.1 => /usr/lib/liblz4.so.1 (0x00007f97f07ba000)
	libcap.so.2 => /usr/lib/libcap.so.2 (0x00007f97f07af000)
	libgcrypt.so.20 => /usr/lib/libgcrypt.so.20 (0x00007f97f0673000)
	libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f97f066c000)
	libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f97f0664000)
	libblkid.so.1 => /usr/lib/libblkid.so.1 (0x00007f97f060e000)
	libbrotlicommon.so.1 => /usr/lib/libbrotlicommon.so.1 (0x00007f97f05eb000)
	libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x00007f97f05c2000)
Last edited 6 days ago by ZGMxYWFh (previous) (diff)

comment:15 in reply to: ↑ 14 Changed 17 hours ago by andrew_b

Replying to ZGMxYWFh:

I have copied the ldd output for my current, 2021Q4, lxterminal at the bottom of this message. It does mention usage of libfribidi. Perhaps this is the cause of the bug?

Definitely yes. I've updated my libvte3 up to 0.58.3 with bidi support enabled and got the swapped name and size columns.
But this swap happens only when the column following the name column is numeric-only (size, inode, ...). If column contains not only digits (perm, mtime, owner, ...), columns are not swapped.

Note: See TracTickets for help on using tickets.