diff -Nru mc-4.8.30/INSTALL mc-4.8.31/INSTALL --- mc-4.8.30/INSTALL 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/INSTALL 2024-01-20 19:34:38.000000000 +0000 @@ -15,7 +15,7 @@ - autoconf >= 2.64 - automake >= 1.12 - libtool -- glib2 >= 2.30 +- glib2 >= 2.32 - slang2 or ncurses - gettext >= 0.18.2 - libssh2 >= 1.2.8 is required only for sftp vfs @@ -171,9 +171,9 @@ (on by default) Support for FTP vfs -`--enable-vfs-fish' +`--enable-vfs-shell' (on by default) - Support for FISH vfs + Support for SHELL vfs `--enable-vfs-sftp' (auto) @@ -367,8 +367,8 @@ ftp://ftp.gnome.org/pub/gnome/sources/glib/ -Minimal version of glib: 2.30.0 -Recommended version: 2.30.x and higher. +Minimal version of glib: 2.32.0 +Recommended version: 2.32.x and higher. Newer versions may work, but haven't been tested. diff -Nru mc-4.8.30/Makefile.in mc-4.8.31/Makefile.in --- mc-4.8.30/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/Makefile.in 2024-01-27 08:25:17.000000000 +0000 @@ -136,7 +136,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/NEWS mc-4.8.31/NEWS --- mc-4.8.30/NEWS 2023-08-06 15:22:16.000000000 +0000 +++ mc-4.8.31/NEWS 2024-01-20 20:07:47.000000000 +0000 @@ -1,3 +1,36 @@ +Version 4.8.31 + +- Core + + * Minimal version of GLib is 2.32.0. + +- VFS + + * fish: drop support of native FISH server and protocol. Rename VFS to shell (#4232) + * extfs; + * uc1541 extfs: update up to 3.6 version (#4511) + * s3+: port to Python3 (#4324) + * Support for LZO/LZOP compression format (#4509) + +- Misc + + * Skins: add color for non-printable characters in editor (#4433) + +- Fixes + + * FTBFS on FreeBSD with ext2fs attribute support (#4493) + * Broken stickchars (-a) mode (#4498) + * Wrong timestamp after resuming of file copy operation (#4499) + * Editor: wrong deletion of marked column (#3761) + * Diff viewer: segfault when display of line numbers is enabled (#4500) + * Tar VFS: broken handling of hard links (#4494) + * Sftp VFS: failure establishing SSH session due hashed host names in ~/.ssh/known_hosts (#4506) + * Shell VFS: incorrect file names with cyrillic or diacritic symbols (#4507) + * mc.ext.ini: incorrect description of of how multiple sections and keys with same names are processed (#4497) + * mc.ext.ini: unescaped backslash \ is treated as invalid escape sequence in glib-2.77.3 and glib-2.79 (#4502) + * mc.ext.ini: file "Makefile.zip" is handled as Makefile not as zip-arhive (#4419) + + Version 4.8.30 - Core diff -Nru mc-4.8.30/README mc-4.8.31/README --- mc-4.8.30/README 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/README 2024-01-20 19:34:38.000000000 +0000 @@ -128,7 +128,7 @@ * The Virtual File System is a cute addition to the project, you may browse in tar and compressed tar files as well as browsing remote - machines with the fish file system. + machines with the shell file system. * Please read the manual page. diff -Nru mc-4.8.30/aclocal.m4 mc-4.8.31/aclocal.m4 --- mc-4.8.30/aclocal.m4 2023-08-13 19:06:59.000000000 +0000 +++ mc-4.8.31/aclocal.m4 2024-01-27 08:25:15.000000000 +0000 @@ -20,8 +20,8 @@ If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -# serial 11 (pkg-config-0.29.1) +# pkg.m4 - Macros to locate and use pkg-config. -*- Autoconf -*- +# serial 12 (pkg-config-0.29.2) dnl Copyright © 2004 Scott James Remnant . dnl Copyright © 2012-2015 Dan Nicholson @@ -63,7 +63,7 @@ dnl See the "Since" comment for each macro you use to see what version dnl of the macros you require. m4_defun([PKG_PREREQ], -[m4_define([PKG_MACROS_VERSION], [0.29.1]) +[m4_define([PKG_MACROS_VERSION], [0.29.2]) m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) ])dnl PKG_PREREQ @@ -108,7 +108,7 @@ dnl PKG_CHECK_MODULES(), but does not set variables or print errors. dnl dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -dnl only at the first occurence in configure.ac, so if the first place +dnl only at the first occurrence in configure.ac, so if the first place dnl it's called might be skipped (such as if it is within an "if", you dnl have to call PKG_CHECK_EXISTS manually AC_DEFUN([PKG_CHECK_EXISTS], @@ -164,7 +164,7 @@ AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no -AC_MSG_CHECKING([for $1]) +AC_MSG_CHECKING([for $2]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) @@ -174,17 +174,17 @@ See the pkg-config man page for more details.]) if test $pkg_failed = yes; then - AC_MSG_RESULT([no]) + AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then - $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` - else - $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` + else + $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD + # Put the nasty error message in config.log where it belongs + echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD - m4_default([$4], [AC_MSG_ERROR( + m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS @@ -195,8 +195,8 @@ _PKG_TEXT])[]dnl ]) elif test $pkg_failed = untried; then - AC_MSG_RESULT([no]) - m4_default([$4], [AC_MSG_FAILURE( + AC_MSG_RESULT([no]) + m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -206,10 +206,10 @@ To get pkg-config, see .])[]dnl ]) else - $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS - $1[]_LIBS=$pkg_cv_[]$1[]_LIBS + $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS + $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) - $3 + $3 fi[]dnl ])dnl PKG_CHECK_MODULES diff -Nru mc-4.8.30/config/config.guess mc-4.8.31/config/config.guess --- mc-4.8.30/config/config.guess 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/config/config.guess 2024-01-27 08:25:17.000000000 +0000 @@ -1,10 +1,10 @@ #!/usr/bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2022 Free Software Foundation, Inc. +# Copyright 1992-2023 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2022-05-25' +timestamp='2023-06-23' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -47,7 +47,7 @@ usage="\ Usage: $0 [OPTION] -Output the configuration name of the system \`$me' is run on. +Output the configuration name of the system '$me' is run on. Options: -h, --help print this help, then exit @@ -60,13 +60,13 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2022 Free Software Foundation, Inc. +Copyright 1992-2023 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" -Try \`$me --help' for more information." +Try '$me --help' for more information." # Parse command line while test $# -gt 0 ; do @@ -102,8 +102,8 @@ # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. +# Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still +# use 'HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. @@ -459,7 +459,7 @@ UNAME_RELEASE=`uname -v` ;; esac - # Japanese Language versions have a version number like `4.1.3-JL'. + # Japanese Language versions have a version number like '4.1.3-JL'. SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` GUESS=sparc-sun-sunos$SUN_REL ;; @@ -966,6 +966,12 @@ GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC ;; + x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*) + GUESS="$UNAME_MACHINE-pc-managarm-mlibc" + ;; + *:[Mm]anagarm:*:*) + GUESS="$UNAME_MACHINE-unknown-managarm-mlibc" + ;; *:Minix:*:*) GUESS=$UNAME_MACHINE-unknown-minix ;; @@ -1036,7 +1042,7 @@ k1om:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; - loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) + loongarch32:Linux:*:* | loongarch64:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; m32r*:Linux:*:*) @@ -1191,7 +1197,7 @@ GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION ;; i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility + # If we were able to find 'uname', then EMX Unix compatibility # is probably installed. GUESS=$UNAME_MACHINE-pc-os2-emx ;; @@ -1332,7 +1338,7 @@ GUESS=ns32k-sni-sysv fi ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + PENTIUM:*:4.0*:*) # Unisys 'ClearPath HMP IX 4000' SVR4/MP effort # says GUESS=i586-unisys-sysv4 ;; diff -Nru mc-4.8.30/config/config.sub mc-4.8.31/config/config.sub --- mc-4.8.30/config/config.sub 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/config/config.sub 2024-01-27 08:25:17.000000000 +0000 @@ -1,10 +1,10 @@ #!/usr/bin/sh # Configuration validation subroutine script. -# Copyright 1992-2022 Free Software Foundation, Inc. +# Copyright 1992-2023 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2022-01-03' +timestamp='2023-06-23' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -76,13 +76,13 @@ version="\ GNU config.sub ($timestamp) -Copyright 1992-2022 Free Software Foundation, Inc. +Copyright 1992-2023 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" -Try \`$me --help' for more information." +Try '$me --help' for more information." # Parse command line while test $# -gt 0 ; do @@ -130,7 +130,7 @@ # Separate into logical components for further validation case $1 in *-*-*-*-*) - echo Invalid configuration \`"$1"\': more than four components >&2 + echo "Invalid configuration '$1': more than four components" >&2 exit 1 ;; *-*-*-*) @@ -145,7 +145,7 @@ nto-qnx* | linux-* | uclinux-uclibc* \ | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ - | storm-chaos* | os2-emx* | rtmk-nova*) + | storm-chaos* | os2-emx* | rtmk-nova* | managarm-*) basic_machine=$field1 basic_os=$maybe_os ;; @@ -943,7 +943,7 @@ EOF IFS=$saved_IFS ;; - # We use `pc' rather than `unknown' + # We use 'pc' rather than 'unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) @@ -1075,7 +1075,7 @@ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) cpu=i586 ;; - pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*) + pentiumpro-* | p6-* | 6x86-* | athlon-* | athlon_*-*) cpu=i686 ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) @@ -1207,7 +1207,7 @@ | k1om \ | le32 | le64 \ | lm32 \ - | loongarch32 | loongarch64 | loongarchx32 \ + | loongarch32 | loongarch64 \ | m32c | m32r | m32rle \ | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \ | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \ @@ -1285,7 +1285,7 @@ ;; *) - echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2 + echo "Invalid configuration '$1': machine '$cpu-$vendor' not recognized" 1>&2 exit 1 ;; esac @@ -1341,6 +1341,10 @@ kernel=linux os=`echo "$basic_os" | sed -e 's|linux|gnu|'` ;; + managarm*) + kernel=managarm + os=`echo "$basic_os" | sed -e 's|managarm|mlibc|'` + ;; *) kernel= os=$basic_os @@ -1754,7 +1758,7 @@ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \ - | fiwix* ) + | fiwix* | mlibc* ) ;; # This one is extra strict with allowed versions sco3.2v2 | sco3.2v[4-9]* | sco5v6*) @@ -1762,8 +1766,11 @@ ;; none) ;; + kernel* ) + # Restricted further below + ;; *) - echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2 + echo "Invalid configuration '$1': OS '$os' not recognized" 1>&2 exit 1 ;; esac @@ -1772,14 +1779,24 @@ # (given a valid OS), if there is a kernel. case $kernel-$os in linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ - | linux-musl* | linux-relibc* | linux-uclibc* ) + | linux-musl* | linux-relibc* | linux-uclibc* | linux-mlibc* ) ;; uclinux-uclibc* ) ;; - -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) + managarm-mlibc* | managarm-kernel* ) + ;; + -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* | -mlibc* ) # These are just libc implementations, not actual OSes, and thus # require a kernel. - echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 + echo "Invalid configuration '$1': libc '$os' needs explicit kernel." 1>&2 + exit 1 + ;; + -kernel* ) + echo "Invalid configuration '$1': '$os' needs explicit kernel." 1>&2 + exit 1 + ;; + *-kernel* ) + echo "Invalid configuration '$1': '$kernel' does not support '$os'." 1>&2 exit 1 ;; kfreebsd*-gnu* | kopensolaris*-gnu*) @@ -1796,7 +1813,7 @@ # Blank kernel with real OS is always fine. ;; *-*) - echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 + echo "Invalid configuration '$1': Kernel '$kernel' not known to work with OS '$os'." 1>&2 exit 1 ;; esac diff -Nru mc-4.8.30/config.h.in mc-4.8.31/config.h.in --- mc-4.8.30/config.h.in 2023-08-13 19:07:01.000000000 +0000 +++ mc-4.8.31/config.h.in 2024-01-27 08:25:16.000000000 +0000 @@ -25,9 +25,6 @@ /* Support for extfs */ #undef ENABLE_VFS_EXTFS -/* Support for FISH vfs */ -#undef ENABLE_VFS_FISH - /* Support for FTP (classic) */ #undef ENABLE_VFS_FTP @@ -40,6 +37,9 @@ /* Support for SFTP filesystem */ #undef ENABLE_VFS_SFTP +/* Support for SHELL vfs */ +#undef ENABLE_VFS_SHELL + /* Support for tar filesystem */ #undef ENABLE_VFS_TAR diff -Nru mc-4.8.30/configure mc-4.8.31/configure --- mc-4.8.30/configure 2023-08-13 19:07:00.000000000 +0000 +++ mc-4.8.31/configure 2024-01-27 08:25:16.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for GNU Midnight Commander 4.8.30-git. +# Generated by GNU Autoconf 2.71 for GNU Midnight Commander 4.8.31-pre1-git. # # Report bugs to . # @@ -621,8 +621,8 @@ # Identity of this package. PACKAGE_NAME='GNU Midnight Commander' PACKAGE_TARNAME='mc' -PACKAGE_VERSION='4.8.30-git' -PACKAGE_STRING='GNU Midnight Commander 4.8.30-git' +PACKAGE_VERSION='4.8.31-pre1-git' +PACKAGE_STRING='GNU Midnight Commander 4.8.31-pre1-git' PACKAGE_BUGREPORT='https://www.midnight-commander.org/wiki/NewTicket' PACKAGE_URL='https://www.midnight-commander.org/' @@ -750,8 +750,8 @@ ENABLE_VFS_SFS_TRUE ENABLE_VFS_FTP_FALSE ENABLE_VFS_FTP_TRUE -ENABLE_VFS_FISH_FALSE -ENABLE_VFS_FISH_TRUE +ENABLE_VFS_SHELL_FALSE +ENABLE_VFS_SHELL_TRUE ENABLE_VFS_EXTFS_FALSE ENABLE_VFS_EXTFS_TRUE HAVE_ZIPINFO @@ -988,7 +988,7 @@ enable_vfs enable_vfs_cpio enable_vfs_extfs -enable_vfs_fish +enable_vfs_shell enable_vfs_ftp enable_vfs_sfs enable_vfs_sftp @@ -1585,7 +1585,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures GNU Midnight Commander 4.8.30-git to adapt to many kinds of systems. +\`configure' configures GNU Midnight Commander 4.8.31-pre1-git to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1660,7 +1660,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of GNU Midnight Commander 4.8.30-git:";; + short | recursive ) echo "Configuration of GNU Midnight Commander 4.8.31-pre1-git:";; esac cat <<\_ACEOF @@ -1697,7 +1697,7 @@ --disable-vfs Disable VFS --enable-vfs-cpio Support for cpio filesystem [yes] --enable-vfs-extfs Support for extfs filesystem [yes] - --enable-vfs-fish Support for FISH filesystem [yes] + --enable-vfs-shell Support for SHELL filesystem [yes] --enable-vfs-ftp Support for FTP filesystem [yes] --enable-vfs-sfs Support for sfs filesystem [yes] --enable-vfs-sftp Support for SFTP filesystem [auto] @@ -1872,7 +1872,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -GNU Midnight Commander configure 4.8.30-git +GNU Midnight Commander configure 4.8.31-pre1-git generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -2477,7 +2477,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by GNU Midnight Commander $as_me 4.8.30-git, which was +It was created by GNU Midnight Commander $as_me 4.8.31-pre1-git, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3764,7 +3764,7 @@ # Define the identity of the package. PACKAGE='mc' - VERSION='4.8.30-git' + VERSION='4.8.31-pre1-git' # Some tools Automake needs. @@ -19153,8 +19153,8 @@ else pkg_failed=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CHECK" >&5 -printf %s "checking for CHECK... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for check >= 0.9.10" >&5 +printf %s "checking for check >= 0.9.10... " >&6; } if test -n "$CHECK_CFLAGS"; then pkg_cv_CHECK_CFLAGS="$CHECK_CFLAGS" @@ -19194,7 +19194,7 @@ if test $pkg_failed = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -19203,12 +19203,12 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - CHECK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "check >= 0.9.10" 2>&1` + CHECK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "check >= 0.9.10" 2>&1` else - CHECK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "check >= 0.9.10" 2>&1` + CHECK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "check >= 0.9.10" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$CHECK_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$CHECK_PKG_ERRORS" >&5 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'Check' testing framework not found. Check your environment" >&5 @@ -19220,7 +19220,7 @@ fi elif test $pkg_failed = untried; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'Check' testing framework not found. Check your environment" >&5 @@ -19232,8 +19232,8 @@ fi else - CHECK_CFLAGS=$pkg_cv_CHECK_CFLAGS - CHECK_LIBS=$pkg_cv_CHECK_LIBS + CHECK_CFLAGS=$pkg_cv_CHECK_CFLAGS + CHECK_LIBS=$pkg_cv_CHECK_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } @@ -19294,19 +19294,19 @@ glib_found=no pkg_failed=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GLIB" >&5 -printf %s "checking for GLIB... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for glib-2.0 >= 2.32" >&5 +printf %s "checking for glib-2.0 >= 2.32... " >&6; } if test -n "$GLIB_CFLAGS"; then pkg_cv_GLIB_CFLAGS="$GLIB_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.30\""; } >&5 - ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.30") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.32\""; } >&5 + ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.32") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GLIB_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.30" 2>/dev/null` + pkg_cv_GLIB_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.32" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -19318,12 +19318,12 @@ pkg_cv_GLIB_LIBS="$GLIB_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.30\""; } >&5 - ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.30") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.32\""; } >&5 + ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.32") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GLIB_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.30" 2>/dev/null` + pkg_cv_GLIB_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.32" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -19335,7 +19335,7 @@ if test $pkg_failed = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -19344,27 +19344,27 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0 >= 2.30" 2>&1` + GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0 >= 2.32" 2>&1` else - GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0 >= 2.30" 2>&1` + GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0 >= 2.32" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$GLIB_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$GLIB_PKG_ERRORS" >&5 - : + : elif test $pkg_failed = untried; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - : + : else - GLIB_CFLAGS=$pkg_cv_GLIB_CFLAGS - GLIB_LIBS=$pkg_cv_GLIB_LIBS + GLIB_CFLAGS=$pkg_cv_GLIB_CFLAGS + GLIB_LIBS=$pkg_cv_GLIB_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } - glib_found=yes + glib_found=yes fi if test x"$glib_found" = xno; then - as_fn_error $? "glib-2.0 not found or version too old (must be >= 2.30)" "$LINENO" 5 + as_fn_error $? "glib-2.0 not found or version too old (must be >= 2.32)" "$LINENO" 5 fi @@ -19375,19 +19375,19 @@ found_gmodule=no pkg_failed=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GMODULE" >&5 -printf %s "checking for GMODULE... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gmodule-no-export-2.0 >= 2.32" >&5 +printf %s "checking for gmodule-no-export-2.0 >= 2.32... " >&6; } if test -n "$GMODULE_CFLAGS"; then pkg_cv_GMODULE_CFLAGS="$GMODULE_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmodule-no-export-2.0 >= 2.30\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gmodule-no-export-2.0 >= 2.30") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmodule-no-export-2.0 >= 2.32\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gmodule-no-export-2.0 >= 2.32") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GMODULE_CFLAGS=`$PKG_CONFIG --cflags "gmodule-no-export-2.0 >= 2.30" 2>/dev/null` + pkg_cv_GMODULE_CFLAGS=`$PKG_CONFIG --cflags "gmodule-no-export-2.0 >= 2.32" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -19399,12 +19399,12 @@ pkg_cv_GMODULE_LIBS="$GMODULE_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmodule-no-export-2.0 >= 2.30\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gmodule-no-export-2.0 >= 2.30") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmodule-no-export-2.0 >= 2.32\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gmodule-no-export-2.0 >= 2.32") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GMODULE_LIBS=`$PKG_CONFIG --libs "gmodule-no-export-2.0 >= 2.30" 2>/dev/null` + pkg_cv_GMODULE_LIBS=`$PKG_CONFIG --libs "gmodule-no-export-2.0 >= 2.32" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -19416,7 +19416,7 @@ if test $pkg_failed = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -19425,43 +19425,43 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - GMODULE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gmodule-no-export-2.0 >= 2.30" 2>&1` + GMODULE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gmodule-no-export-2.0 >= 2.32" 2>&1` else - GMODULE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gmodule-no-export-2.0 >= 2.30" 2>&1` + GMODULE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gmodule-no-export-2.0 >= 2.32" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$GMODULE_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$GMODULE_PKG_ERRORS" >&5 - : + : elif test $pkg_failed = untried; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - : + : else - GMODULE_CFLAGS=$pkg_cv_GMODULE_CFLAGS - GMODULE_LIBS=$pkg_cv_GMODULE_LIBS + GMODULE_CFLAGS=$pkg_cv_GMODULE_CFLAGS + GMODULE_LIBS=$pkg_cv_GMODULE_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } - found_gmodule=yes + found_gmodule=yes fi if test x"$found_gmodule" = xyes; then g_module_supported="gmodule-no-export-2.0" else pkg_failed=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GMODULE" >&5 -printf %s "checking for GMODULE... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gmodule-2.0 >= 2.32" >&5 +printf %s "checking for gmodule-2.0 >= 2.32... " >&6; } if test -n "$GMODULE_CFLAGS"; then pkg_cv_GMODULE_CFLAGS="$GMODULE_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmodule-2.0 >= 2.30\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gmodule-2.0 >= 2.30") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmodule-2.0 >= 2.32\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gmodule-2.0 >= 2.32") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GMODULE_CFLAGS=`$PKG_CONFIG --cflags "gmodule-2.0 >= 2.30" 2>/dev/null` + pkg_cv_GMODULE_CFLAGS=`$PKG_CONFIG --cflags "gmodule-2.0 >= 2.32" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -19473,12 +19473,12 @@ pkg_cv_GMODULE_LIBS="$GMODULE_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmodule-2.0 >= 2.30\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gmodule-2.0 >= 2.30") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmodule-2.0 >= 2.32\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gmodule-2.0 >= 2.32") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GMODULE_LIBS=`$PKG_CONFIG --libs "gmodule-2.0 >= 2.30" 2>/dev/null` + pkg_cv_GMODULE_LIBS=`$PKG_CONFIG --libs "gmodule-2.0 >= 2.32" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -19490,7 +19490,7 @@ if test $pkg_failed = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -19499,24 +19499,24 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - GMODULE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gmodule-2.0 >= 2.30" 2>&1` + GMODULE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gmodule-2.0 >= 2.32" 2>&1` else - GMODULE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gmodule-2.0 >= 2.30" 2>&1` + GMODULE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gmodule-2.0 >= 2.32" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$GMODULE_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$GMODULE_PKG_ERRORS" >&5 - : + : elif test $pkg_failed = untried; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - : + : else - GMODULE_CFLAGS=$pkg_cv_GMODULE_CFLAGS - GMODULE_LIBS=$pkg_cv_GMODULE_LIBS + GMODULE_CFLAGS=$pkg_cv_GMODULE_CFLAGS + GMODULE_LIBS=$pkg_cv_GMODULE_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } - found_gmodule=yes + found_gmodule=yes fi if test x"$found_gmodule" = xyes; then g_module_supported="gmodule-2.0" @@ -19719,8 +19719,8 @@ found_slang=no pkg_failed=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SLANG" >&5 -printf %s "checking for SLANG... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for slang >= 2.0" >&5 +printf %s "checking for slang >= 2.0... " >&6; } if test -n "$SLANG_CFLAGS"; then pkg_cv_SLANG_CFLAGS="$SLANG_CFLAGS" @@ -19760,7 +19760,7 @@ if test $pkg_failed = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -19769,24 +19769,24 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - SLANG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "slang >= 2.0" 2>&1` + SLANG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "slang >= 2.0" 2>&1` else - SLANG_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "slang >= 2.0" 2>&1` + SLANG_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "slang >= 2.0" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$SLANG_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$SLANG_PKG_ERRORS" >&5 - : + : elif test $pkg_failed = untried; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - : + : else - SLANG_CFLAGS=$pkg_cv_SLANG_CFLAGS - SLANG_LIBS=$pkg_cv_SLANG_LIBS + SLANG_CFLAGS=$pkg_cv_SLANG_CFLAGS + SLANG_LIBS=$pkg_cv_SLANG_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } - found_slang=yes + found_slang=yes fi if test x"$found_slang" = xno; then as_fn_error $? "S-Lang >= 2.0.0 library not found" "$LINENO" 5 @@ -27337,8 +27337,8 @@ pkg_failed=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for EXT2FS" >&5 -printf %s "checking for EXT2FS... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ext2fs >= 1.42.4" >&5 +printf %s "checking for ext2fs >= 1.42.4... " >&6; } if test -n "$EXT2FS_CFLAGS"; then pkg_cv_EXT2FS_CFLAGS="$EXT2FS_CFLAGS" @@ -27378,7 +27378,7 @@ if test $pkg_failed = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -27387,31 +27387,31 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - EXT2FS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "ext2fs >= 1.42.4" 2>&1` + EXT2FS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "ext2fs >= 1.42.4" 2>&1` else - EXT2FS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "ext2fs >= 1.42.4" 2>&1` + EXT2FS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "ext2fs >= 1.42.4" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$EXT2FS_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$EXT2FS_PKG_ERRORS" >&5 - : + : elif test $pkg_failed = untried; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - : + : else - EXT2FS_CFLAGS=$pkg_cv_EXT2FS_CFLAGS - EXT2FS_LIBS=$pkg_cv_EXT2FS_LIBS + EXT2FS_CFLAGS=$pkg_cv_EXT2FS_CFLAGS + EXT2FS_LIBS=$pkg_cv_EXT2FS_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } - found_ext2fs=yes + found_ext2fs=yes fi if test x"$found_ext2fs" = "xyes"; then pkg_failed=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for E2P" >&5 -printf %s "checking for E2P... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for e2p >= 1.42.4" >&5 +printf %s "checking for e2p >= 1.42.4... " >&6; } if test -n "$E2P_CFLAGS"; then pkg_cv_E2P_CFLAGS="$E2P_CFLAGS" @@ -27451,7 +27451,7 @@ if test $pkg_failed = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -27460,33 +27460,32 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - E2P_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "e2p >= 1.42.4" 2>&1` + E2P_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "e2p >= 1.42.4" 2>&1` else - E2P_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "e2p >= 1.42.4" 2>&1` + E2P_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "e2p >= 1.42.4" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$E2P_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$E2P_PKG_ERRORS" >&5 - : + : elif test $pkg_failed = untried; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - : + : else - E2P_CFLAGS=$pkg_cv_E2P_CFLAGS - E2P_LIBS=$pkg_cv_E2P_LIBS + E2P_CFLAGS=$pkg_cv_E2P_CFLAGS + E2P_LIBS=$pkg_cv_E2P_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } - found_e2p=yes + found_e2p=yes fi if test x"$found_e2p" = "xyes"; then printf "%s\n" "#define ENABLE_EXT2FS_ATTR 1" >>confdefs.h - - MCLIBS="$MCLIBS $E2P_LIBS" + CPPFLAGS="$CPPFLAGS $EXT2FS_CFLAGS $E2P_CFLAGS" ext2fs_attr_msg="yes" else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: e2p library not found or version too old (must be >= 1.42.4)" >&5 @@ -27707,31 +27706,31 @@ - # Check whether --enable-vfs-fish was given. -if test ${enable_vfs_fish+y} + # Check whether --enable-vfs-shell was given. +if test ${enable_vfs_shell+y} then : - enableval=$enable_vfs_fish; + enableval=$enable_vfs_shell; fi - if test "$enable_vfs" = "yes" -a "x$enable_vfs_fish" != xno; then - enable_vfs_fish="yes" + if test "$enable_vfs" = "yes" -a "x$enable_vfs_shell" != xno; then + enable_vfs_shell="yes" if test x"$vfs_flags" = "x" ; then - vfs_flags="fish" + vfs_flags="shell" else - vfs_flags="$vfs_flags, fish" + vfs_flags="$vfs_flags, shell" fi -printf "%s\n" "#define ENABLE_VFS_FISH 1" >>confdefs.h +printf "%s\n" "#define ENABLE_VFS_SHELL 1" >>confdefs.h fi - if test "$enable_vfs" = "yes" -a x"$enable_vfs_fish" = x"yes"; then - ENABLE_VFS_FISH_TRUE= - ENABLE_VFS_FISH_FALSE='#' + if test "$enable_vfs" = "yes" -a x"$enable_vfs_shell" = x"yes"; then + ENABLE_VFS_SHELL_TRUE= + ENABLE_VFS_SHELL_FALSE='#' else - ENABLE_VFS_FISH_TRUE='#' - ENABLE_VFS_FISH_FALSE= + ENABLE_VFS_SHELL_TRUE='#' + ENABLE_VFS_SHELL_FALSE= fi @@ -27803,8 +27802,8 @@ if test "$enable_vfs" != "no" -a x"$enable_vfs_sftp" != x"no"; then pkg_failed=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for LIBSSH" >&5 -printf %s "checking for LIBSSH... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libssh2 >= 1.2.8" >&5 +printf %s "checking for libssh2 >= 1.2.8... " >&6; } if test -n "$LIBSSH_CFLAGS"; then pkg_cv_LIBSSH_CFLAGS="$LIBSSH_CFLAGS" @@ -27844,7 +27843,7 @@ if test $pkg_failed = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -27853,24 +27852,24 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - LIBSSH_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libssh2 >= 1.2.8" 2>&1` + LIBSSH_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libssh2 >= 1.2.8" 2>&1` else - LIBSSH_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libssh2 >= 1.2.8" 2>&1` + LIBSSH_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libssh2 >= 1.2.8" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$LIBSSH_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$LIBSSH_PKG_ERRORS" >&5 - : + : elif test $pkg_failed = untried; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - : + : else - LIBSSH_CFLAGS=$pkg_cv_LIBSSH_CFLAGS - LIBSSH_LIBS=$pkg_cv_LIBSSH_LIBS + LIBSSH_CFLAGS=$pkg_cv_LIBSSH_CFLAGS + LIBSSH_LIBS=$pkg_cv_LIBSSH_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } - found_libssh=yes + found_libssh=yes fi if test x"$found_libssh" = "xyes"; then @@ -27956,8 +27955,8 @@ pkg_failed=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for COM_ERR" >&5 -printf %s "checking for COM_ERR... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for com_err >= 1.42.4" >&5 +printf %s "checking for com_err >= 1.42.4... " >&6; } if test -n "$COM_ERR_CFLAGS"; then pkg_cv_COM_ERR_CFLAGS="$COM_ERR_CFLAGS" @@ -27997,7 +27996,7 @@ if test $pkg_failed = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -28006,24 +28005,24 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - COM_ERR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "com_err >= 1.42.4" 2>&1` + COM_ERR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "com_err >= 1.42.4" 2>&1` else - COM_ERR_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "com_err >= 1.42.4" 2>&1` + COM_ERR_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "com_err >= 1.42.4" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$COM_ERR_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$COM_ERR_PKG_ERRORS" >&5 - : + : elif test $pkg_failed = untried; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - : + : else - COM_ERR_CFLAGS=$pkg_cv_COM_ERR_CFLAGS - COM_ERR_LIBS=$pkg_cv_COM_ERR_LIBS + COM_ERR_CFLAGS=$pkg_cv_COM_ERR_CFLAGS + COM_ERR_LIBS=$pkg_cv_COM_ERR_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } - com_err=yes + com_err=yes fi if test x"$com_err" = "xyes"; then @@ -28072,7 +28071,7 @@ fi - if test x"$enable_vfs_ftp" = x"yes" -o x"$enable_vfs_fish" = x"yes" -o x"$enable_vfs_sftp" = x"yes"; then + if test x"$enable_vfs_ftp" = x"yes" -o x"$enable_vfs_shell" = x"yes" -o x"$enable_vfs_sftp" = x"yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing socket" >&5 @@ -30538,7 +30537,7 @@ ac_config_files="$ac_config_files src/man2hlp/man2hlp" -ac_config_files="$ac_config_files Makefile contrib/Makefile misc/Makefile misc/mc.charsets misc/mc.menu misc/mcedit.menu misc/skins/Makefile misc/ext.d/Makefile misc/ext.d/doc.sh misc/ext.d/misc.sh misc/ext.d/text.sh misc/ext.d/web.sh misc/macros.d/Makefile misc/mc.ext.ini src/Makefile src/consaver/Makefile src/editor/Makefile src/man2hlp/Makefile src/subshell/Makefile src/viewer/Makefile src/diffviewer/Makefile src/filemanager/Makefile src/vfs/Makefile src/vfs/cpio/Makefile src/vfs/extfs/Makefile src/vfs/extfs/helpers/Makefile src/vfs/extfs/helpers/a+ src/vfs/extfs/helpers/apt+ src/vfs/extfs/helpers/audio src/vfs/extfs/helpers/deb src/vfs/extfs/helpers/deba src/vfs/extfs/helpers/debd src/vfs/extfs/helpers/dpkg+ src/vfs/extfs/helpers/iso9660 src/vfs/extfs/helpers/hp48+ src/vfs/extfs/helpers/lslR src/vfs/extfs/helpers/mailfs src/vfs/extfs/helpers/patchfs src/vfs/extfs/helpers/rpms+ src/vfs/extfs/helpers/s3+ src/vfs/extfs/helpers/uace src/vfs/extfs/helpers/ualz src/vfs/extfs/helpers/uar src/vfs/extfs/helpers/uarc src/vfs/extfs/helpers/uarj src/vfs/extfs/helpers/ucab src/vfs/extfs/helpers/uha src/vfs/extfs/helpers/ulha src/vfs/extfs/helpers/ulib src/vfs/extfs/helpers/unar src/vfs/extfs/helpers/urar src/vfs/extfs/helpers/uwim src/vfs/extfs/helpers/uzip src/vfs/extfs/helpers/uzoo src/vfs/fish/Makefile src/vfs/fish/helpers/Makefile src/vfs/ftpfs/Makefile src/vfs/sftpfs/Makefile src/vfs/local/Makefile src/vfs/sfs/Makefile src/vfs/tar/Makefile src/vfs/undelfs/Makefile lib/Makefile lib/event/Makefile lib/filehighlight/Makefile lib/mcconfig/Makefile lib/search/Makefile lib/skin/Makefile lib/strutil/Makefile lib/tty/Makefile lib/vfs/Makefile lib/widget/Makefile misc/syntax/Makefile doc/Makefile doc/hints/Makefile doc/hints/l10n/Makefile doc/man/Makefile doc/man/es/Makefile doc/man/hu/Makefile doc/man/it/Makefile doc/man/pl/Makefile doc/man/ru/Makefile doc/man/sr/Makefile doc/hlp/Makefile doc/hlp/es/Makefile doc/hlp/hu/Makefile doc/hlp/it/Makefile doc/hlp/pl/Makefile doc/hlp/ru/Makefile doc/hlp/sr/Makefile po/Makefile.in" +ac_config_files="$ac_config_files Makefile contrib/Makefile misc/Makefile misc/mc.charsets misc/mc.menu misc/mcedit.menu misc/skins/Makefile misc/ext.d/Makefile misc/ext.d/doc.sh misc/ext.d/misc.sh misc/ext.d/text.sh misc/ext.d/web.sh misc/macros.d/Makefile misc/mc.ext.ini src/Makefile src/consaver/Makefile src/editor/Makefile src/man2hlp/Makefile src/subshell/Makefile src/viewer/Makefile src/diffviewer/Makefile src/filemanager/Makefile src/vfs/Makefile src/vfs/cpio/Makefile src/vfs/extfs/Makefile src/vfs/extfs/helpers/Makefile src/vfs/extfs/helpers/a+ src/vfs/extfs/helpers/apt+ src/vfs/extfs/helpers/audio src/vfs/extfs/helpers/deb src/vfs/extfs/helpers/deba src/vfs/extfs/helpers/debd src/vfs/extfs/helpers/dpkg+ src/vfs/extfs/helpers/iso9660 src/vfs/extfs/helpers/hp48+ src/vfs/extfs/helpers/lslR src/vfs/extfs/helpers/mailfs src/vfs/extfs/helpers/patchfs src/vfs/extfs/helpers/rpms+ src/vfs/extfs/helpers/s3+ src/vfs/extfs/helpers/uace src/vfs/extfs/helpers/ualz src/vfs/extfs/helpers/uar src/vfs/extfs/helpers/uarc src/vfs/extfs/helpers/uarj src/vfs/extfs/helpers/ucab src/vfs/extfs/helpers/uha src/vfs/extfs/helpers/ulha src/vfs/extfs/helpers/ulib src/vfs/extfs/helpers/unar src/vfs/extfs/helpers/urar src/vfs/extfs/helpers/uwim src/vfs/extfs/helpers/uzip src/vfs/extfs/helpers/uzoo src/vfs/shell/Makefile src/vfs/shell/helpers/Makefile src/vfs/ftpfs/Makefile src/vfs/sftpfs/Makefile src/vfs/local/Makefile src/vfs/sfs/Makefile src/vfs/tar/Makefile src/vfs/undelfs/Makefile lib/Makefile lib/event/Makefile lib/filehighlight/Makefile lib/mcconfig/Makefile lib/search/Makefile lib/skin/Makefile lib/strutil/Makefile lib/tty/Makefile lib/vfs/Makefile lib/widget/Makefile misc/syntax/Makefile doc/Makefile doc/hints/Makefile doc/hints/l10n/Makefile doc/man/Makefile doc/man/es/Makefile doc/man/hu/Makefile doc/man/it/Makefile doc/man/pl/Makefile doc/man/ru/Makefile doc/man/sr/Makefile doc/hlp/Makefile doc/hlp/es/Makefile doc/hlp/hu/Makefile doc/hlp/it/Makefile doc/hlp/pl/Makefile doc/hlp/ru/Makefile doc/hlp/sr/Makefile po/Makefile.in" ac_config_files="$ac_config_files misc/syntax/Syntax" @@ -30720,8 +30719,8 @@ as_fn_error $? "conditional \"ENABLE_VFS_EXTFS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${ENABLE_VFS_FISH_TRUE}" && test -z "${ENABLE_VFS_FISH_FALSE}"; then - as_fn_error $? "conditional \"ENABLE_VFS_FISH\" was never defined. +if test -z "${ENABLE_VFS_SHELL_TRUE}" && test -z "${ENABLE_VFS_SHELL_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_VFS_SHELL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${ENABLE_VFS_FTP_TRUE}" && test -z "${ENABLE_VFS_FTP_FALSE}"; then @@ -31266,7 +31265,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by GNU Midnight Commander $as_me 4.8.30-git, which was +This file was extended by GNU Midnight Commander $as_me 4.8.31-pre1-git, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -31336,7 +31335,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -GNU Midnight Commander config.status 4.8.30-git +GNU Midnight Commander config.status 4.8.31-pre1-git configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" @@ -31818,8 +31817,8 @@ "src/vfs/extfs/helpers/uwim") CONFIG_FILES="$CONFIG_FILES src/vfs/extfs/helpers/uwim" ;; "src/vfs/extfs/helpers/uzip") CONFIG_FILES="$CONFIG_FILES src/vfs/extfs/helpers/uzip" ;; "src/vfs/extfs/helpers/uzoo") CONFIG_FILES="$CONFIG_FILES src/vfs/extfs/helpers/uzoo" ;; - "src/vfs/fish/Makefile") CONFIG_FILES="$CONFIG_FILES src/vfs/fish/Makefile" ;; - "src/vfs/fish/helpers/Makefile") CONFIG_FILES="$CONFIG_FILES src/vfs/fish/helpers/Makefile" ;; + "src/vfs/shell/Makefile") CONFIG_FILES="$CONFIG_FILES src/vfs/shell/Makefile" ;; + "src/vfs/shell/helpers/Makefile") CONFIG_FILES="$CONFIG_FILES src/vfs/shell/helpers/Makefile" ;; "src/vfs/ftpfs/Makefile") CONFIG_FILES="$CONFIG_FILES src/vfs/ftpfs/Makefile" ;; "src/vfs/sftpfs/Makefile") CONFIG_FILES="$CONFIG_FILES src/vfs/sftpfs/Makefile" ;; "src/vfs/local/Makefile") CONFIG_FILES="$CONFIG_FILES src/vfs/local/Makefile" ;; diff -Nru mc-4.8.30/configure.ac mc-4.8.31/configure.ac --- mc-4.8.30/configure.ac 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/configure.ac 2024-01-20 19:34:38.000000000 +0000 @@ -654,8 +654,8 @@ src/vfs/extfs/helpers/uzip src/vfs/extfs/helpers/uzoo -src/vfs/fish/Makefile -src/vfs/fish/helpers/Makefile +src/vfs/shell/Makefile +src/vfs/shell/helpers/Makefile src/vfs/ftpfs/Makefile diff -Nru mc-4.8.30/contrib/Makefile.in mc-4.8.31/contrib/Makefile.in --- mc-4.8.30/contrib/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/contrib/Makefile.in 2024-01-27 08:25:17.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/debian/changelog mc-4.8.31/debian/changelog --- mc-4.8.30/debian/changelog 2023-08-24 11:34:48.000000000 +0000 +++ mc-4.8.31/debian/changelog 2024-02-16 10:37:23.000000000 +0000 @@ -1,3 +1,9 @@ +mc (3:4.8.31-1~simonarons) jammy; urgency=medium + + * New upstream release. + + -- Simon Arons Fri, 16 Feb 2024 11:37:23 +0100 + mc (3:4.8.30-1~simonarons) jammy; urgency=medium * New upstream release. diff -Nru mc-4.8.30/debian/patches/ext_use_default_editor.patch mc-4.8.31/debian/patches/ext_use_default_editor.patch --- mc-4.8.30/debian/patches/ext_use_default_editor.patch 2023-08-24 11:25:12.000000000 +0000 +++ mc-4.8.31/debian/patches/ext_use_default_editor.patch 2024-02-16 10:37:13.000000000 +0000 @@ -1,11 +1,10 @@ -Last-Update: 2013-04-03 -Author: Dmitry Smirnov +Last-Update: 2024-02-16 Forwarded: not-needed Description: Use default editor instead of vi --- a/misc/mc.ext.ini.in +++ b/misc/mc.ext.ini.in -@@ -1114,7 +1114,7 @@ +@@ -1149,7 +1149,7 @@ View=%view{ascii} @EXTHELPERSDIR@/archive.sh view cpio [Include/editor] diff -Nru mc-4.8.30/debian/patches/series mc-4.8.31/debian/patches/series --- mc-4.8.30/debian/patches/series 2023-08-24 11:30:59.000000000 +0000 +++ mc-4.8.31/debian/patches/series 2024-02-16 10:37:13.000000000 +0000 @@ -2,9 +2,9 @@ dummy-zip-password.patch alt_editor.patch use_sensible-editor.patch -use_parallel_bzip2.patch ## OVERRIDE DEFAULTS: disable_internal_editor.patch ext_run-mailcap.patch ext_use_default_editor.patch +use_parallel_bzip2.patch diff -Nru mc-4.8.30/debian/patches/use_parallel_bzip2.patch mc-4.8.31/debian/patches/use_parallel_bzip2.patch --- mc-4.8.30/debian/patches/use_parallel_bzip2.patch 2023-08-24 11:34:48.000000000 +0000 +++ mc-4.8.31/debian/patches/use_parallel_bzip2.patch 2024-02-16 10:37:13.000000000 +0000 @@ -1,6 +1,21 @@ ---- a/misc/ext.d/archive.sh -+++ b/misc/ext.d/archive.sh -@@ -18,10 +18,10 @@ +Index: mc-4.8.31/src/editor/edit.c +=================================================================== +--- mc-4.8.31.orig/src/editor/edit.c ++++ mc-4.8.31/src/editor/edit.c +@@ -143,7 +143,7 @@ static const struct edit_filters + { "lzip -cd %s 2>&1", "lzip > %s", ".lz"}, + { "lzma -cd %s 2>&1", "lzma > %s", ".lzma" }, + { "lzop -cd %s 2>&1", "lzop > %s", ".lzo"}, +- { "bzip2 -cd %s 2>&1", "bzip2 > %s", ".bz2" }, ++ { "lbzip2 -cd %s 2>&1", "lbzip2 > %s", ".bz2" }, + { "gzip -cd %s 2>&1", "gzip > %s", ".gz" }, + { "gzip -cd %s 2>&1", "gzip > %s", ".Z" } + /* *INDENT-ON* */ +Index: mc-4.8.31/misc/ext.d/archive.sh +=================================================================== +--- mc-4.8.31.orig/misc/ext.d/archive.sh ++++ mc-4.8.31/misc/ext.d/archive.sh +@@ -18,10 +18,10 @@ do_view_action() { gzip -dc "${MC_EXT_FILENAME}" 2>/dev/null ;; bz2) @@ -13,12 +28,7 @@ ;; lz) lzip -dc "${MC_EXT_FILENAME}" 2>/dev/null -@@ -46,11 +46,11 @@ - tar tvvf - - ;; - tar.bzip) -- bzip -dc "${MC_EXT_FILENAME}" 2>/dev/null | \ -+ lbzip2 -dc "${MC_EXT_FILENAME}" 2>/dev/null | \ +@@ -53,7 +53,7 @@ do_view_action() { tar tvvf - ;; tar.bzip2) @@ -27,7 +37,7 @@ tar tvvf - ;; tar.lz) -@@ -160,10 +160,10 @@ +@@ -171,7 +171,7 @@ do_open_action() { case "${filetype}" in bzip2) @@ -35,47 +45,25 @@ + lbzip2 -dc "${MC_EXT_FILENAME}" | ${pager} ;; bzip) -- bzip -dc "${MC_EXT_FILENAME}" | ${pager} -+ lbzip2 -dc "${MC_EXT_FILENAME}" | ${pager} - ;; - gz) - gz -dc "${MC_EXT_FILENAME}" | ${pager} ---- a/src/editor/edit.c -+++ b/src/editor/edit.c -@@ -142,7 +142,7 @@ - { "lz4 -cd %s 2>&1", "lz4 > %s", ".lz4" }, - { "lzip -cd %s 2>&1", "lzip > %s", ".lz"}, - { "lzma -cd %s 2>&1", "lzma > %s", ".lzma" }, -- { "bzip2 -cd %s 2>&1", "bzip2 > %s", ".bz2" }, -+ { "lbzip2 -cd %s 2>&1", "lbzip2 > %s", ".bz2" }, - { "gzip -cd %s 2>&1", "gzip > %s", ".gz" }, - { "gzip -cd %s 2>&1", "gzip > %s", ".Z" } - /* *INDENT-ON* */ ---- a/src/vfs/extfs/helpers/iso9660.in -+++ b/src/vfs/extfs/helpers/iso9660.in -@@ -134,7 +134,7 @@ - *.lzma) MYCAT="lzma -dc";; - *.xz) MYCAT="xz -dc";; - *.zst) MYCAT="zstd -dc";; -- *.bz2) MYCAT="bzip2 -dc";; -+ *.bz2) MYCAT="lbzip2 -dc";; - *.gz) MYCAT="gzip -dc";; - *.z) MYCAT="gzip -dc";; - *.Z) MYCAT="gzip -dc";; ---- a/src/vfs/extfs/helpers/lslR.in -+++ b/src/vfs/extfs/helpers/lslR.in -@@ -17,7 +17,7 @@ - *.lzma) MYCAT="lzma -dc";; - *.xz) MYCAT="xz -dc";; - *.zst) MYCAT="zstd -dc";; -- *.bz2) MYCAT="bzip2 -dc";; -+ *.bz2) MYCAT="lbzip2 -dc";; - *.gz) MYCAT="gzip -dc";; - *.z) MYCAT="gzip -dc";; - *.Z) MYCAT="gzip -dc";; ---- a/misc/mc.menu.in -+++ b/misc/mc.menu.in -@@ -63,7 +63,7 @@ + bzip -dc "${MC_EXT_FILENAME}" | ${pager} +Index: mc-4.8.31/misc/ext.d/text.sh.in +=================================================================== +--- mc-4.8.31.orig/misc/ext.d/text.sh.in ++++ mc-4.8.31/misc/ext.d/text.sh.in +@@ -20,7 +20,7 @@ get_unpacker() { + unpacker="bzip -dc" + ;; + man.bz2) +- unpacker="bzip2 -dc" ++ unpacker="lbzip2 -dc" + ;; + man.lz) + unpacker="lzip -dc" +Index: mc-4.8.31/misc/mc.menu.in +=================================================================== +--- mc-4.8.31.orig/misc/mc.menu.in ++++ mc-4.8.31/misc/mc.menu.in +@@ -63,7 +63,7 @@ shell_patterns=0 read tar [ "$tar"x = x ] && tar="$Pwd" cd .. && \ @@ -84,7 +72,7 @@ echo "../$tar.tar.bz2 created." 5 Compress the current subdirectory (tar.7z) -@@ -233,7 +233,7 @@ +@@ -242,7 +242,7 @@ x Extract the contents of a compre unset PRG case %f in *.tar.7z) PRG="7za e -so";; @@ -93,7 +81,7 @@ *.tar.gz|*.tar.z|*.tgz|*.tpz|*.tar.Z) PRG="gzip -dc";; *.tar.lz) PRG="lzip -dc";; *.tar.lz4) PRG="lz4 -dc";; -@@ -270,7 +270,7 @@ +@@ -280,7 +280,7 @@ b Bzip2 or bunzip2 current file case %f in *.bz2) DECOMP=-d;; esac @@ -102,7 +90,7 @@ + t t B Bzip2 or bunzip2 tagged files -@@ -279,7 +279,7 @@ +@@ -289,7 +289,7 @@ B Bzip2 or bunzip2 tagged files case "$i" in *.bz2) DECOMP=-d;; esac @@ -111,7 +99,7 @@ done + f \.tar.gz$ | f \.tgz$ | f \.tpz$ | f \.tar.Z$ | f \.tar.z$ | f \.tar.bz2$ | f \.tar.F$ & t r & ! t t -@@ -289,7 +289,7 @@ +@@ -299,7 +299,7 @@ z Extract compressed tar file to s case %f in *.tar.F) D=`basename %f .tar.F`; set freeze -dc;; *.tar.Z) D=`basename %f .tar.Z`;; @@ -120,7 +108,7 @@ *.tar.gz) D=`basename %f .tar.gz`;; *.tar.z) D=`basename %f .tar.z`;; *.tgz) D=`basename %f .tgz`;; -@@ -305,7 +305,7 @@ +@@ -315,7 +315,7 @@ Z Extract compressed tar files to case "$i" in *.tar.F) D=`basename "$i" .tar.F`; set freeze -dc;; *.tar.Z) D=`basename "$i" .tar.Z`;; @@ -129,7 +117,7 @@ *.tar.gz) D=`basename "$i" .tar.gz`;; *.tar.z) D=`basename "$i" .tar.z`;; *.tgz) D=`basename "$i" .tgz`;; -@@ -331,11 +331,11 @@ +@@ -341,11 +341,11 @@ c Convert gz<->bz2, tar.gz<->tar.b tgz|tpz) D=`basename %f ."$EXT"`.tar;; esac if [ "$EXT" = "bz2" ]; then @@ -143,7 +131,7 @@ fi + t t -@@ -356,11 +356,11 @@ +@@ -366,11 +366,11 @@ C Convert gz<->bz2, tar.gz<->tar.b tgz|tpz) D=`basename "$i" ."$EXT"`.tar;; esac if [ "$EXT" = "bz2" ]; then @@ -157,9 +145,63 @@ fi done ---- a/src/vfs/sfs/sfs.ini -+++ b/src/vfs/sfs/sfs.ini -@@ -8,8 +8,8 @@ +Index: mc-4.8.31/src/vfs/extfs/helpers/iso9660.in +=================================================================== +--- mc-4.8.31.orig/src/vfs/extfs/helpers/iso9660.in ++++ mc-4.8.31/src/vfs/extfs/helpers/iso9660.in +@@ -135,7 +135,7 @@ mcisofs_list () { + *.lzo) MYCAT="lzop -dc";; + *.xz) MYCAT="xz -dc";; + *.zst) MYCAT="zstd -dc";; +- *.bz2) MYCAT="bzip2 -dc";; ++ *.bz2) MYCAT="lbzip2 -dc";; + *.gz) MYCAT="gzip -dc";; + *.z) MYCAT="gzip -dc";; + *.Z) MYCAT="gzip -dc";; +Index: mc-4.8.31/src/vfs/extfs/helpers/lslR.in +=================================================================== +--- mc-4.8.31.orig/src/vfs/extfs/helpers/lslR.in ++++ mc-4.8.31/src/vfs/extfs/helpers/lslR.in +@@ -18,7 +18,7 @@ case "$1" in + *.lzo) MYCAT="lzop -dc";; + *.xz) MYCAT="xz -dc";; + *.zst) MYCAT="zstd -dc";; +- *.bz2) MYCAT="bzip2 -dc";; ++ *.bz2) MYCAT="lbzip2 -dc";; + *.gz) MYCAT="gzip -dc";; + *.z) MYCAT="gzip -dc";; + *.Z) MYCAT="gzip -dc";; +Index: mc-4.8.31/src/vfs/extfs/helpers/mailfs.in +=================================================================== +--- mc-4.8.31.orig/src/vfs/extfs/helpers/mailfs.in ++++ mc-4.8.31/src/vfs/extfs/helpers/mailfs.in +@@ -7,7 +7,7 @@ use warnings; + # Peter Daum (Jan 1998, mc-4.1.24) + + $zcat="zcat"; # gunzip to stdout +-$bzcat="bzip2 -dc"; # bunzip2 to stdout ++$bzcat="lbzip2 -dc"; # bunzip2 to stdout + $lzipcat="lzip -dc"; # unlzip to stdout + $lz4cat="lz4 -dc"; # unlz4 to stdout + $lzcat="lzma -dc"; # unlzma to stdout +Index: mc-4.8.31/src/vfs/extfs/helpers/patchfs.in +=================================================================== +--- mc-4.8.31.orig/src/vfs/extfs/helpers/patchfs.in ++++ mc-4.8.31/src/vfs/extfs/helpers/patchfs.in +@@ -20,7 +20,7 @@ my $lzma = 'lzma'; + my $lzo = 'lzop'; + my $xz = 'xz'; + my $zstd = 'zstd'; +-my $bzip = 'bzip2'; ++my $bzip = 'lbzip2'; + my $gzip = 'gzip'; + my $fileutil = 'file -b'; + +Index: mc-4.8.31/src/vfs/sfs/sfs.ini +=================================================================== +--- mc-4.8.31.orig/src/vfs/sfs/sfs.ini ++++ mc-4.8.31/src/vfs/sfs/sfs.ini +@@ -8,8 +8,8 @@ gz/1 gzip < %1 > %3 ugz/1 gzip -cdf < %1 > %3 bz/1 bzip < %1 > %3 ubz/1 bzip -d < %1 > %3 diff -Nru mc-4.8.30/doc/FAQ mc-4.8.31/doc/FAQ --- mc-4.8.30/doc/FAQ 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/doc/FAQ 2024-01-20 19:34:38.000000000 +0000 @@ -152,7 +152,7 @@ You need a POSIX (Unix compatible) operating system. If you are running Windows, use Cygwin. - To compile any edition you need to have glib >= 2.30 installed. + To compile any edition you need to have glib >= 2.32 installed. It's available at https://download.gnome.org/sources/glib/. If you want to use mouse on the Linux console you need the gpm daemon diff -Nru mc-4.8.30/doc/HACKING mc-4.8.31/doc/HACKING --- mc-4.8.30/doc/HACKING 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/doc/HACKING 2024-01-20 19:34:38.000000000 +0000 @@ -19,7 +19,7 @@ Autoconf 2.64 and above (latest is recommended) Automake 1.12 and above (latest is recommended) Gettext 0.18.2 and above -Glib 2.30 and above +Glib 2.32 and above Full list of requirements you can see at: https://www.midnight-commander.org/wiki/doc/buildAndInstall/req diff -Nru mc-4.8.30/doc/INSTALL mc-4.8.31/doc/INSTALL --- mc-4.8.30/doc/INSTALL 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/doc/INSTALL 2024-01-20 19:34:38.000000000 +0000 @@ -15,7 +15,7 @@ - autoconf >= 2.64 - automake >= 1.12 - libtool -- glib2 >= 2.30 +- glib2 >= 2.32 - slang2 or ncurses - gettext >= 0.18.2 - libssh2 >= 1.2.8 is required only for sftp vfs @@ -171,9 +171,9 @@ (on by default) Support for FTP vfs -`--enable-vfs-fish' +`--enable-vfs-shell' (on by default) - Support for FISH vfs + Support for SHELL vfs `--enable-vfs-sftp' (auto) @@ -367,8 +367,8 @@ ftp://ftp.gnome.org/pub/gnome/sources/glib/ -Minimal version of glib: 2.30.0 -Recommended version: 2.30.x and higher. +Minimal version of glib: 2.32.0 +Recommended version: 2.32.x and higher. Newer versions may work, but haven't been tested. diff -Nru mc-4.8.30/doc/Makefile.in mc-4.8.31/doc/Makefile.in --- mc-4.8.30/doc/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/doc/Makefile.in 2024-01-27 08:25:17.000000000 +0000 @@ -180,7 +180,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/doc/NEWS mc-4.8.31/doc/NEWS --- mc-4.8.30/doc/NEWS 2023-08-06 15:22:16.000000000 +0000 +++ mc-4.8.31/doc/NEWS 2024-01-20 20:07:47.000000000 +0000 @@ -1,3 +1,36 @@ +Version 4.8.31 + +- Core + + * Minimal version of GLib is 2.32.0. + +- VFS + + * fish: drop support of native FISH server and protocol. Rename VFS to shell (#4232) + * extfs; + * uc1541 extfs: update up to 3.6 version (#4511) + * s3+: port to Python3 (#4324) + * Support for LZO/LZOP compression format (#4509) + +- Misc + + * Skins: add color for non-printable characters in editor (#4433) + +- Fixes + + * FTBFS on FreeBSD with ext2fs attribute support (#4493) + * Broken stickchars (-a) mode (#4498) + * Wrong timestamp after resuming of file copy operation (#4499) + * Editor: wrong deletion of marked column (#3761) + * Diff viewer: segfault when display of line numbers is enabled (#4500) + * Tar VFS: broken handling of hard links (#4494) + * Sftp VFS: failure establishing SSH session due hashed host names in ~/.ssh/known_hosts (#4506) + * Shell VFS: incorrect file names with cyrillic or diacritic symbols (#4507) + * mc.ext.ini: incorrect description of of how multiple sections and keys with same names are processed (#4497) + * mc.ext.ini: unescaped backslash \ is treated as invalid escape sequence in glib-2.77.3 and glib-2.79 (#4502) + * mc.ext.ini: file "Makefile.zip" is handled as Makefile not as zip-arhive (#4419) + + Version 4.8.30 - Core diff -Nru mc-4.8.30/doc/README mc-4.8.31/doc/README --- mc-4.8.30/doc/README 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/doc/README 2024-01-20 19:34:38.000000000 +0000 @@ -128,7 +128,7 @@ * The Virtual File System is a cute addition to the project, you may browse in tar and compressed tar files as well as browsing remote - machines with the fish file system. + machines with the shell file system. * Please read the manual page. diff -Nru mc-4.8.30/doc/TODO mc-4.8.31/doc/TODO --- mc-4.8.30/doc/TODO 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/doc/TODO 2024-01-20 19:34:38.000000000 +0000 @@ -73,7 +73,7 @@ Better date parser - don't allow seconds and year in ftp listings on the same line. -Report errors in fish operations and recover from them. +Report errors in shell operations and recover from them. Allow colors to be defined in the mc.lib file. Make it possible to avoid using a super-long line to redefine all colors. @@ -82,7 +82,7 @@ reopen the file. They don't work on VFS now. For example, a gzipped files on FTP cannot be edited. -ftp and fish with home != '/' - readjust directory to the home. +ftp and shell with home != '/' - readjust directory to the home. Make "Find File" dialog more responsive. Keep state in a structure and preserve it when the search is suspended. diff -Nru mc-4.8.30/doc/hints/Makefile.in mc-4.8.31/doc/hints/Makefile.in --- mc-4.8.30/doc/hints/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/doc/hints/Makefile.in 2024-01-27 08:25:17.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/doc/hints/l10n/Makefile.in mc-4.8.31/doc/hints/l10n/Makefile.in --- mc-4.8.30/doc/hints/l10n/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/doc/hints/l10n/Makefile.in 2024-01-27 08:25:17.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/doc/hints/l10n/mc.hint.be mc-4.8.31/doc/hints/l10n/mc.hint.be --- mc-4.8.30/doc/hints/l10n/mc.hint.be 2023-08-13 18:51:43.000000000 +0000 +++ mc-4.8.31/doc/hints/l10n/mc.hint.be 2024-01-27 08:28:38.000000000 +0000 @@ -1,10 +1,10 @@ -Падказка. «C-x t» перапісвае ў загадны радок назвы пазначаных файлаў. +Падказка. «C-x t» перапісвае ў камандны радок назвы пазначаных файлаў. -Падказка. «C-x p» перапісвае у загадны радок дзейны шлях. +Падказка. «C-x p» перапісвае у камандны радок дзейны шлях. Падказка. «M-Tab» ці «Esc+Tab» дапаўняе набранае. Каб убачыць сьпіс, націсьніце двойчы. -Падказка. «M-p» і «M-n» дае доступ да гісторыі загадаў. +Падказка. «M-p» і «M-n» дае доступ да гісторыі каманд. Падказка. Трэба ўставіць знак літаральна? Цісьніце «Control-q» і знак. @@ -36,7 +36,7 @@ Падказка. Хочаце звычайную абалонку? Цісьніце «C-o», а каб вярнуцца — «C-o» яшчэ раз. -Падказка. Каб хутчэй набіраць загады «cd …», вызначце зьменную «CDPATH». +Падказка. Каб хутчэй набіраць каманды «cd …», вызначце зьменную «CDPATH». Падказка. Калі хочаце бачыць схаваныя файлы «.*», вызначце гэта ў «Настаўленьнях». @@ -48,17 +48,17 @@ Намінка. Шукаць файл: кнопка «На панэль» дазваляе працаваць са знойдзеным. -Падказка. Калі патрэбны складаны пошук, ужывайце загад «На вонкавую панэль». +Падказка. Калі патрэбны складаны пошук, ужывайце каманду «На вонкавую панэль». -Падказка. Каб хутка зьмяніць каталёґ, калі набіраеце загад, цісьніце «M-c». +Падказка. Каб хутка зьмяніць каталёґ, калі набіраеце каманду, цісьніце «M-c». -Падказка: загады абалонкі могуць не працаваць на немясцовых файлавых сыстэмах. +Падказка: каманды абалонкі могуць не працаваць на немясцовых файлавых сыстэмах. Падказка. «C-y» вяртае страчаны тэкст. Падказка. Пэўныя клявішы не працуюць? Зірніце «Налады» → «Вывучыць клявішы». -Падказка. Каб пабачыць вывад загаду ў праглядніку, цісьніце «M-!» +Падказка. Каб пабачыць вывад каманды ў праглядніку, цісьніце «M-!» Падказка. «F13» (або «Shift-F3») праглядае файл наўпрост. diff -Nru mc-4.8.30/doc/hints/l10n/mc.hint.ko mc-4.8.31/doc/hints/l10n/mc.hint.ko --- mc-4.8.30/doc/hints/l10n/mc.hint.ko 2023-08-13 18:51:43.000000000 +0000 +++ mc-4.8.31/doc/hints/l10n/mc.hint.ko 2024-01-27 08:28:38.000000000 +0000 @@ -12,7 +12,7 @@ 힌트: 디렉터리 선택: 일치하는 패턴의 끝에 슬래시를 추가합니다. -힌트: 터미널에 기능 키가 없는 경우 ESC+숫자 시퀀스를 사용합니다. +힌트: 터미널에 기능 키가 없으면 ESC+숫자 시퀀스를 사용합니다. 힌트: GNU 미드나잇 커맨더 홈페이지: https://www.midnight-commander.org @@ -22,7 +22,7 @@ 힌트: VFS cool: tar 파일을 입력하여 내용을 검토합니다. -힌트 : 우리는 또한 멋진 매뉴얼 페이지를 가지고 있습니다. +힌트 : 멋진 매뉴얼 페이지도 있습니다. 힌트 : Lynx 스타일 탐색을 원하십니까? 구성 대화 상자에서 설정하십시오. @@ -44,7 +44,7 @@ 힌트: 완성은 모든 대화 상자의 모든 입력 라인에서 작동합니다. M-Tab을 누르면 됩니다. -힌트: 느린 터미널에서 -s 플래그가 도움이 될 수 있습니다. +힌트: 느린 터미널에는 -s 플래그가 도움이 될 수 있습니다. 힌트 : 파일 찾기 : 패널 크기조정 버튼을 사용하여 찾은 파일을 작업할 수 있습니다. diff -Nru mc-4.8.30/doc/hlp/Makefile.in mc-4.8.31/doc/hlp/Makefile.in --- mc-4.8.30/doc/hlp/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/doc/hlp/Makefile.in 2024-01-27 08:25:17.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/doc/hlp/es/Makefile.in mc-4.8.31/doc/hlp/es/Makefile.in --- mc-4.8.30/doc/hlp/es/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/doc/hlp/es/Makefile.in 2024-01-27 08:25:17.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/doc/hlp/hu/Makefile.in mc-4.8.31/doc/hlp/hu/Makefile.in --- mc-4.8.30/doc/hlp/hu/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/doc/hlp/hu/Makefile.in 2024-01-27 08:25:17.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/doc/hlp/it/Makefile.in mc-4.8.31/doc/hlp/it/Makefile.in --- mc-4.8.30/doc/hlp/it/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/doc/hlp/it/Makefile.in 2024-01-27 08:25:17.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/doc/hlp/pl/Makefile.in mc-4.8.31/doc/hlp/pl/Makefile.in --- mc-4.8.30/doc/hlp/pl/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/doc/hlp/pl/Makefile.in 2024-01-27 08:25:17.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/doc/hlp/ru/Makefile.in mc-4.8.31/doc/hlp/ru/Makefile.in --- mc-4.8.30/doc/hlp/ru/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/doc/hlp/ru/Makefile.in 2024-01-27 08:25:17.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/doc/hlp/sr/Makefile.in mc-4.8.31/doc/hlp/sr/Makefile.in --- mc-4.8.30/doc/hlp/sr/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/doc/hlp/sr/Makefile.in 2024-01-27 08:25:17.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/doc/man/Makefile.in mc-4.8.31/doc/man/Makefile.in --- mc-4.8.30/doc/man/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/doc/man/Makefile.in 2024-01-27 08:25:17.000000000 +0000 @@ -133,7 +133,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/doc/man/es/Makefile.in mc-4.8.31/doc/man/es/Makefile.in --- mc-4.8.30/doc/man/es/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/doc/man/es/Makefile.in 2024-01-27 08:25:17.000000000 +0000 @@ -133,7 +133,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/doc/man/es/mc.1.in mc-4.8.31/doc/man/es/mc.1.in --- mc-4.8.30/doc/man/es/mc.1.in 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/doc/man/es/mc.1.in 2024-01-20 19:34:38.000000000 +0000 @@ -3405,8 +3405,8 @@ de la ayuda: helpnormal, helpitalic, helpbold, helplink, helpslink, helptitle; los colores del visor: viewnormal, viewbold, viewunderline, viewselected; loc colores del editor: editnormal, editbold, editmarked, -editwhitespace, editlinestate; los colores de los menús desplegables: -pmenunormal, pmenusel, pmenutitle. +editwhitespace, editnonprintable, editlinestate; los colores de los menús +desplegables: pmenunormal, pmenusel, pmenutitle. .PP .I header determina el color del encabezado de los paneles, la línea con los diff -Nru mc-4.8.30/doc/man/hu/Makefile.in mc-4.8.31/doc/man/hu/Makefile.in --- mc-4.8.30/doc/man/hu/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/doc/man/hu/Makefile.in 2024-01-27 08:25:17.000000000 +0000 @@ -133,7 +133,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/doc/man/hu/mc.1.in mc-4.8.31/doc/man/hu/mc.1.in --- mc-4.8.30/doc/man/hu/mc.1.in 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/doc/man/hu/mc.1.in 2024-01-20 19:34:38.000000000 +0000 @@ -2869,7 +2869,7 @@ helplink, helpslink; Fájlnéző színek: viewunderline; Speciális kijelölés színei: executable, directory, link, stalelink, device, special, core; Viewer colors are: viewnormal, viewbold, viewunderline, viewselected. -Szerkesztő színei: editnormal, editbold, editmarked. +Szerkesztő színei: editnormal, editbold, editmarked, editnonprintable. .PP .I input maghatározza a beviteli sorok színét a dialogus ablakora vonatkozóan. diff -Nru mc-4.8.30/doc/man/it/Makefile.in mc-4.8.31/doc/man/it/Makefile.in --- mc-4.8.30/doc/man/it/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/doc/man/it/Makefile.in 2024-01-27 08:25:17.000000000 +0000 @@ -133,7 +133,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/doc/man/it/mc.1.in mc-4.8.31/doc/man/it/mc.1.in --- mc-4.8.30/doc/man/it/mc.1.in 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/doc/man/it/mc.1.in 2024-01-20 19:34:38.000000000 +0000 @@ -2881,7 +2881,7 @@ Colori speciali di evidenziazione: executable, directory, link, device, special, core. I colori dell'viewer sono: viewnormal, viewbold, viewunderline, viewselected. -I colori dell'editor sono: editnormal, editbold, editmarked. +I colori dell'editor sono: editnormal, editbold, editmarked, editnonprintable. .PP .I input determina il colore delle righe di input usate delle finestre di dialogo. diff -Nru mc-4.8.30/doc/man/mc.1.in mc-4.8.31/doc/man/mc.1.in --- mc-4.8.30/doc/man/mc.1.in 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/doc/man/mc.1.in 2024-01-20 19:34:38.000000000 +0000 @@ -3138,7 +3138,7 @@ .IR undelfs , used to recover deleted files on ext2 file systems (the default file system for Linux systems), -.I fish +.I shell (for manipulating files over shell connections such as rsh and ssh). If the code was compiled with .I sftpfs @@ -3225,10 +3225,9 @@ The latter specifies the full path of the tar archive. .\"NODE " FIle transfer over SHell filesystem" .SH " FIle transfer over SHell filesystem" -The fish file system is a network based file system that allows you to +The shell file system is a network based file system that allows you to manipulate the files in a remote machine as if they were local. To use -this, the other side has to either run fish server, or has to have -bash\-compatible shell. +this, the other side has to have bash\-compatible shell. .PP To connect to a remote machine, you just need to chdir into a special directory which name is in the following @@ -3514,8 +3513,8 @@ errdhotfocus, errdtitle. Help colors are: helpnormal, helpitalic, helpbold, helplink, helpslink, helptitle. Viewer colors are: viewnormal, viewbold, viewunderline, viewselected. Editor colors are: editnormal, editbold, editmarked, -editwhitespace, editlinestate. Popup menu colors are: pmenunormal, pmenusel, -pmenutitle. +editwhitespace, editnonprintable, editlinestate. Popup menu colors are: pmenunormal, +pmenusel, pmenutitle. .PP .I header determines the color of panel header, the line that contains column titles @@ -4095,7 +4094,7 @@ on a Tree panel, it will automatically reload the other panel with the contents of the selected directory. .TP -.I fish_directory_timeout +.I shell_directory_timeout This variable holds the lifetime of a directory cache entry in seconds. The default value is 900 seconds. .TP diff -Nru mc-4.8.30/doc/man/pl/Makefile.in mc-4.8.31/doc/man/pl/Makefile.in --- mc-4.8.30/doc/man/pl/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/doc/man/pl/Makefile.in 2024-01-27 08:25:17.000000000 +0000 @@ -133,7 +133,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/doc/man/pl/mc.1.in mc-4.8.31/doc/man/pl/mc.1.in --- mc-4.8.30/doc/man/pl/mc.1.in 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/doc/man/pl/mc.1.in 2024-01-20 19:34:38.000000000 +0000 @@ -2542,8 +2542,8 @@ helpslink; Kolory podglądu: viewunderline; Specjalne tryby podświetlenia: executable, directory, link, device, special. Viewer colors are: viewnormal, viewbold, viewunderline, viewselected. Editor colors are: editnormal, editbold, -editmarked, editwhitespace, editlinestate. Popup menu colors are: pmenunormal, -pmenusel, pmenutitle. +editmarked, editwhitespace, editnonprintable, editlinestate. Popup menu colors +are: pmenunormal, pmenusel, pmenutitle. [nie tłumaczyłem nazw z racji tego, że trzeba je stosować w ich angielskim brzmieniu \- jeśli jesteś aż tak zaawansowany, użyj słownika]. .PP diff -Nru mc-4.8.30/doc/man/ru/Makefile.in mc-4.8.31/doc/man/ru/Makefile.in --- mc-4.8.30/doc/man/ru/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/doc/man/ru/Makefile.in 2024-01-27 08:25:17.000000000 +0000 @@ -133,7 +133,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/doc/man/ru/mc.1.in mc-4.8.31/doc/man/ru/mc.1.in --- mc-4.8.30/doc/man/ru/mc.1.in 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/doc/man/ru/mc.1.in 2024-01-20 19:34:38.000000000 +0000 @@ -42,7 +42,7 @@ .\"Colors" .TP .I \-\-configure\-options -Выводит опции конфигурирования, с которыми был собран Midnight Commander. +Выводит опции конфигурирования, с которыми был собран Midnight Commander. .TP .I \-d, \-\-nomouse Отключает поддержку мыши. @@ -75,7 +75,7 @@ комбинаций к действиям. .TP .I \-l файл, \-\-ftplog=файл -Сохранить диалог с ftp\-сервером в файл file. +Сохранить диалог с FTP\-сервером в файл file. .TP .I \-\-nokeymap Не загружать клавиатурные комбинации из файла, использовать определённые @@ -83,7 +83,7 @@ .TP .I \-P файл, \-\-printwd=файл По окончании работы Midnight Commander запишет последний текущий каталог -в указанный файл. Эту опцию не следует использовать напрямую. Она +в указанный файл. Эту опцию не следует использовать напрямую. Она используется специальной функцией оболочки, которая меняет текущий каталог оболочки на последний каталог, использованный Midnight Commander. @@ -576,8 +576,8 @@ .TP .B Alt\-i Сделать текущий каталог активной панели также текущим каталогом -неактивной панели. Если необходимо, перевести неактивную панель в режим -отображения списка файлов. Если активная панель находится в режиме +неактивной панели. Если необходимо, перевести неактивную панель в режим +отображения списка файлов. Если активная панель находится в режиме панелизации, неактивная панель в этот режим не переводится. .TP .B C\-PageUp, C\-PageDown @@ -816,7 +816,7 @@ программы Midnight Commander. Один из пунктов этого меню служит для сохранения настроек, заданных пользователем. .\"NODE " Left and Right Menus" -.SH "Меню левой и правой (или верхней и нижней) панелей" +.SH " Меню левой и правой (или верхней и нижней) панелей" Вид панелей, в которых отображаются списки файлов и каталогов, может быть изменен через пункты меню .B "Левая" (или "Верхняя") @@ -986,7 +986,7 @@ .B Tab в панель просмотра, вы сможете использовать все команды управления просмотром. .\"NODE " Sort Order..." -.SH "Порядок сортировки..." +.SH " Порядок сортировки..." Отображение списка файлов в любой из панелей может производиться в соответствии с одним из восьми порядков сортировки: .nf @@ -1069,7 +1069,7 @@ встроенная программа просмотра\&, .\"Internal File Viewer" но, сняв отметку с опции -.I "Встроенный просмотр" +.I "Встроенный просмотр" в пункте "Конфигурация" меню "Настройки", можно вызывать внешнюю программу просмотра, путь к которой должен быть указан в переменной окружения .BR PAGER . @@ -1125,7 +1125,7 @@ выставив конфигурационную опцию preallocate_space. О том, как задать шаблон для имен копируемых файлов (обычно это "*" или "^\\(.*\\)$", в зависимости от установки опции -.IR "Образцы в стиле shell" , +.IR "Образцы в стиле shell" , и о допустимых символах замены (wildcards) в строке целевого каталога вы можете узнать, просмотрев раздел .\"LINK2" @@ -1364,8 +1364,8 @@ строку оболочки (перемещение подсветки \- клавишами .BR Up/Down , копирование \- по клавише -.BR Enter ) - Доступ к истории команд можно получить также по комбинациям клавиш +.BR Enter ). +Доступ к истории команд можно получить также по комбинациям клавиш .B Alt\-p или .BR Alt\-n , @@ -1388,7 +1388,7 @@ отображает список виртуальных файловых систем, активных на настоящий момент. Можно перейти на выбранную виртуальную файловую систему. Для Обновления списка выберите кнопку -.B [Освежить] +.B [Освежить] в диалоговом окне. Кнопка .B [Освободить ВФС сейчас] @@ -1853,7 +1853,7 @@ меню, а другое \- для выполнения, надо предпослать пункту меню две строки условий, одну \- начинающуюся с '+', и другую \- начинающуюся с '='. .\"NODE " Options Menu" -.SH "Меню 'Настройки'" +.SH " Меню 'Настройки'" Программа Midnight Commander имеет ряд установок (опций), каждая из которых может быть включена или выключена, для чего служат несколько диалоговых окон, доступных через меню "Настройки". Опция включена, если @@ -1977,7 +1977,7 @@ и если за это время ни одна клавиша не нажата, то Esc интерпретируется как команда "Отмена" (Esc Esc). .PP -.IR Интервал . +.IR "Интервал" . Эта опция используется для задания временного интервала (в микросекундах) для использования однократного нажатия на клавишу Esc. По умолчанию этот интервал равен 1 секунде (1000000 микросекунд). Кроме того, этот интервал @@ -1985,13 +1985,13 @@ (также в микросекундах), которая имеет приоритет над над значением этой опции. .PP -.B Пауза после исполнения +.B "Пауза после исполнения" .PP После выполнения вашей команды Midnight Commander может обеспечить паузу, чтобы вы могли просмотреть и изучить вывод команды. Есть три варианта установки этой опции: .PP -.IR Никогда . +.IR "Никогда" . Это значит, что вы не хотите видеть вывод команды. На консоли Linux или FreeBSD или при использовании xterm вы можете просмотреть этот вывод, нажав C\-o. @@ -2001,10 +2001,10 @@ показ вывода последней из выполнявшихся команд (это любые терминалы, отличные от xterm или консоли Linux). .PP -.IR Всегда . +.IR "Всегда" . Программа обеспечит паузу после выполнения любой команды. .PP -.B Прочие настройки +.B "Прочие настройки" .PP .IR "Встроенный редактор" . Если эта опция включена, то для редактирования файлов вызывается @@ -2400,7 +2400,7 @@ С целью ускорения доступа к файлам Midnight Commander сохраняет в оперативной памяти информацию, относящуюся к некоторым виртуальным файловым системам (например, списки файлов в каталогах удалённых -ftp\-серверов). +FTP\-серверов). .PP Кроме того, для получения доступа к содержимому сжатых архивов (например, сжатых tar\-файлов) Midnight Commander создаёт временные файлы @@ -2411,7 +2411,7 @@ чтобы уменьшить эти расходы или повысить скорость доступа к часто используемым файловым системам. .PP -Файловая система архиватора tar очень разумно организует работу с +Файловая система архиватора TAR очень разумно организует работу с архивными файлами: она сохраняет на диске структуру каталогов архива и, когда возникает необходимость обращения к информации из tar\-файла, использует этот список для извлечения нужного файла. @@ -2419,7 +2419,7 @@ В общем случае tar\-файлы обычно хранятся в сжатом виде (простые tar\-файлы \- вымирающее явление), и в силу природы таких файлов (структура подкаталогов для tar\-файлов недоступна для мгновенной -загрузки/отображения), файловая система tar должна разархивировать файлы +загрузки/отображения), файловая система TAR должна разархивировать файлы на диск во временный каталог и затем представить обращение к разархивированным файлам как обращение к tar\-файлу. .PP @@ -2432,16 +2432,16 @@ освобождены. По умолчанию величина этого интервала устанавливается равной 1 минуте. Смотрите также .\"LINK2" -Файловая система tar\&. -.\"Tar File System" +Файловая система TAR\&. +.\"TAR File System" .PP Файловая система FTP сохраняет список каталогов, полученный с FTP\-сервера, в памяти (в кеше). Время, в течение которого этот список хранится в кеше, задаётся опцией .I Тайм\-аут кеша каталога FTP. Слишком маленькое значение этого параметра будет замедлять все операции -с файловой системой ftp, потому что каждое обращение к ней будет -означать реальное обращение к удалённому ftp\-серверу. +с файловой системой FTP, потому что каждое обращение к ней будет +означать реальное обращение к удалённому FTP\-серверу. .PP Кроме того, в том же диалоговом окне можно задать имя прокси\-сервера (proxy host), который будет использоваться для перекачки файлов по ftp и @@ -2450,7 +2450,7 @@ .PP .I Пароль анонимного FTP: \- пароль, используемый когда вы регистрируетесь как анонимный пользователь -"anonymous". Для некоторых сайтов требуется полноценный электронный адрес, +"anonymous". Для некоторых сайтов требуется полноценный электронный адрес, с другой стороны, вероятно, вы не захотите указывать свой настоящий электронный адрес для сайтов, которым не доверяете, особенно если не используется фильтрация нежелательной корреспонденции. @@ -2476,7 +2476,7 @@ Этот файл располагается в каталоге, путь к которому можно определить, запустив команду .BR "mc \-f" . -(это можно сделать даже из командной строки MC). Если и этого файла не +(это можно сделать даже из командной строки MC). Если и этого файла не существует, .I MC использует установки по умолчанию. @@ -2524,7 +2524,7 @@ .\"LINK2" файле расширений\&. .\"Edit Extension File" -Если в файле расширений найдется подраздел, задающий процедуры обработки +Если в файле расширений найдётся подраздел, задающий процедуры обработки файлов с данным расширением, то обработка файла производится в соответствии с заданными в этом подразделе командами. Перед обработкой выполняются простые @@ -3152,7 +3152,7 @@ .\"NODE "Diff Viewer" .SH "Встроенная программа сравнения файлов" mcdiff \- это встроенное средство для сравнения файлов, позволяющее сравнить два файла. -Также оно позволяет редактировать их (после завершения редактирования произойдет +Также оно позволяет редактировать их (после завершения редактирования произойдёт обновление различий). Можно просматривать файлы, находящиеся под контролем различных систем управления версиями, такими как GIT, Subversion и другие. .PP @@ -3463,21 +3463,17 @@ в вашем домашнем каталоге. .PP Встроенный редактор обрабатывает символы из второй половины кодовой -таблицы (160+). Но когда редактируете бинарные файлы, лучше установить +таблицы (160+). Но при редактировании бинарных файлов лучше установить опцию .B "Биты символов" -из меню "Настройки" в положение "7 бит", чтобы сохранить формат файла -(to keep the spacing clean). +из меню "Настройки" в положение "7 бит", чтобы сохранить формат файла. .PP Описать все функции встроенного редактора в данной подсказке невозможно. Запомните только, что все основные операции можно выполнить через пункты меню, которое вызывается нажатием клавиши .B F9 -в окне редактирования. Кроме того, можно прочитать man\-страницу по -команде -.B man mcedit -или -.B info mcedit +в окне редактирования. Кроме того, можно прочитать man\-страницу по команде +.B man mcedit . .\"NODE "Internal File Editor / options" .SH "Опции в ini\-файле для редактора" @@ -3588,7 +3584,7 @@ файлов в файловой системе ext2 (файловая система, используемая в Linux по умолчанию); .br -\- файловой системы fish (для манипулирования файлами при работе с +\- файловой системы shell (для манипулирования файлами при работе с оболочкой через такие программы как rsh и ssh); .br \- и, наконец, сетевой файловой системы nfs. @@ -3599,15 +3595,15 @@ файловых систем описаны в отдельных разделах по каждой ВФС: .IP .\"LINK2" -Файловая система ftpfs +Файловая система FTP .\"FTP File System" .br .\"LINK2" -Файловая система tar -.\"Tar File System" +Файловая система TAR +.\"TAR File System" .br .\"LINK2" -Файловая система FISH (FIle transfer over SHell) +Файловая система SHELL (FIle transfer over SHell) .\"FIle transfer over SHell filesystem" .br .\"LINK2" @@ -3617,9 +3613,9 @@ .\"LINK2" Файловая система UFS (Undelete File System) .\"Undelete File System" -.\"NODE "FTP File System" -.SH "Файловая система ftpfs" -Файловая система ftpfs позволяет работать с файлами на удалённых +.\"NODE " FTP File System" +.SH " Файловая система FTP" +Файловая система FTP позволяет работать с файлами на удалённых компьютерах. Для этого можно использовать команду "FTP\-соединение" (доступную из меню левой и правой панелей) или же непосредственно сменить текущий каталог командой cd, задав путь к каталогу следующим @@ -3663,7 +3659,7 @@ .PP Чтобы не задавать имя прокси\-сервера каждый раз, можно поставить отметку в квадратных скобках возле опции -.I Всегда использовать FTP прокси +.I Всегда использовать FTP\-прокси в диалоговом окне .\"LINK2" Виртуальные ФС... @@ -3678,7 +3674,7 @@ .B mc.no_proxy без точки, то производит прямое обращение к данной машине. .PP -При подключении к ftp\-серверу через фильтрующий пакеты маршрутизатор, +При подключении к FTP\-серверу через фильтрующий пакеты маршрутизатор, который не позволяет использовать обычный режим открытия файлов, можно заставить программу работать в режиме пассивного открытия файла. Для этого установите в конфигурационном файле параметр @@ -3699,9 +3695,9 @@ Это не является недоработкой (если вы думаете, что это ошибка, поразмыслите над тем, как происходит работа по FTP с файлами, находящимися на другой стороне Атлантического океана). -.\"NODE " Tar File System" -.SH "Файловая система tar" -Файловая система tar обеспечивает доступ по чтению к tar\- и сжатым +.\"NODE " TAR File System" +.SH " Файловая система TAR" +Файловая система TAR обеспечивает доступ по чтению к tar\- и сжатым tar\-файлам, используя команду chdir. Для перехода в каталог, представляющий список файлов tar\-файла, нужно использовать команду, имеющую следующий формат: @@ -3710,7 +3706,7 @@ .PP Файл mc.ext.ini по умолчанию содержит команды для просмотра tar\-файлов, то есть обычно для получения списка файлов tar\-архива -достаточно просто переместить указатель на имя tar\-файла и нажать +достаточно просто переместить указатель на имя tar\-файла и нажать .BR Enter . Чтобы понять, как это достигается, смотрите раздел .\"LINK2" @@ -3726,12 +3722,11 @@ .PP В последнем примере указан полный путь к tar\-архиву. .\"NODE " FIle transfer over SHell filesystem" -.SH " Файловая система FISH (FIle transfer over SHell)" -Файловая система fish \- это сетевая файловая система, которая позволяет +.SH " Файловая система SHELL (FIle transfer over SHell)" +Файловая система shell \- это сетевая файловая система, которая позволяет работать с файлами на удалённом компьютере так, как если бы они были расположены на вашем диске. Для того чтобы это было возможно, на -удалённом компьютере должен быть запущен fish\-сервер, или -bash\-совместимая оболочка shell. +удалённом компьютере должна быть запущена bash\-совместимая оболочка shell. .PP Для соединения с удалённым компьютером нужно выполнить команду перехода в каталог (chdir), имя которого задаётся в следующем формате: @@ -3775,7 +3770,7 @@ Файловая система SFTP \- это сетевая файловая система, которая позволяет работать с файлами на удалённом компьютере так, как если бы они были расположены на вашем диске. Для того чтобы это было возможно, на -удалённом компьютере должен быть запущен sftp\-сервер. +удалённом компьютере должен быть запущен SFTP\-сервер. .PP Для соединения с удалённым компьютером нужно выполнить команду перехода в каталог (chdir), имя которого задаётся в следующем формате: @@ -3831,7 +3826,7 @@ .PP Для того чтобы воспользоваться этой возможностью (этой файловой системой), нужно выполнить команду перехода (chdir) в специальный -каталог, имя которого образуется из префикса "undel://" и имени +каталог, имя которого образуется из префикса "undel://" и имени специального файла устройства, на котором находится реальная файловая система. .PP @@ -3858,7 +3853,7 @@ 1. Автономные файловые системы, которые не ассоциированы ни с одним из типов файлов.они представляют некоторые системные данные как дерево каталогов Вы можете их вызвать набрав \fIcd fsname://\fR", где fsname \- это короткое -имя extfs (см. ниже). Примеры этих ВФС включают audio (список всех звуковых +имя extfs (см. ниже). Примеры этих ВФС включают audio (список всех звуковых дорожек на CD) или apt (список всех установленных в системе пакетов Debian). .PP Например, для получения списка звуковых дорожек на CD наберите: @@ -3868,7 +3863,7 @@ .fi .PP 2. "Архивные" файловые системы (такие как rpm, patchfs и прочие) представляют -содержимое файла как дерево каталогов. Они могут состоять из "реальных" файлов, +содержимое файла как дерево каталогов. Они могут состоять из "реальных" файлов, находящихся в сжатом виде в архивах (urar, rpm) или из виртуальных файлов, например, сообщений в файле mailbox (mailfs) или части diff\-файла (patchfs). Для доступа к этим ВФС суффикс @@ -4020,7 +4015,8 @@ Цвета в диалоге\-сообщении об ошибке: errdfocus, errdhotnormal, errdhotfocus, errdtitle. Цвета в окне встроенной помощи: helpnormal, helpitalic, helpbold, helplink, helpslink. Цвета в окне программы просмотра: viewnormal, viewbold, viewunderline, viewselected. -Цвета в редакторе: editnormal, editbold, editmarked, editwhitespace, editlinestate. +Цвета в редакторе: editnormal, editbold, editmarked, editwhitespace, editnonprintable, +editlinestate. Цвета окна всплывающего меню: pmenunormal, pmenusel, pmenutitle. .PP Цвета задавать не обязательно. Цвет какого именно поля определяется @@ -4471,7 +4467,7 @@ Названия групп должны совпадать с названиями параметров в секции [filehighlight] в текущем скин\-файле. .PP -Ключи в группах могут принимать следующие значения: +Ключи в группах могут принимать следующие значения: .TP .I type Тип файла. Если параметр присутствует, остальные опции игнорируются @@ -4533,7 +4529,7 @@ .IP Этот параметр задаёт интервал времени (в секундах), по истечении которого Midnight Commander будет предпринимать повторную попытку -соединиться с ftp\-сервером после того, как предыдущая попытка окончилась +соединиться с FTP\-сервером после того, как предыдущая попытка окончилась неудачей. Если задано нулевое значение, программа не будет повторять попытку соединиться. .PP @@ -4543,7 +4539,7 @@ протоколу FTP в тех случаях, когда компьютер пользователя располагается за маршрутизатором, фильтрующим пакеты (behind a filtering packet router). Эта опция работает только в том случае, если вы не используете -прокси (you are not using an ftp proxy). +FTP\-прокси. .PP .I max_dirt_limit .IP @@ -4594,7 +4590,7 @@ Установка этой опции слегка изменяет реакцию программы на нажатие клавиш .B Home и -.B End +.B End в активной панели. Вместо того, чтобы перемещать подсветку (курсор) к первому или последнему из имен файлов, отображенных на панели, нажатие этих клавиш будет вызывать следующую реакцию: @@ -4664,7 +4660,7 @@ .\"NODE "Parameters for external editor or viewer" .SH "Параметры для внешних редакторов и программ просмотра" Midnight Commander позволяет задать некоторые параметрыы для внешних редакторов -и программ просмотра. Они задаются в секции "[External editor or viewer parameters]", +и программ просмотра. Они задаются в секции [External editor or viewer parameters], которая сначала ищется в системном (mc.lib), а затем в пользовательском (~/.config/mc/ini) файле инициализации. Имя параметра должно совпадать с именем внешнего редактора или программы просмотра. Значение параметра может содержать следующие переменные: @@ -4789,9 +4785,9 @@ .PP .I %pkgdatadir%/mc.lib .IP -Глобальные установки для Midnight Commander. Установки из этого файла +Глобальные установки для Midnight Commander. Установки из этого файла действительны для всех пользователей, независимо от того, имеют ли они -~/.config/mc/ini или нет. В настоящий момент только +~/.config/mc/ini или нет. В настоящий момент только .\"LINK2" настройки терминалов .\"Terminal databases" @@ -4851,7 +4847,7 @@ .SH Лицензия Эта программа распространяется в надежде, что она будет полезной, но БЕЗ КАКИХ\-ЛИБО ГАРАНТИЙ; даже без подразумеваемых гарантий КОММЕРЧЕСКОЙ -ЦЕННОСТИ или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. Для получения подробных +ЦЕННОСТИ или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. Для получения подробных сведений смотрите Универсальную Общественную Лицензию GNU. .\"NODE "AVAILABILITY" .SH "Обновление версий" @@ -4868,7 +4864,7 @@ .fi .PP Данная страница оперативного руководства содержит информацию, актуальную -для версии 4.6.0 (январь 2003 года). Если вы используете более свежую +для версии 4.6.0 (январь 2003 года). Если вы используете более свежую версию программы, оригинальная страница на английском языке может содержать более полную и актуальную информацию. Для просмотра оригинальной страницы в оболочке bash можно использовать команду diff -Nru mc-4.8.30/doc/man/sr/Makefile.in mc-4.8.31/doc/man/sr/Makefile.in --- mc-4.8.30/doc/man/sr/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/doc/man/sr/Makefile.in 2024-01-27 08:25:17.000000000 +0000 @@ -133,7 +133,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/doc/man/sr/mc.1.in mc-4.8.31/doc/man/sr/mc.1.in --- mc-4.8.30/doc/man/sr/mc.1.in 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/doc/man/sr/mc.1.in 2024-01-20 19:34:38.000000000 +0000 @@ -2865,7 +2865,7 @@ helpbold, helplink, helpslink. Боја прегледача је: viewunderline. Посебне боје за истицање су: executable, directory, link, stalelink, device, special, core. Viewer colors are: viewnormal, viewbold, viewunderline, -viewselected. Боје уређивача су: editnormal, editbold, editmarked. +viewselected. Боје уређивача су: editnormal, editbold, editmarked, editnonprintable. .PP .I input одређује боју редова за унос који се користе у дијалозима упита. diff -Nru mc-4.8.30/lib/Makefile.in mc-4.8.31/lib/Makefile.in --- mc-4.8.30/lib/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/lib/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -138,7 +138,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/lib/charsets.c mc-4.8.31/lib/charsets.c --- mc-4.8.30/lib/charsets.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/charsets.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Text conversion from one charset to another. - Copyright (C) 2001-2023 + Copyright (C) 2001-2024 Free Software Foundation, Inc. Written by: @@ -136,6 +136,7 @@ if (*list == NULL) { *list = g_ptr_array_sized_new (16); + g_ptr_array_set_free_func (*list, free_codepage_desc); g_ptr_array_add (*list, new_codepage_desc (id, p)); } else diff -Nru mc-4.8.30/lib/event/Makefile.in mc-4.8.31/lib/event/Makefile.in --- mc-4.8.30/lib/event/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/lib/event/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/lib/event/event.c mc-4.8.31/lib/event/event.c --- mc-4.8.30/lib/event/event.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/event/event.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Handle events in application. Interface functions: init/deinit; start/stop - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/event/manage.c mc-4.8.31/lib/event/manage.c --- mc-4.8.30/lib/event/manage.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/event/manage.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Handle any events in application. Manage events: add, delete, destroy, search - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/event/raise.c mc-4.8.31/lib/event/raise.c --- mc-4.8.30/lib/event/raise.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/event/raise.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Handle any events in application. Raise events. - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/filehighlight/Makefile.in mc-4.8.31/lib/filehighlight/Makefile.in --- mc-4.8.30/lib/filehighlight/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/lib/filehighlight/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/lib/filehighlight/common.c mc-4.8.31/lib/filehighlight/common.c --- mc-4.8.30/lib/filehighlight/common.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/filehighlight/common.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ File highlight plugin. Interface functions - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/filehighlight/get-color.c mc-4.8.31/lib/filehighlight/get-color.c --- mc-4.8.30/lib/filehighlight/get-color.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/filehighlight/get-color.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ File highlight plugin. Interface functions. get color pair index for highlighted file. - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/filehighlight/ini-file-read.c mc-4.8.31/lib/filehighlight/ini-file-read.c --- mc-4.8.30/lib/filehighlight/ini-file-read.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/filehighlight/ini-file-read.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ File highlight plugin. Reading and parse rules from ini-files - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/fileloc.h mc-4.8.31/lib/fileloc.h --- mc-4.8.30/lib/fileloc.h 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/fileloc.h 2024-01-20 19:34:38.000000000 +0000 @@ -30,23 +30,23 @@ #define CHARSETS_LIST "mc.charsets" #define MC_MACRO_FILE "mc.macros" -#define FISH_PREFIX "fish" +#define VFS_SHELL_PREFIX "shell" -#define FISH_LS_FILE "ls" -#define FISH_EXISTS_FILE "fexists" -#define FISH_MKDIR_FILE "mkdir" -#define FISH_UNLINK_FILE "unlink" -#define FISH_CHOWN_FILE "chown" -#define FISH_CHMOD_FILE "chmod" -#define FISH_UTIME_FILE "utime" -#define FISH_RMDIR_FILE "rmdir" -#define FISH_LN_FILE "ln" -#define FISH_MV_FILE "mv" -#define FISH_HARDLINK_FILE "hardlink" -#define FISH_GET_FILE "get" -#define FISH_SEND_FILE "send" -#define FISH_APPEND_FILE "append" -#define FISH_INFO_FILE "info" +#define VFS_SHELL_LS_FILE "ls" +#define VFS_SHELL_EXISTS_FILE "fexists" +#define VFS_SHELL_MKDIR_FILE "mkdir" +#define VFS_SHELL_UNLINK_FILE "unlink" +#define VFS_SHELL_CHOWN_FILE "chown" +#define VFS_SHELL_CHMOD_FILE "chmod" +#define VFS_SHELL_UTIME_FILE "utime" +#define VFS_SHELL_RMDIR_FILE "rmdir" +#define VFS_SHELL_LN_FILE "ln" +#define VFS_SHELL_MV_FILE "mv" +#define VFS_SHELL_HARDLINK_FILE "hardlink" +#define VFS_SHELL_GET_FILE "get" +#define VFS_SHELL_SEND_FILE "send" +#define VFS_SHELL_APPEND_FILE "append" +#define VFS_SHELL_INFO_FILE "info" #define MC_EXTFS_DIR "extfs.d" diff -Nru mc-4.8.30/lib/glibcompat.c mc-4.8.31/lib/glibcompat.c --- mc-4.8.30/lib/glibcompat.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/glibcompat.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* GLIB - Library of useful routines for C programming - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: @@ -111,29 +111,8 @@ } } -/* --------------------------------------------------------------------------------------------- */ - #endif /* ! GLIB_CHECK_VERSION (2, 63, 3) */ -#if ! GLIB_CHECK_VERSION (2, 32, 0) -/** - * g_queue_free_full: - * @queue: a pointer to a #GQueue - * @free_func: the function to be called to free each element's data - * - * Convenience method, which frees all the memory used by a #GQueue, - * and calls the specified destroy function on every element's data. - * - * Since: 2.32 - */ -void -g_queue_free_full (GQueue * queue, GDestroyNotify free_func) -{ - g_queue_foreach (queue, (GFunc) free_func, NULL); - g_queue_free (queue); -} -#endif /* ! GLIB_CHECK_VERSION (2, 32, 0) */ - /* --------------------------------------------------------------------------------------------- */ #if ! GLIB_CHECK_VERSION (2, 60, 0) @@ -161,6 +140,41 @@ /* --------------------------------------------------------------------------------------------- */ +#if ! GLIB_CHECK_VERSION (2, 77, 0) +/** + * g_string_new_take: + * @init: (nullable): initial text used as the string. + * Ownership of the string is transferred to the #GString. + * Passing NULL creates an empty string. + * + * Creates a new #GString, initialized with the given string. + * + * After this call, @init belongs to the #GString and may no longer be + * modified by the caller. The memory of @data has to be dynamically + * allocated and will eventually be freed with g_free(). + * + * Returns: the new #GString + */ +GString * +g_string_new_take (char *init) +{ + GString *string; + + if (init == NULL) + return g_string_new (NULL); + + string = g_slice_new (GString); + + string->str = init; + string->len = strlen (string->str); + string->allocated_len = string->len + 1; + + return string; +} +#endif /* ! GLIB_CHECK_VERSION (2, 77, 0) */ + +/* --------------------------------------------------------------------------------------------- */ + /** * mc_g_string_copy: * @dest: (not nullable): the destination #GString. Its current contents are destroyed diff -Nru mc-4.8.30/lib/glibcompat.h mc-4.8.31/lib/glibcompat.h --- mc-4.8.30/lib/glibcompat.h 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/glibcompat.h 2024-01-20 19:34:38.000000000 +0000 @@ -21,14 +21,14 @@ void g_clear_list (GList ** list_ptr, GDestroyNotify destroy); #endif /* ! GLIB_CHECK_VERSION (2, 63, 3) */ -#if ! GLIB_CHECK_VERSION (2, 32, 0) -void g_queue_free_full (GQueue * queue, GDestroyNotify free_func); -#endif /* ! GLIB_CHECK_VERSION (2, 32, 0) */ - #if ! GLIB_CHECK_VERSION (2, 60, 0) void g_queue_clear_full (GQueue * queue, GDestroyNotify free_func); #endif /* ! GLIB_CHECK_VERSION (2, 60, 0) */ +#if ! GLIB_CHECK_VERSION (2, 77, 0) +GString *g_string_new_take (char *init); +#endif /* ! GLIB_CHECK_VERSION (2, 77, 0) */ + /* There is no such API in GLib2 */ GString *mc_g_string_copy (GString * dest, const GString * src); diff -Nru mc-4.8.30/lib/global.c mc-4.8.31/lib/global.c --- mc-4.8.30/lib/global.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/global.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Global structure for some library-related variables - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/hook.c mc-4.8.31/lib/hook.c --- mc-4.8.30/lib/hook.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/hook.c 2024-01-20 19:34:38.000000000 +0000 @@ -4,7 +4,7 @@ Slavaz: Warning! this file is deprecated and should be replaced by mcevents functional. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/keybind.c mc-4.8.31/lib/keybind.c --- mc-4.8.30/lib/keybind.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/keybind.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Definitions of key bindings. - Copyright (C) 2005-2023 + Copyright (C) 2005-2024 Free Software Foundation, Inc. Written by: @@ -174,8 +174,8 @@ ADD_KEYMAP_NAME (LinkSymbolicEdit), ADD_KEYMAP_NAME (ExternalPanelize), ADD_KEYMAP_NAME (Filter), -#ifdef ENABLE_VFS_FISH - ADD_KEYMAP_NAME (ConnectFish), +#ifdef ENABLE_VFS_SHELL + ADD_KEYMAP_NAME (ConnectShell), #endif #ifdef ENABLE_VFS_FTP ADD_KEYMAP_NAME (ConnectFtp), diff -Nru mc-4.8.30/lib/keybind.h mc-4.8.31/lib/keybind.h --- mc-4.8.30/lib/keybind.h 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/keybind.h 2024-01-20 19:34:38.000000000 +0000 @@ -151,7 +151,7 @@ CK_LinkSymbolicEdit, CK_ExternalPanelize, CK_Filter, - CK_ConnectFish, + CK_ConnectShell, CK_ConnectFtp, CK_ConnectSftp, CK_PanelInfo, diff -Nru mc-4.8.30/lib/lock.c mc-4.8.31/lib/lock.c --- mc-4.8.30/lib/lock.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/lock.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* File locking - Copyright (C) 2003-2023 + Copyright (C) 2003-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/logging.c mc-4.8.31/lib/logging.c --- mc-4.8.30/lib/logging.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/logging.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Provides a log file to ease tracing the program. - Copyright (C) 2006-2023 + Copyright (C) 2006-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/mcconfig/Makefile.in mc-4.8.31/lib/mcconfig/Makefile.in --- mc-4.8.30/lib/mcconfig/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/lib/mcconfig/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/lib/mcconfig/common.c mc-4.8.31/lib/mcconfig/common.c --- mc-4.8.30/lib/mcconfig/common.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/mcconfig/common.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Configure module for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff -Nru mc-4.8.30/lib/mcconfig/get.c mc-4.8.31/lib/mcconfig/get.c --- mc-4.8.30/lib/mcconfig/get.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/mcconfig/get.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Configure module for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff -Nru mc-4.8.30/lib/mcconfig/history.c mc-4.8.31/lib/mcconfig/history.c --- mc-4.8.30/lib/mcconfig/history.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/mcconfig/history.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* - Widgets for the Midnight Commander + Configure module for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: @@ -10,7 +10,7 @@ Jakub Jelinek, 1995 Andrej Borsenkow, 1996 Norbert Warmuth, 1997 - Andrew Borodin , 2009-2019 + Andrew Borodin , 2009-2023 This file is part of the Midnight Commander. @@ -65,7 +65,7 @@ /* --------------------------------------------------------------------------------------------- */ /** - * Load the history from the ${XDG_CACHE_HOME}/mc/history file. + * Load the history from the ${XDG_DATA_HOME}/mc/history file. * It is called with the widgets history name and returns the GList list. */ @@ -95,6 +95,33 @@ /* --------------------------------------------------------------------------------------------- */ /** + * Get the recent item of a history from the ${XDG_DATA_HOME}/mc/history file. + * + * TODO: get rid of load the entire history to get the only top item. + */ + +char * +mc_config_history_get_recent_item (const char *name) +{ + GList *history; + char *item = NULL; + + history = mc_config_history_get (name); + if (history != NULL) + { + /* FIXME: can history->data be NULL? */ + item = (char *) history->data; + history->data = NULL; + history = g_list_first (history); + g_list_free_full (history, g_free); + } + + return item; +} + +/* --------------------------------------------------------------------------------------------- */ + +/** * Load history from the mc_config */ GList * @@ -177,8 +204,7 @@ for (i = 0; (i < num_history_items_recorded - 1) && (h->prev != NULL); i++) h = g_list_previous (h); - if (name != NULL) - mc_config_del_group (cfg, name); + mc_config_del_group (cfg, name); /* create charset conversion handler to convert strings from system codepage to UTF-8 */ diff -Nru mc-4.8.30/lib/mcconfig/paths.c mc-4.8.31/lib/mcconfig/paths.c --- mc-4.8.30/lib/mcconfig/paths.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/mcconfig/paths.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* paths to configuration files - Copyright (C) 2010-2023 + Copyright (C) 2010-2024 Free Software Foundation, Inc. Written by: @@ -74,7 +74,7 @@ /* data */ { &mc_data_str, MC_SKINS_DIR }, - { &mc_data_str, FISH_PREFIX }, + { &mc_data_str, VFS_SHELL_PREFIX }, { &mc_data_str, MC_ASHRC_FILE }, { &mc_data_str, MC_BASHRC_FILE }, { &mc_data_str, MC_INPUTRC_FILE }, diff -Nru mc-4.8.30/lib/mcconfig/set.c mc-4.8.31/lib/mcconfig/set.c --- mc-4.8.30/lib/mcconfig/set.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/mcconfig/set.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Configure module for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff -Nru mc-4.8.30/lib/mcconfig.h mc-4.8.31/lib/mcconfig.h --- mc-4.8.30/lib/mcconfig.h 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/mcconfig.h 2024-01-20 19:34:38.000000000 +0000 @@ -105,6 +105,8 @@ /* read history to the mc_config, but don't save config to file */ GList *mc_config_history_get (const char *name); +/* read recent item from the history */ +char *mc_config_history_get_recent_item (const char *name); /* load history from the mc_config */ GList *mc_config_history_load (mc_config_t * cfg, const char *name); /* save history to the mc_config, but don't save config to file */ diff -Nru mc-4.8.30/lib/search/Makefile.in mc-4.8.31/lib/search/Makefile.in --- mc-4.8.30/lib/search/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/lib/search/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/lib/search/glob.c mc-4.8.31/lib/search/glob.c --- mc-4.8.30/lib/search/glob.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/search/glob.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Search text engine. Glob-style pattern matching - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/search/hex.c mc-4.8.31/lib/search/hex.c --- mc-4.8.30/lib/search/hex.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/search/hex.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Search text engine. HEX-style pattern matching - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/search/lib.c mc-4.8.31/lib/search/lib.c --- mc-4.8.30/lib/search/lib.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/search/lib.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Search text engine. Common share code for module. - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/search/normal.c mc-4.8.31/lib/search/normal.c --- mc-4.8.30/lib/search/normal.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/search/normal.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Search text engine. Plain search - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/search/regex.c mc-4.8.31/lib/search/regex.c --- mc-4.8.30/lib/search/regex.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/search/regex.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Search text engine. Regex search - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: @@ -397,17 +397,16 @@ { int max_token = 0; gsize loop; + for (loop = 0; loop < len - 1; loop++) - { if (str[loop] == '\\' && g_ascii_isdigit (str[loop + 1])) { if (strutils_is_char_escaped (str, &str[loop])) continue; if (max_token < str[loop + 1] - '0') max_token = str[loop + 1] - '0'; - continue; } - if (str[loop] == '$' && str[loop + 1] == '{') + else if (str[loop] == '$' && str[loop + 1] == '{') { gsize tmp_len; @@ -430,7 +429,7 @@ g_free (tmp_str); } } - } + return max_token; } diff -Nru mc-4.8.30/lib/search/search.c mc-4.8.31/lib/search/search.c --- mc-4.8.30/lib/search/search.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/search/search.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Search text engine. Interface functions - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/serialize.c mc-4.8.31/lib/serialize.c --- mc-4.8.30/lib/serialize.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/serialize.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Provides a serialize/unserialize functionality for INI-like formats. - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/shell.c mc-4.8.31/lib/shell.c --- mc-4.8.30/lib/shell.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/shell.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Provides a functions for working with shell. - Copyright (C) 2006-2023 + Copyright (C) 2006-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/skin/Makefile.in mc-4.8.31/lib/skin/Makefile.in --- mc-4.8.30/lib/skin/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/lib/skin/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/lib/skin/colors-old.c mc-4.8.31/lib/skin/colors-old.c --- mc-4.8.30/lib/skin/colors-old.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/skin/colors-old.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Skins engine. Work with colors - backward compatibility - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: @@ -69,6 +69,7 @@ {"editframedrag", "editor", "editframedrag"}, {"editlinestate", "editor", "editlinestate"}, {"editmarked", "editor", "editmarked"}, + {"editnonprintable", "editor", "editnonprintable"}, {"editnormal", "editor", "_default_"}, {"editwhitespace", "editor", "editwhitespace"}, {"errdhotfocus", "error", "errdhotfocus"}, diff -Nru mc-4.8.30/lib/skin/colors.c mc-4.8.31/lib/skin/colors.c --- mc-4.8.30/lib/skin/colors.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/skin/colors.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Skins engine. Work with colors - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: @@ -49,11 +49,11 @@ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ -static mc_skin_color_t * +static tty_color_pair_t * mc_skin_color_get_from_hash (mc_skin_t * mc_skin, const gchar * group, const gchar * key) { gchar kname[BUF_TINY]; - mc_skin_color_t *mc_skin_color; + tty_color_pair_t *mc_skin_color; if (group == NULL || key == NULL) return NULL; @@ -62,7 +62,7 @@ mc_skin = &mc_skin__default; g_snprintf (kname, sizeof (kname), "%s.%s", group, key); - mc_skin_color = (mc_skin_color_t *) g_hash_table_lookup (mc_skin->colors, (gpointer) kname); + mc_skin_color = (tty_color_pair_t *) g_hash_table_lookup (mc_skin->colors, (gpointer) kname); return mc_skin_color; } @@ -89,7 +89,7 @@ static void mc_skin_color_add_to_hash (mc_skin_t * mc_skin, const gchar * group, const gchar * key, - mc_skin_color_t * mc_skin_color) + tty_color_pair_t * mc_skin_color) { gchar *kname; @@ -105,10 +105,10 @@ /* --------------------------------------------------------------------------------------------- */ -static mc_skin_color_t * +static tty_color_pair_t * mc_skin_color_get_with_defaults (const gchar * group, const gchar * name) { - mc_skin_color_t *mc_skin_color; + tty_color_pair_t *mc_skin_color; mc_skin_color = mc_skin_color_get_from_hash (NULL, group, name); if (mc_skin_color != NULL) @@ -179,12 +179,12 @@ /* --------------------------------------------------------------------------------------------- */ -static mc_skin_color_t * +static tty_color_pair_t * mc_skin_color_get_from_ini_file (mc_skin_t * mc_skin, const gchar * group, const gchar * key) { gsize items_count; gchar **values; - mc_skin_color_t *mc_skin_color, *tmp; + tty_color_pair_t *mc_skin_color, *tmp; values = mc_config_get_string_list (mc_skin->config, group, key, &items_count); if (values == NULL || values[0] == NULL) @@ -193,7 +193,7 @@ return NULL; } - mc_skin_color = g_try_new0 (mc_skin_color_t, 1); + mc_skin_color = g_try_new0 (tty_color_pair_t, 1); if (mc_skin_color == NULL) { g_strfreev (values); @@ -201,21 +201,19 @@ } tmp = mc_skin_color_get_with_defaults (group, "_default_"); - mc_skin_color->fgcolor = (items_count > 0 && values[0][0]) ? + mc_skin_color->fg = (items_count > 0 && values[0][0]) ? mc_skin_color_look_up_alias (mc_skin, g_strstrip (g_strdup (values[0]))) : - (tmp != NULL) ? g_strdup (tmp->fgcolor) : NULL; - mc_skin_color->bgcolor = (items_count > 1 && values[1][0]) ? + (tmp != NULL) ? g_strdup (tmp->fg) : NULL; + mc_skin_color->bg = (items_count > 1 && values[1][0]) ? mc_skin_color_look_up_alias (mc_skin, g_strstrip (g_strdup (values[1]))) : - (tmp != NULL) ? g_strdup (tmp->bgcolor) : NULL; + (tmp != NULL) ? g_strdup (tmp->bg) : NULL; mc_skin_color->attrs = (items_count > 2 && values[2][0]) ? mc_skin_color_look_up_alias (mc_skin, g_strstrip (g_strdup (values[2]))) : (tmp != NULL) ? g_strdup (tmp->attrs) : NULL; g_strfreev (values); - mc_skin_color->pair_index = - tty_try_alloc_color_pair2 (mc_skin_color->fgcolor, mc_skin_color->bgcolor, - mc_skin_color->attrs, FALSE); + mc_skin_color->pair_index = tty_try_alloc_color_pair (mc_skin_color, FALSE); return mc_skin_color; } @@ -225,16 +223,15 @@ static void mc_skin_color_set_default_for_terminal (mc_skin_t * mc_skin) { - mc_skin_color_t *mc_skin_color; - mc_skin_color = g_try_new0 (mc_skin_color_t, 1); + tty_color_pair_t *mc_skin_color; + + mc_skin_color = g_try_new0 (tty_color_pair_t, 1); if (mc_skin_color != NULL) { - mc_skin_color->fgcolor = g_strdup ("default"); - mc_skin_color->bgcolor = g_strdup ("default"); + mc_skin_color->fg = g_strdup ("default"); + mc_skin_color->bg = g_strdup ("default"); mc_skin_color->attrs = NULL; - mc_skin_color->pair_index = - tty_try_alloc_color_pair2 (mc_skin_color->fgcolor, mc_skin_color->bgcolor, - mc_skin_color->attrs, FALSE); + mc_skin_color->pair_index = tty_try_alloc_color_pair (mc_skin_color, FALSE); mc_skin_color_add_to_hash (mc_skin, "skin", "terminal_default_color", mc_skin_color); } } @@ -305,6 +302,7 @@ EDITOR_BOLD_COLOR = mc_skin_color_get ("editor", "editbold"); EDITOR_MARKED_COLOR = mc_skin_color_get ("editor", "editmarked"); EDITOR_WHITESPACE_COLOR = mc_skin_color_get ("editor", "editwhitespace"); + EDITOR_NONPRINTABLE_COLOR = mc_skin_color_get ("editor", "editnonprintable"); EDITOR_RIGHT_MARGIN_COLOR = mc_skin_color_get ("editor", "editrightmargin"); LINE_STATE_COLOR = mc_skin_color_get ("editor", "editlinestate"); EDITOR_BACKGROUND = mc_skin_color_get ("editor", "editbg"); @@ -363,7 +361,7 @@ gboolean ret = FALSE; gsize items_count; gchar **groups, **orig_groups; - mc_skin_color_t *mc_skin_color; + tty_color_pair_t *mc_skin_color; mc_skin_color_check_bw_mode (mc_skin); @@ -377,7 +375,7 @@ if (mc_skin_color == NULL) goto ret; - tty_color_set_defaults (mc_skin_color->fgcolor, mc_skin_color->bgcolor, mc_skin_color->attrs); + tty_color_set_defaults (mc_skin_color); mc_skin_color_add_to_hash (mc_skin, "core", "_default_", mc_skin_color); for (groups = orig_groups; *groups != NULL; groups++) @@ -412,7 +410,7 @@ int mc_skin_color_get (const gchar * group, const gchar * name) { - mc_skin_color_t *mc_skin_color; + tty_color_pair_t *mc_skin_color; mc_skin_color = mc_skin_color_get_with_defaults (group, name); diff -Nru mc-4.8.30/lib/skin/common.c mc-4.8.31/lib/skin/common.c --- mc-4.8.30/lib/skin/common.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/skin/common.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Skins engine. Interface functions - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: @@ -54,9 +54,10 @@ static void mc_skin_hash_destroy_value (gpointer data) { - mc_skin_color_t *mc_skin_color = (mc_skin_color_t *) data; - g_free (mc_skin_color->fgcolor); - g_free (mc_skin_color->bgcolor); + tty_color_pair_t *mc_skin_color = (tty_color_pair_t *) data; + + g_free (mc_skin_color->fg); + g_free (mc_skin_color->bg); g_free (mc_skin_color->attrs); g_free (mc_skin_color); } @@ -180,8 +181,7 @@ void mc_skin_deinit (void) { - tty_color_free_all_tmp (); - tty_color_free_all_non_tmp (); + tty_color_free_all (); MC_PTR_FREE (mc_skin__default.name); g_hash_table_destroy (mc_skin__default.colors); diff -Nru mc-4.8.30/lib/skin/hc-skins.c mc-4.8.31/lib/skin/hc-skins.c --- mc-4.8.30/lib/skin/hc-skins.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/skin/hc-skins.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Skins engine. Set of hardcoded skins - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/skin/ini-file.c mc-4.8.31/lib/skin/ini-file.c --- mc-4.8.30/lib/skin/ini-file.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/skin/ini-file.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Skins engine. Reading and parse ini-files - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/skin/internal.h mc-4.8.31/lib/skin/internal.h --- mc-4.8.30/lib/skin/internal.h 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/skin/internal.h 2024-01-20 19:34:38.000000000 +0000 @@ -10,14 +10,6 @@ /*** structures declarations (and typedefs of structures)*****************************************/ -typedef struct mc_skin_color_struct -{ - gchar *fgcolor; - gchar *bgcolor; - gchar *attrs; - int pair_index; -} mc_skin_color_t; - /*** global variables defined in .c file *********************************************************/ /*** declarations of public functions ************************************************************/ diff -Nru mc-4.8.30/lib/skin/lines.c mc-4.8.31/lib/skin/lines.c --- mc-4.8.30/lib/skin/lines.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/skin/lines.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Skins engine. Work with line draving chars. - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: @@ -68,33 +68,31 @@ mc_skin_hardcoded_space_lines (mc_skin); else if (mc_global.tty.ugly_line_drawing) mc_skin_hardcoded_ugly_lines (mc_skin); - else - { - /* single lines */ - mc_tty_frm[MC_TTY_FRM_VERT] = mc_skin_lines_load_frm (mc_skin, "vert"); - mc_tty_frm[MC_TTY_FRM_HORIZ] = mc_skin_lines_load_frm (mc_skin, "horiz"); - mc_tty_frm[MC_TTY_FRM_LEFTTOP] = mc_skin_lines_load_frm (mc_skin, "lefttop"); - mc_tty_frm[MC_TTY_FRM_RIGHTTOP] = mc_skin_lines_load_frm (mc_skin, "righttop"); - mc_tty_frm[MC_TTY_FRM_LEFTBOTTOM] = mc_skin_lines_load_frm (mc_skin, "leftbottom"); - mc_tty_frm[MC_TTY_FRM_RIGHTBOTTOM] = mc_skin_lines_load_frm (mc_skin, "rightbottom"); - mc_tty_frm[MC_TTY_FRM_TOPMIDDLE] = mc_skin_lines_load_frm (mc_skin, "topmiddle"); - mc_tty_frm[MC_TTY_FRM_BOTTOMMIDDLE] = mc_skin_lines_load_frm (mc_skin, "bottommiddle"); - mc_tty_frm[MC_TTY_FRM_LEFTMIDDLE] = mc_skin_lines_load_frm (mc_skin, "leftmiddle"); - mc_tty_frm[MC_TTY_FRM_RIGHTMIDDLE] = mc_skin_lines_load_frm (mc_skin, "rightmiddle"); - mc_tty_frm[MC_TTY_FRM_CROSS] = mc_skin_lines_load_frm (mc_skin, "cross"); - - /* double lines */ - mc_tty_frm[MC_TTY_FRM_DVERT] = mc_skin_lines_load_frm (mc_skin, "dvert"); - mc_tty_frm[MC_TTY_FRM_DHORIZ] = mc_skin_lines_load_frm (mc_skin, "dhoriz"); - mc_tty_frm[MC_TTY_FRM_DLEFTTOP] = mc_skin_lines_load_frm (mc_skin, "dlefttop"); - mc_tty_frm[MC_TTY_FRM_DRIGHTTOP] = mc_skin_lines_load_frm (mc_skin, "drighttop"); - mc_tty_frm[MC_TTY_FRM_DLEFTBOTTOM] = mc_skin_lines_load_frm (mc_skin, "dleftbottom"); - mc_tty_frm[MC_TTY_FRM_DRIGHTBOTTOM] = mc_skin_lines_load_frm (mc_skin, "drightbottom"); - mc_tty_frm[MC_TTY_FRM_DTOPMIDDLE] = mc_skin_lines_load_frm (mc_skin, "dtopmiddle"); - mc_tty_frm[MC_TTY_FRM_DBOTTOMMIDDLE] = mc_skin_lines_load_frm (mc_skin, "dbottommiddle"); - mc_tty_frm[MC_TTY_FRM_DLEFTMIDDLE] = mc_skin_lines_load_frm (mc_skin, "dleftmiddle"); - mc_tty_frm[MC_TTY_FRM_DRIGHTMIDDLE] = mc_skin_lines_load_frm (mc_skin, "drightmiddle"); - } + + /* single lines */ + mc_tty_frm[MC_TTY_FRM_VERT] = mc_skin_lines_load_frm (mc_skin, "vert"); + mc_tty_frm[MC_TTY_FRM_HORIZ] = mc_skin_lines_load_frm (mc_skin, "horiz"); + mc_tty_frm[MC_TTY_FRM_LEFTTOP] = mc_skin_lines_load_frm (mc_skin, "lefttop"); + mc_tty_frm[MC_TTY_FRM_RIGHTTOP] = mc_skin_lines_load_frm (mc_skin, "righttop"); + mc_tty_frm[MC_TTY_FRM_LEFTBOTTOM] = mc_skin_lines_load_frm (mc_skin, "leftbottom"); + mc_tty_frm[MC_TTY_FRM_RIGHTBOTTOM] = mc_skin_lines_load_frm (mc_skin, "rightbottom"); + mc_tty_frm[MC_TTY_FRM_TOPMIDDLE] = mc_skin_lines_load_frm (mc_skin, "topmiddle"); + mc_tty_frm[MC_TTY_FRM_BOTTOMMIDDLE] = mc_skin_lines_load_frm (mc_skin, "bottommiddle"); + mc_tty_frm[MC_TTY_FRM_LEFTMIDDLE] = mc_skin_lines_load_frm (mc_skin, "leftmiddle"); + mc_tty_frm[MC_TTY_FRM_RIGHTMIDDLE] = mc_skin_lines_load_frm (mc_skin, "rightmiddle"); + mc_tty_frm[MC_TTY_FRM_CROSS] = mc_skin_lines_load_frm (mc_skin, "cross"); + + /* double lines */ + mc_tty_frm[MC_TTY_FRM_DVERT] = mc_skin_lines_load_frm (mc_skin, "dvert"); + mc_tty_frm[MC_TTY_FRM_DHORIZ] = mc_skin_lines_load_frm (mc_skin, "dhoriz"); + mc_tty_frm[MC_TTY_FRM_DLEFTTOP] = mc_skin_lines_load_frm (mc_skin, "dlefttop"); + mc_tty_frm[MC_TTY_FRM_DRIGHTTOP] = mc_skin_lines_load_frm (mc_skin, "drighttop"); + mc_tty_frm[MC_TTY_FRM_DLEFTBOTTOM] = mc_skin_lines_load_frm (mc_skin, "dleftbottom"); + mc_tty_frm[MC_TTY_FRM_DRIGHTBOTTOM] = mc_skin_lines_load_frm (mc_skin, "drightbottom"); + mc_tty_frm[MC_TTY_FRM_DTOPMIDDLE] = mc_skin_lines_load_frm (mc_skin, "dtopmiddle"); + mc_tty_frm[MC_TTY_FRM_DBOTTOMMIDDLE] = mc_skin_lines_load_frm (mc_skin, "dbottommiddle"); + mc_tty_frm[MC_TTY_FRM_DLEFTMIDDLE] = mc_skin_lines_load_frm (mc_skin, "dleftmiddle"); + mc_tty_frm[MC_TTY_FRM_DRIGHTMIDDLE] = mc_skin_lines_load_frm (mc_skin, "drightmiddle"); } /* --------------------------------------------------------------------------------------------- */ diff -Nru mc-4.8.30/lib/skin.h mc-4.8.31/lib/skin.h --- mc-4.8.30/lib/skin.h 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/skin.h 2024-01-20 19:34:38.000000000 +0000 @@ -87,28 +87,29 @@ * Last is defined to view color. */ #define EDITOR_NORMAL_COLOR mc_skin_color__cache[49] -#define EDITOR_BOLD_COLOR mc_skin_color__cache[50] -#define EDITOR_MARKED_COLOR mc_skin_color__cache[51] -#define EDITOR_WHITESPACE_COLOR mc_skin_color__cache[52] -#define EDITOR_RIGHT_MARGIN_COLOR mc_skin_color__cache[53] -#define EDITOR_BACKGROUND mc_skin_color__cache[54] -#define EDITOR_FRAME mc_skin_color__cache[55] -#define EDITOR_FRAME_ACTIVE mc_skin_color__cache[56] -#define EDITOR_FRAME_DRAG mc_skin_color__cache[57] +#define EDITOR_NONPRINTABLE_COLOR mc_skin_color__cache[50] +#define EDITOR_BOLD_COLOR mc_skin_color__cache[51] +#define EDITOR_MARKED_COLOR mc_skin_color__cache[52] +#define EDITOR_WHITESPACE_COLOR mc_skin_color__cache[53] +#define EDITOR_RIGHT_MARGIN_COLOR mc_skin_color__cache[54] +#define EDITOR_BACKGROUND mc_skin_color__cache[55] +#define EDITOR_FRAME mc_skin_color__cache[56] +#define EDITOR_FRAME_ACTIVE mc_skin_color__cache[57] +#define EDITOR_FRAME_DRAG mc_skin_color__cache[58] /* color of left 8 char status per line */ -#define LINE_STATE_COLOR mc_skin_color__cache[58] -#define BOOK_MARK_COLOR mc_skin_color__cache[59] -#define BOOK_MARK_FOUND_COLOR mc_skin_color__cache[60] +#define LINE_STATE_COLOR mc_skin_color__cache[59] +#define BOOK_MARK_COLOR mc_skin_color__cache[60] +#define BOOK_MARK_FOUND_COLOR mc_skin_color__cache[61] /* Diff colors */ -#define DFF_ADD_COLOR mc_skin_color__cache[61] -#define DFF_CHG_COLOR mc_skin_color__cache[62] -#define DFF_CHH_COLOR mc_skin_color__cache[63] -#define DFF_CHD_COLOR mc_skin_color__cache[64] -#define DFF_DEL_COLOR mc_skin_color__cache[65] -#define DFF_ERROR_COLOR mc_skin_color__cache[66] +#define DFF_ADD_COLOR mc_skin_color__cache[62] +#define DFF_CHG_COLOR mc_skin_color__cache[63] +#define DFF_CHH_COLOR mc_skin_color__cache[64] +#define DFF_CHD_COLOR mc_skin_color__cache[65] +#define DFF_DEL_COLOR mc_skin_color__cache[66] +#define DFF_ERROR_COLOR mc_skin_color__cache[67] -#define MC_SKIN_COLOR_CACHE_COUNT 67 +#define MC_SKIN_COLOR_CACHE_COUNT 68 /*** enums ***************************************************************************************/ diff -Nru mc-4.8.30/lib/strutil/Makefile.in mc-4.8.31/lib/strutil/Makefile.in --- mc-4.8.30/lib/strutil/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/lib/strutil/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/lib/strutil/replace.c mc-4.8.31/lib/strutil/replace.c --- mc-4.8.30/lib/strutil/replace.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/strutil/replace.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Functions for replacing substrings in strings. - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/strutil/strescape.c mc-4.8.31/lib/strutil/strescape.c --- mc-4.8.30/lib/strutil/strescape.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/strutil/strescape.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Functions for escaping and unescaping strings - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/strutil/strutil.c mc-4.8.31/lib/strutil/strutil.c --- mc-4.8.30/lib/strutil/strutil.c 2023-08-13 18:39:18.000000000 +0000 +++ mc-4.8.31/lib/strutil/strutil.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Common strings utilities - Copyright (C) 2007-2023 + Copyright (C) 2007-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/strutil/strutil8bit.c mc-4.8.31/lib/strutil/strutil8bit.c --- mc-4.8.30/lib/strutil/strutil8bit.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/strutil/strutil8bit.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* 8bit strings utilities - Copyright (C) 2007-2023 + Copyright (C) 2007-2024 Free Software Foundation, Inc. Written by: @@ -677,13 +677,14 @@ return strcasecmp (s1, s2); #else - gint c1, c2; g_return_val_if_fail (s1 != NULL, 0); g_return_val_if_fail (s2 != NULL, 0); - while (*s1 != '\0' && *s2 != '\0') + for (; *s1 != '\0' && *s2 != '\0'; s1++, s2++) { + gint c1, c2; + /* According to A. Cox, some platforms have islower's that * don't work right on non-uppercase */ @@ -691,8 +692,6 @@ c2 = isupper ((guchar) * s2) ? tolower ((guchar) * s2) : *s2; if (c1 != c2) return (c1 - c2); - s1++; - s2++; } return (((gint) (guchar) * s1) - ((gint) (guchar) * s2)); @@ -716,11 +715,12 @@ #ifdef HAVE_STRNCASECMP return strncasecmp (s1, s2, n); #else - gint c1, c2; - while (n != 0 && *s1 != '\0' && *s2 != '\0') + for (; *s1 != '\0' && *s2 != '\0'; s1++, s2++) { - n -= 1; + gint c1, c2; + + n--; /* According to A. Cox, some platforms have islower's that * don't work right on non-uppercase */ @@ -728,8 +728,6 @@ c2 = isupper ((guchar) * s2) ? tolower ((guchar) * s2) : *s2; if (c1 != c2) return (c1 - c2); - s1++; - s2++; } if (n == 0) diff -Nru mc-4.8.30/lib/strutil/strutilascii.c mc-4.8.31/lib/strutil/strutilascii.c --- mc-4.8.30/lib/strutil/strutilascii.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/strutil/strutilascii.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* ASCII strings utilities - Copyright (C) 2007-2023 + Copyright (C) 2007-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/strutil/strutilutf8.c mc-4.8.31/lib/strutil/strutilutf8.c --- mc-4.8.30/lib/strutil/strutilutf8.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/strutil/strutilutf8.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* UTF-8 strings utilities - Copyright (C) 2007-2023 + Copyright (C) 2007-2024 Free Software Foundation, Inc. Written by: @@ -901,12 +901,12 @@ else { int result; - GString *buffer; + char *buffer; - buffer = g_string_new (text); - str_utf8_fix_string (buffer->str); - result = g_utf8_offset_to_pointer (buffer->str, length) - buffer->str; - g_string_free (buffer, TRUE); + buffer = g_strdup (text); + str_utf8_fix_string (buffer); + result = g_utf8_offset_to_pointer (buffer, length) - buffer; + g_free (buffer); return result; } } diff -Nru mc-4.8.30/lib/strutil/strverscmp.c mc-4.8.31/lib/strutil/strverscmp.c --- mc-4.8.30/lib/strutil/strverscmp.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/strutil/strverscmp.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Compare strings while treating digits characters numerically. - Copyright (C) 1997-2023 + Copyright (C) 1997-2024 Free Software Foundation, Inc. This file is part of the GNU C Library. diff -Nru mc-4.8.30/lib/strutil/xstrtol.c mc-4.8.31/lib/strutil/xstrtol.c --- mc-4.8.30/lib/strutil/xstrtol.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/strutil/xstrtol.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,6 +1,6 @@ /* A more useful interface to strtol. - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff -Nru mc-4.8.30/lib/timefmt.c mc-4.8.31/lib/timefmt.c --- mc-4.8.30/lib/timefmt.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/timefmt.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Time formatting functions - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/tty/Makefile.in mc-4.8.31/lib/tty/Makefile.in --- mc-4.8.30/lib/tty/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/lib/tty/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -137,7 +137,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/lib/tty/color-internal.c mc-4.8.31/lib/tty/color-internal.c --- mc-4.8.30/lib/tty/color-internal.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/tty/color-internal.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Internal stuff of color setup - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -184,9 +184,9 @@ char name[9]; if (idx < 256) - sprintf (name, "color%d", idx); + g_snprintf (name, sizeof (name), "color%d", idx); else - sprintf (name, "#%06X", (unsigned int) idx & 0xFFFFFF); + g_snprintf (name, sizeof (name), "#%06X", (unsigned int) idx & 0xFFFFFF); return g_intern_string (name); } return "default"; diff -Nru mc-4.8.30/lib/tty/color-internal.h mc-4.8.31/lib/tty/color-internal.h --- mc-4.8.30/lib/tty/color-internal.h 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/tty/color-internal.h 2024-01-20 19:34:38.000000000 +0000 @@ -31,14 +31,15 @@ /*** structures declarations (and typedefs of structures)*****************************************/ -typedef struct mc_color_pair_struct +/* Screen library specific color pair */ +typedef struct { - int ifg; - int ibg; + int fg; + int bg; int attr; size_t pair_index; gboolean is_temp; -} tty_color_pair_t; +} tty_color_lib_pair_t; /*** global variables defined in .c file *********************************************************/ @@ -54,7 +55,7 @@ void tty_color_init_lib (gboolean disable, gboolean force); void tty_color_deinit_lib (void); -void tty_color_try_alloc_pair_lib (tty_color_pair_t * mc_color_pair); +void tty_color_try_alloc_lib_pair (tty_color_lib_pair_t * mc_color_pair); /*** inline functions ****************************************************************************/ diff -Nru mc-4.8.30/lib/tty/color-ncurses.c mc-4.8.31/lib/tty/color-ncurses.c --- mc-4.8.30/lib/tty/color-ncurses.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/tty/color-ncurses.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Color setup for NCurses screen library - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -103,7 +103,7 @@ /* --------------------------------------------------------------------------------------------- */ static void -mc_tty_color_pair_init_special (tty_color_pair_t * mc_color_pair, +mc_tty_color_pair_init_special (tty_color_lib_pair_t * mc_color_pair, int fg1, int bg1, int fg2, int bg2, int attr) { if (has_colors () && !mc_tty_color_disable) @@ -145,11 +145,11 @@ /* --------------------------------------------------------------------------------------------- */ void -tty_color_try_alloc_pair_lib (tty_color_pair_t * mc_color_pair) +tty_color_try_alloc_lib_pair (tty_color_lib_pair_t * mc_color_pair) { - if (mc_color_pair->ifg <= (int) SPEC_A_REVERSE) + if (mc_color_pair->fg <= (int) SPEC_A_REVERSE) { - switch (mc_color_pair->ifg) + switch (mc_color_pair->fg) { case SPEC_A_REVERSE: mc_tty_color_pair_init_special (mc_color_pair, @@ -179,8 +179,8 @@ { int ifg, ibg, attr; - ifg = mc_color_pair->ifg; - ibg = mc_color_pair->ibg; + ifg = mc_color_pair->fg; + ibg = mc_color_pair->bg; attr = mc_color_pair->attr; /* In legacy color mode, change bright colors into bold */ diff -Nru mc-4.8.30/lib/tty/color-slang.c mc-4.8.31/lib/tty/color-slang.c --- mc-4.8.30/lib/tty/color-slang.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/tty/color-slang.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Color setup for S_Lang screen library - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -99,7 +99,7 @@ /* --------------------------------------------------------------------------------------------- */ static void -mc_tty_color_pair_init_special (tty_color_pair_t * mc_color_pair, +mc_tty_color_pair_init_special (tty_color_lib_pair_t * mc_color_pair, const char *fg1, const char *bg1, const char *fg2, const char *bg2, SLtt_Char_Type mask) { @@ -145,11 +145,11 @@ /* --------------------------------------------------------------------------------------------- */ void -tty_color_try_alloc_pair_lib (tty_color_pair_t * mc_color_pair) +tty_color_try_alloc_lib_pair (tty_color_lib_pair_t * mc_color_pair) { - if (mc_color_pair->ifg <= (int) SPEC_A_REVERSE) + if (mc_color_pair->fg <= (int) SPEC_A_REVERSE) { - switch (mc_color_pair->ifg) + switch (mc_color_pair->fg) { case SPEC_A_REVERSE: mc_tty_color_pair_init_special (mc_color_pair, @@ -176,8 +176,8 @@ { const char *fg, *bg; - fg = tty_color_get_name_by_index (mc_color_pair->ifg); - bg = tty_color_get_name_by_index (mc_color_pair->ibg); + fg = tty_color_get_name_by_index (mc_color_pair->fg); + bg = tty_color_get_name_by_index (mc_color_pair->bg); SLtt_set_color (mc_color_pair->pair_index, (char *) "", (char *) fg, (char *) bg); SLtt_add_color_attribute (mc_color_pair->pair_index, mc_color_pair->attr); } diff -Nru mc-4.8.30/lib/tty/color.c mc-4.8.31/lib/tty/color.c --- mc-4.8.30/lib/tty/color.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/tty/color.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Color setup. Interface functions. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -46,9 +46,15 @@ /*** global variables ****************************************************************************/ -static char *tty_color_defaults__fg = NULL; -static char *tty_color_defaults__bg = NULL; -static char *tty_color_defaults__attrs = NULL; +/* *INDENT-OFF* */ +static tty_color_pair_t tty_color_defaults = +{ + .fg = NULL, + .bg = NULL, + .attrs = NULL, + .pair_index = 0 +}; +/* *INDENT-ON* */ /* Set if we are actually using colors */ gboolean use_colors = FALSE; @@ -67,25 +73,23 @@ /*** file scope functions ************************************************************************/ /* --------------------------------------------------------------------------------------------- */ -static gboolean -tty_color_free_condition_cb (gpointer key, gpointer value, gpointer user_data) +static void +mc_color__deinit (tty_color_pair_t * color) { - tty_color_pair_t *mc_color_pair = (tty_color_pair_t *) value; - gboolean is_temp_color; - - (void) key; - - is_temp_color = user_data != NULL; - return (mc_color_pair->is_temp == is_temp_color); + g_free (color->fg); + g_free (color->bg); + g_free (color->attrs); } /* --------------------------------------------------------------------------------------------- */ -static void -tty_color_free_all (gboolean is_temp_color) +static gboolean +tty_color_free_temp_cb (gpointer key, gpointer value, gpointer user_data) { - g_hash_table_foreach_remove (mc_tty_color__hashtable, tty_color_free_condition_cb, - is_temp_color ? GSIZE_TO_POINTER (1) : NULL); + (void) key; + (void) user_data; + + return ((tty_color_lib_pair_t *) value)->is_temp; } /* --------------------------------------------------------------------------------------------- */ @@ -93,7 +97,7 @@ static gboolean tty_color_get_next_cpn_cb (gpointer key, gpointer value, gpointer user_data) { - tty_color_pair_t *mc_color_pair = (tty_color_pair_t *) value; + tty_color_lib_pair_t *mc_color_pair = (tty_color_lib_pair_t *) value; size_t cp = GPOINTER_TO_SIZE (user_data); (void) key; @@ -134,10 +138,7 @@ tty_colors_done (void) { tty_color_deinit_lib (); - g_free (tty_color_defaults__fg); - g_free (tty_color_defaults__bg); - g_free (tty_color_defaults__attrs); - + mc_color__deinit (&tty_color_defaults); g_hash_table_destroy (mc_tty_color__hashtable); } @@ -152,30 +153,27 @@ /* --------------------------------------------------------------------------------------------- */ int -tty_try_alloc_color_pair2 (const char *fg, const char *bg, const char *attrs, - gboolean is_temp_color) +tty_try_alloc_color_pair (const tty_color_pair_t * color, gboolean is_temp) { + gboolean is_base; gchar *color_pair; - tty_color_pair_t *mc_color_pair; + tty_color_lib_pair_t *mc_color_pair; int ifg, ibg, attr; - if (fg == NULL || strcmp (fg, "base") == 0) - fg = tty_color_defaults__fg; - if (bg == NULL || strcmp (bg, "base") == 0) - bg = tty_color_defaults__bg; - if (attrs == NULL || strcmp (attrs, "base") == 0) - attrs = tty_color_defaults__attrs; - - ifg = tty_color_get_index_by_name (fg); - ibg = tty_color_get_index_by_name (bg); - attr = tty_attr_get_bits (attrs); + is_base = (color->fg == NULL || strcmp (color->fg, "base") == 0); + ifg = tty_color_get_index_by_name (is_base ? tty_color_defaults.fg : color->fg); + is_base = (color->bg == NULL || strcmp (color->bg, "base") == 0); + ibg = tty_color_get_index_by_name (is_base ? tty_color_defaults.bg : color->bg); + is_base = (color->attrs == NULL || strcmp (color->attrs, "base") == 0); + attr = tty_attr_get_bits (is_base ? tty_color_defaults.attrs : color->attrs); color_pair = g_strdup_printf ("%d.%d.%d", ifg, ibg, attr); if (color_pair == NULL) return 0; mc_color_pair = - (tty_color_pair_t *) g_hash_table_lookup (mc_tty_color__hashtable, (gpointer) color_pair); + (tty_color_lib_pair_t *) g_hash_table_lookup (mc_tty_color__hashtable, + (gpointer) color_pair); if (mc_color_pair != NULL) { @@ -183,20 +181,20 @@ return mc_color_pair->pair_index; } - mc_color_pair = g_try_new0 (tty_color_pair_t, 1); + mc_color_pair = g_try_new0 (tty_color_lib_pair_t, 1); if (mc_color_pair == NULL) { g_free (color_pair); return 0; } - mc_color_pair->is_temp = is_temp_color; - mc_color_pair->ifg = ifg; - mc_color_pair->ibg = ibg; + mc_color_pair->is_temp = is_temp; + mc_color_pair->fg = ifg; + mc_color_pair->bg = ibg; mc_color_pair->attr = attr; mc_color_pair->pair_index = tty_color_get_next__color_pair_number (); - tty_color_try_alloc_pair_lib (mc_color_pair); + tty_color_try_alloc_lib_pair (mc_color_pair); g_hash_table_insert (mc_tty_color__hashtable, (gpointer) color_pair, (gpointer) mc_color_pair); @@ -205,40 +203,31 @@ /* --------------------------------------------------------------------------------------------- */ -int -tty_try_alloc_color_pair (const char *fg, const char *bg, const char *attrs) -{ - return tty_try_alloc_color_pair2 (fg, bg, attrs, TRUE); -} - -/* --------------------------------------------------------------------------------------------- */ - void -tty_color_free_all_tmp (void) +tty_color_free_temp (void) { - tty_color_free_all (TRUE); + g_hash_table_foreach_remove (mc_tty_color__hashtable, tty_color_free_temp_cb, NULL); } /* --------------------------------------------------------------------------------------------- */ void -tty_color_free_all_non_tmp (void) +tty_color_free_all (void) { - tty_color_free_all (FALSE); + g_hash_table_remove_all (mc_tty_color__hashtable); } /* --------------------------------------------------------------------------------------------- */ void -tty_color_set_defaults (const char *fgcolor, const char *bgcolor, const char *attrs) +tty_color_set_defaults (const tty_color_pair_t * color) { - g_free (tty_color_defaults__fg); - g_free (tty_color_defaults__bg); - g_free (tty_color_defaults__attrs); - - tty_color_defaults__fg = g_strdup (fgcolor); - tty_color_defaults__bg = g_strdup (bgcolor); - tty_color_defaults__attrs = g_strdup (attrs); + mc_color__deinit (&tty_color_defaults); + + tty_color_defaults.fg = g_strdup (color->fg); + tty_color_defaults.bg = g_strdup (color->bg); + tty_color_defaults.attrs = g_strdup (color->attrs); + tty_color_defaults.pair_index = 0; } /* --------------------------------------------------------------------------------------------- */ diff -Nru mc-4.8.30/lib/tty/color.h mc-4.8.31/lib/tty/color.h --- mc-4.8.30/lib/tty/color.h 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/tty/color.h 2024-01-20 19:34:38.000000000 +0000 @@ -21,6 +21,14 @@ /*** typedefs(not structures) and defined constants **********************************************/ +typedef struct +{ + char *fg; + char *bg; + char *attrs; + size_t pair_index; +} tty_color_pair_t; + /*** enums ***************************************************************************************/ /*** structures declarations (and typedefs of structures)*****************************************/ @@ -33,18 +41,16 @@ void tty_colors_done (void); gboolean tty_use_colors (void); -int tty_try_alloc_color_pair (const char *fg, const char *bg, const char *attrs); -int tty_try_alloc_color_pair2 (const char *fg, const char *bg, const char *attrs, - gboolean is_temp_color); +int tty_try_alloc_color_pair (const tty_color_pair_t * color, gboolean is_temp); -void tty_color_free_all_tmp (void); -void tty_color_free_all_non_tmp (void); +void tty_color_free_temp (void); +void tty_color_free_all (void); void tty_setcolor (int color); void tty_lowlevel_setcolor (int color); void tty_set_normal_attrs (void); -void tty_color_set_defaults (const char *fgcolor, const char *bgcolor, const char *attrs); +void tty_color_set_defaults (const tty_color_pair_t * color); extern gboolean tty_use_256colors (GError ** error); extern gboolean tty_use_truecolors (GError ** error); diff -Nru mc-4.8.30/lib/tty/key.c mc-4.8.31/lib/tty/key.c --- mc-4.8.30/lib/tty/key.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/tty/key.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Keyboard support routines. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -1173,28 +1173,19 @@ /* --------------------------------------------------------------------------------------------- */ static void -learn_store_key (char *buffer, char **p, int c) +learn_store_key (GString * buffer, int c) { - if (*p - buffer > 253) - return; - if (c == ESC_CHAR) - { - *(*p)++ = '\\'; - *(*p)++ = 'e'; - } + g_string_append (buffer, "\\e"); else if (c < ' ') { - *(*p)++ = '^'; - *(*p)++ = c + 'a' - 1; + g_string_append_c (buffer, '^'); + g_string_append_c (buffer, c + 'a' - 1); } else if (c == '^') - { - *(*p)++ = '^'; - *(*p)++ = '^'; - } + g_string_append (buffer, "^^"); else - *(*p)++ = (char) c; + g_string_append_c (buffer, (char) c); } /* --------------------------------------------------------------------------------------------- */ @@ -2163,14 +2154,15 @@ fd_set Read_FD_Set; gint64 end_time; int c; - char buffer[256]; - char *p = buffer; + GString *buffer; + + buffer = g_string_sized_new (16); tty_keypad (FALSE); /* disable interpreting keys by ncurses */ c = tty_lowlevel_getch (); while (c == -1) c = tty_lowlevel_getch (); /* Sanity check, should be unnecessary */ - learn_store_key (buffer, &p, c); + learn_store_key (buffer, c); end_time = g_get_monotonic_time () + LEARN_TIMEOUT * MC_USEC_PER_MSEC; @@ -2194,12 +2186,12 @@ } if (c == -1) break; - learn_store_key (buffer, &p, c); + learn_store_key (buffer, c); } tty_keypad (TRUE); tty_nodelay (FALSE); - *p = '\0'; - return (buffer[0] != '\0' ? g_strdup (buffer) : NULL); + + return g_string_free (buffer, buffer->len == 0); #undef LEARN_TIMEOUT } diff -Nru mc-4.8.30/lib/tty/keyxdef.c mc-4.8.31/lib/tty/keyxdef.c --- mc-4.8.30/lib/tty/keyxdef.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/tty/keyxdef.c 2024-01-20 19:34:38.000000000 +0000 @@ -3,7 +3,7 @@ /* Additional keyboard support routines. - Copyright (C) 1998-2023 + Copyright (C) 1998-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/tty/mouse.c mc-4.8.31/lib/tty/mouse.c --- mc-4.8.30/lib/tty/mouse.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/tty/mouse.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Mouse managing - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/tty/tty-internal.c mc-4.8.31/lib/tty/tty-internal.c --- mc-4.8.30/lib/tty/tty-internal.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/tty/tty-internal.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Internal stuff of the terminal controlling library. - Copyright (C) 2019-2023 + Copyright (C) 2019-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/tty/tty-ncurses.c mc-4.8.31/lib/tty/tty-ncurses.c --- mc-4.8.30/lib/tty/tty-ncurses.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/tty/tty-ncurses.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Interface to the terminal controlling library. Ncurses wrapper. - Copyright (C) 2005-2023 + Copyright (C) 2005-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/tty/tty-slang.c mc-4.8.31/lib/tty/tty-slang.c --- mc-4.8.30/lib/tty/tty-slang.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/tty/tty-slang.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Interface to the terminal controlling library. Slang wrapper. - Copyright (C) 2005-2023 + Copyright (C) 2005-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/tty/tty.c mc-4.8.31/lib/tty/tty.c --- mc-4.8.30/lib/tty/tty.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/tty/tty.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Interface to the terminal controlling library. - Copyright (C) 2005-2023 + Copyright (C) 2005-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/tty/win.c mc-4.8.31/lib/tty/win.c --- mc-4.8.30/lib/tty/win.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/tty/win.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Terminal management xterm and rxvt support - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/tty/x11conn.c mc-4.8.31/lib/tty/x11conn.c --- mc-4.8.30/lib/tty/x11conn.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/tty/x11conn.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* X11 support for the Midnight Commander. - Copyright (C) 2005-2023 + Copyright (C) 2005-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/util.c mc-4.8.31/lib/util.c --- mc-4.8.30/lib/util.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/util.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Various utilities - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -256,6 +256,9 @@ { GString *ret; + if (s == NULL || *s == '\0') + return NULL; + ret = g_string_sized_new (64); if (*s == '-') @@ -305,7 +308,7 @@ g_string_append_c (ret, *s); } - return g_string_free (ret, FALSE); + return g_string_free (ret, ret->len == 0); } /* --------------------------------------------------------------------------------------------- */ @@ -314,7 +317,8 @@ fake_name_quote (const char *s, gboolean quote_percent) { (void) quote_percent; - return g_strdup (s); + + return (s == NULL || *s == '\0' ? NULL : g_strdup (s)); } /* --------------------------------------------------------------------------------------------- */ @@ -887,6 +891,11 @@ && magic[2] == 'Z' && magic[3] == 'M' && magic[4] == 'A' && magic[5] == 0x00) return COMPRESSION_LZMA; + /* LZO format - \x89\x4c\x5a\x4f\x00\x0d\x0a\x1a\x0a lzop compressed data */ + if (magic[0] == 0x89 && magic[1] == 0x4c && + magic[2] == 0x5a && magic[3] == 0x4f && magic[4] == 0x00 && magic[5] == 0x0d) + return COMPRESSION_LZO; + /* XZ compression magic */ if (magic[0] == 0xFD && magic[1] == 0x37 @@ -926,6 +935,8 @@ return "/ulz4" VFS_PATH_URL_DELIMITER; case COMPRESSION_LZMA: return "/ulzma" VFS_PATH_URL_DELIMITER; + case COMPRESSION_LZO: + return "/ulzo" VFS_PATH_URL_DELIMITER; case COMPRESSION_XZ: return "/uxz" VFS_PATH_URL_DELIMITER; case COMPRESSION_ZSTD: diff -Nru mc-4.8.30/lib/util.h mc-4.8.31/lib/util.h --- mc-4.8.30/lib/util.h 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/util.h 2024-01-20 19:34:38.000000000 +0000 @@ -84,6 +84,7 @@ COMPRESSION_LZIP, COMPRESSION_LZ4, COMPRESSION_LZMA, + COMPRESSION_LZO, COMPRESSION_XZ, COMPRESSION_ZSTD, }; diff -Nru mc-4.8.30/lib/utilunix.c mc-4.8.31/lib/utilunix.c --- mc-4.8.30/lib/utilunix.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/utilunix.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Various utilities - Unix variants - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/vfs/Makefile.in mc-4.8.31/lib/vfs/Makefile.in --- mc-4.8.30/lib/vfs/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/lib/vfs/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -135,7 +135,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/lib/vfs/direntry.c mc-4.8.31/lib/vfs/direntry.c --- mc-4.8.30/lib/vfs/direntry.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/vfs/direntry.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Directory cache support - Copyright (C) 1998-2023 + Copyright (C) 1998-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/vfs/gc.c mc-4.8.31/lib/vfs/gc.c --- mc-4.8.30/lib/vfs/gc.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/vfs/gc.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Virtual File System garbage collection code - Copyright (C) 2003-2023 + Copyright (C) 2003-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/vfs/interface.c mc-4.8.31/lib/vfs/interface.c --- mc-4.8.30/lib/vfs/interface.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/vfs/interface.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Virtual File System: interface functions - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/vfs/netutil.c mc-4.8.31/lib/vfs/netutil.c --- mc-4.8.30/lib/vfs/netutil.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/vfs/netutil.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Network utilities for the Midnight Commander Virtual File System. - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff -Nru mc-4.8.30/lib/vfs/parse_ls_vga.c mc-4.8.31/lib/vfs/parse_ls_vga.c --- mc-4.8.30/lib/vfs/parse_ls_vga.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/vfs/parse_ls_vga.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Routines for parsing output from the 'ls' command. - Copyright (C) 1988-2023 + Copyright (C) 1988-2024 Free Software Foundation, Inc. Copyright (C) 1995, 1996 Miguel de Icaza @@ -49,7 +49,7 @@ /*** file scope macro definitions ****************************************************************/ -/* Parsing code is used by ftpfs, fish and extfs */ +/* Parsing code is used by ftpfs, shell and extfs */ #define MAXCOLS 30 /*** file scope type declarations ****************************************************************/ diff -Nru mc-4.8.30/lib/vfs/path.c mc-4.8.31/lib/vfs/path.c --- mc-4.8.30/lib/vfs/path.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/vfs/path.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Virtual File System path handlers - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: @@ -546,13 +546,12 @@ g_string_append (ret_tokens, VFS_PATH_URL_DELIMITER); url_str = vfs_path_build_url_params_str (element, TRUE); - if (url_str->len != 0) + if (url_str != NULL) { g_string_append_len (ret_tokens, url_str->str, url_str->len); g_string_append_c (ret_tokens, PATH_SEP); + g_string_free (url_str, TRUE); } - - g_string_free (url_str, TRUE); } #ifdef HAVE_CHARSET @@ -663,13 +662,12 @@ g_string_append (buffer, VFS_PATH_URL_DELIMITER); url_str = vfs_path_build_url_params_str (element, !(flags & VPF_STRIP_PASSWORD)); - if (url_str->len != 0) + if (url_str != NULL) { g_string_append_len (buffer, url_str->str, url_str->len); g_string_append_c (buffer, PATH_SEP); + g_string_free (url_str, TRUE); } - - g_string_free (url_str, TRUE); } #ifdef HAVE_CHARSET @@ -1514,7 +1512,7 @@ * @param element path element * @param keep_password TRUE or FALSE * - * @return newly allocated string + * @return newly allocated non-empty string or NULL */ GString * @@ -1553,7 +1551,11 @@ g_string_append_printf (buffer, "%d", element->port); } - return buffer; + if (buffer->len != 0) + return buffer; + + g_string_free (buffer, TRUE); + return NULL; } /* --------------------------------------------------------------------------------------------- */ @@ -1574,14 +1576,16 @@ g_string_append (pretty_path, VFS_PATH_URL_DELIMITER); url_params = vfs_path_build_url_params_str (element, FALSE); - g_string_append_len (pretty_path, url_params->str, url_params->len); - g_string_free (url_params, TRUE); + if (url_params != NULL) + { + g_string_append_len (pretty_path, url_params->str, url_params->len); + g_string_free (url_params, TRUE); + } if (!IS_PATH_SEP (*element->path)) g_string_append_c (pretty_path, PATH_SEP); - g_string_append (pretty_path, element->path); - return pretty_path; + return g_string_append (pretty_path, element->path); } /* --------------------------------------------------------------------------------------------- */ diff -Nru mc-4.8.30/lib/vfs/utilvfs.c mc-4.8.31/lib/vfs/utilvfs.c --- mc-4.8.30/lib/vfs/utilvfs.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/vfs/utilvfs.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Utilities for VFS modules. - Copyright (C) 1988-2023 + Copyright (C) 1988-2024 Free Software Foundation, Inc. Copyright (C) 1995, 1996 Miguel de Icaza diff -Nru mc-4.8.30/lib/vfs/vfs.c mc-4.8.31/lib/vfs/vfs.c --- mc-4.8.30/lib/vfs/vfs.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/vfs/vfs.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Virtual File System switch code - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: 1995 Miguel de Icaza diff -Nru mc-4.8.30/lib/vfs/vfs.h mc-4.8.31/lib/vfs/vfs.h --- mc-4.8.30/lib/vfs/vfs.h 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/vfs/vfs.h 2024-01-20 19:34:38.000000000 +0000 @@ -68,7 +68,7 @@ #endif #ifdef EREMOTEIO -#define E_REMOTE EREMOTEIO /* if other side of ftp/fish reports error */ +#define E_REMOTE EREMOTEIO /* if other side of ftp/shell reports error */ #else #define E_REMOTE ENETUNREACH /* :-( there's no EREMOTEIO on some systems */ #endif @@ -133,7 +133,7 @@ { const char *name; /* "FIles over SHell" */ vfs_flags_t flags; - const char *prefix; /* "fish:" */ + const char *prefix; /* "shell:" */ int verrno; /* can't use errno because glibc2 might define errno as function */ gboolean flush; /* if set to TRUE, invalidate directory cache */ FILE *logfile; diff -Nru mc-4.8.30/lib/vfs/xdirentry.h mc-4.8.31/lib/vfs/xdirentry.h --- mc-4.8.30/lib/vfs/xdirentry.h 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/vfs/xdirentry.h 2024-01-20 19:34:38.000000000 +0000 @@ -109,7 +109,7 @@ } vfs_file_handler_t; /* - * One of our subclasses (tar, cpio, fish, ftpfs) with data and methods. + * One of our subclasses (tar, cpio, shell, ftpfs) with data and methods. * Extends vfs_class. */ struct vfs_s_subclass diff -Nru mc-4.8.30/lib/widget/Makefile.in mc-4.8.31/lib/widget/Makefile.in --- mc-4.8.30/lib/widget/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/lib/widget/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/lib/widget/background.c mc-4.8.31/lib/widget/background.c --- mc-4.8.30/lib/widget/background.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/widget/background.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 2020-2023 + Copyright (C) 2020-2024 The Free Software Foundation, Inc. Authors: diff -Nru mc-4.8.30/lib/widget/button.c mc-4.8.31/lib/widget/button.c --- mc-4.8.30/lib/widget/button.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/widget/button.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff -Nru mc-4.8.30/lib/widget/buttonbar.c mc-4.8.31/lib/widget/buttonbar.c --- mc-4.8.30/lib/widget/buttonbar.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/widget/buttonbar.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff -Nru mc-4.8.30/lib/widget/check.c mc-4.8.31/lib/widget/check.c --- mc-4.8.30/lib/widget/check.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/widget/check.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff -Nru mc-4.8.30/lib/widget/dialog-switch.c mc-4.8.31/lib/widget/dialog-switch.c --- mc-4.8.30/lib/widget/dialog-switch.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/widget/dialog-switch.c 2024-01-20 19:34:38.000000000 +0000 @@ -3,7 +3,7 @@ Original idea and code: Oleg "Olegarch" Konovalov - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/widget/dialog.c mc-4.8.31/lib/widget/dialog.c --- mc-4.8.30/lib/widget/dialog.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/widget/dialog.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Dialog box features module for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. @@ -83,7 +83,7 @@ /* --------------------------------------------------------------------------------------------- */ /** - * Read histories from the ${XDG_CACHE_HOME}/mc/history file + * Read histories from the ${XDG_DATA_HOME}/mc/history file */ static void dlg_read_history (WDialog * h) @@ -122,6 +122,16 @@ /* --------------------------------------------------------------------------------------------- */ +static void +dlg_help (const WDialog * h) +{ + ev_help_t event_data = { NULL, h->help_ctx }; + + mc_event_raise (MCEVENT_GROUP_CORE, "help", &event_data); +} + +/* --------------------------------------------------------------------------------------------- */ + static cb_ret_t dlg_execute_cmd (WDialog * h, long command) { @@ -152,10 +162,7 @@ break; case CK_Help: - { - ev_help_t event_data = { NULL, h->help_ctx }; - mc_event_raise (MCEVENT_GROUP_CORE, "help", &event_data); - } + dlg_help (h); break; case CK_Suspend: @@ -571,7 +578,7 @@ /* --------------------------------------------------------------------------------------------- */ /** - * Write history to the ${XDG_CACHE_HOME}/mc/history file + * Write history to the ${XDG_DATA_HOME}/mc/history file */ void dlg_save_history (WDialog * h) diff -Nru mc-4.8.30/lib/widget/frame.c mc-4.8.31/lib/widget/frame.c --- mc-4.8.30/lib/widget/frame.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/widget/frame.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 2020-2023 + Copyright (C) 2020-2024 The Free Software Foundation, Inc. Authors: diff -Nru mc-4.8.30/lib/widget/gauge.c mc-4.8.31/lib/widget/gauge.c --- mc-4.8.30/lib/widget/gauge.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/widget/gauge.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff -Nru mc-4.8.30/lib/widget/group.c mc-4.8.31/lib/widget/group.c --- mc-4.8.30/lib/widget/group.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/widget/group.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Widget group features module for the Midnight Commander - Copyright (C) 2020-2023 + Copyright (C) 2020-2024 The Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/widget/groupbox.c mc-4.8.31/lib/widget/groupbox.c --- mc-4.8.30/lib/widget/groupbox.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/widget/groupbox.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff -Nru mc-4.8.30/lib/widget/history.c mc-4.8.31/lib/widget/history.c --- mc-4.8.30/lib/widget/history.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/widget/history.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff -Nru mc-4.8.30/lib/widget/hline.c mc-4.8.31/lib/widget/hline.c --- mc-4.8.30/lib/widget/hline.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/widget/hline.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff -Nru mc-4.8.30/lib/widget/input.c mc-4.8.31/lib/widget/input.c --- mc-4.8.30/lib/widget/input.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/widget/input.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff -Nru mc-4.8.30/lib/widget/input_complete.c mc-4.8.31/lib/widget/input_complete.c --- mc-4.8.30/lib/widget/input_complete.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/widget/input_complete.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Input line filename/username/hostname/variable/command completion. (Let mc type for you...) - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: @@ -98,7 +98,6 @@ static char **hosts_p = NULL; static int hosts_alloclen = 0; -static int complete_height, complete_width; static WInput *input; static int min_end; static int start = 0; @@ -1275,11 +1274,9 @@ input = in; min_end = end; - complete_height = h; - complete_width = w; complete_dlg = - dlg_create (TRUE, y, x, complete_height, complete_width, WPOS_KEEP_DEFAULT, TRUE, + dlg_create (TRUE, y, x, h, w, WPOS_KEEP_DEFAULT, TRUE, dialog_colors, complete_callback, NULL, "[Completion]", NULL); complete_list = listbox_new (1, 1, h - 2, w - 2, FALSE, NULL); group_add_widget (GROUP (complete_dlg), complete_list); diff -Nru mc-4.8.30/lib/widget/label.c mc-4.8.31/lib/widget/label.c --- mc-4.8.30/lib/widget/label.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/widget/label.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff -Nru mc-4.8.30/lib/widget/listbox-window.c mc-4.8.31/lib/widget/listbox-window.c --- mc-4.8.30/lib/widget/listbox-window.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/widget/listbox-window.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Widget based utility functions. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff -Nru mc-4.8.30/lib/widget/listbox.c mc-4.8.31/lib/widget/listbox.c --- mc-4.8.30/lib/widget/listbox.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/widget/listbox.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff -Nru mc-4.8.30/lib/widget/menu.c mc-4.8.31/lib/widget/menu.c --- mc-4.8.30/lib/widget/menu.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/widget/menu.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Pulldown menu code - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -530,6 +530,24 @@ /* --------------------------------------------------------------------------------------------- */ +static void +menubar_help (const WMenuBar * menubar) +{ + ev_help_t event_data; + + event_data.filename = NULL; + + if (menubar->is_dropped) + event_data.node = MENU (g_list_nth_data (menubar->menu, menubar->current))->help_node; + else + event_data.node = "[Menu Bar]"; + + mc_event_raise (MCEVENT_GROUP_CORE, "help", &event_data); + menubar_draw (menubar); +} + +/* --------------------------------------------------------------------------------------------- */ + static cb_ret_t menubar_execute_cmd (WMenuBar * menubar, long command) { @@ -538,18 +556,7 @@ switch (command) { case CK_Help: - { - ev_help_t event_data = { NULL, NULL }; - - if (menubar->is_dropped) - event_data.node = - MENU (g_list_nth_data (menubar->menu, menubar->current))->help_node; - else - event_data.node = "[Menu Bar]"; - - mc_event_raise (MCEVENT_GROUP_CORE, "help", &event_data); - menubar_draw (menubar); - } + menubar_help (menubar); break; case CK_Left: diff -Nru mc-4.8.30/lib/widget/mouse.c mc-4.8.31/lib/widget/mouse.c --- mc-4.8.30/lib/widget/mouse.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/widget/mouse.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 2016-2023 + Copyright (C) 2016-2024 Free Software Foundation, Inc. Authors: diff -Nru mc-4.8.30/lib/widget/quick.c mc-4.8.31/lib/widget/quick.c --- mc-4.8.30/lib/widget/quick.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/widget/quick.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Widget based utility functions. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff -Nru mc-4.8.30/lib/widget/radio.c mc-4.8.31/lib/widget/radio.c --- mc-4.8.30/lib/widget/radio.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/widget/radio.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff -Nru mc-4.8.30/lib/widget/rect.c mc-4.8.31/lib/widget/rect.c --- mc-4.8.30/lib/widget/rect.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/widget/rect.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,6 +1,6 @@ /* Rectangular class for Midnight Commander widgets - Copyright (C) 2020-2023 + Copyright (C) 2020-2024 The Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/lib/widget/widget-common.c mc-4.8.31/lib/widget/widget-common.c --- mc-4.8.30/lib/widget/widget-common.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/widget/widget-common.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Widgets for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff -Nru mc-4.8.30/lib/widget/wtools.c mc-4.8.31/lib/widget/wtools.c --- mc-4.8.30/lib/widget/wtools.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/lib/widget/wtools.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Widget based utility functions. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Authors: diff -Nru mc-4.8.30/m4.include/mc-ext2fs-attr.m4 mc-4.8.31/m4.include/mc-ext2fs-attr.m4 --- mc-4.8.30/m4.include/mc-ext2fs-attr.m4 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/m4.include/mc-ext2fs-attr.m4 2024-01-20 19:34:38.000000000 +0000 @@ -12,9 +12,8 @@ if test x"$found_e2p" = "xyes"; then AC_DEFINE(ENABLE_EXT2FS_ATTR, 1, [Define to enable support for ext2fs attributes]) - AC_SUBST(EXT2FS_CFLAGS) - AC_SUBST(E2P_CFLAGS) MCLIBS="$MCLIBS $E2P_LIBS" + CPPFLAGS="$CPPFLAGS $EXT2FS_CFLAGS $E2P_CFLAGS" ext2fs_attr_msg="yes" else AC_MSG_WARN([e2p library not found or version too old (must be >= 1.42.4)]) diff -Nru mc-4.8.30/m4.include/mc-glib.m4 mc-4.8.31/m4.include/mc-glib.m4 --- mc-4.8.30/m4.include/mc-glib.m4 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/m4.include/mc-glib.m4 2024-01-20 19:34:38.000000000 +0000 @@ -8,12 +8,12 @@ g_module_supported="" found_gmodule=no - PKG_CHECK_MODULES(GMODULE, [gmodule-no-export-2.0 >= 2.30], [found_gmodule=yes], [:]) + PKG_CHECK_MODULES(GMODULE, [gmodule-no-export-2.0 >= 2.32], [found_gmodule=yes], [:]) if test x"$found_gmodule" = xyes; then g_module_supported="gmodule-no-export-2.0" else dnl try fallback to the generic gmodule - PKG_CHECK_MODULES(GMODULE, [gmodule-2.0 >= 2.30], [found_gmodule=yes], [:]) + PKG_CHECK_MODULES(GMODULE, [gmodule-2.0 >= 2.32], [found_gmodule=yes], [:]) if test x"$found_gmodule" = xyes; then g_module_supported="gmodule-2.0" fi @@ -78,9 +78,9 @@ AS_HELP_STRING([--with-glib-static], [Link glib statically @<:@no@:>@])) glib_found=no - PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.30], [glib_found=yes], [:]) + PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.32], [glib_found=yes], [:]) if test x"$glib_found" = xno; then - AC_MSG_ERROR([glib-2.0 not found or version too old (must be >= 2.30)]) + AC_MSG_ERROR([glib-2.0 not found or version too old (must be >= 2.32)]) fi ]) diff -Nru mc-4.8.30/m4.include/mc-vfs.m4 mc-4.8.31/m4.include/mc-vfs.m4 --- mc-4.8.30/m4.include/mc-vfs.m4 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/m4.include/mc-vfs.m4 2024-01-20 19:34:38.000000000 +0000 @@ -13,7 +13,7 @@ m4_include([m4.include/vfs/mc-vfs-sfs.m4]) m4_include([m4.include/vfs/mc-vfs-ftp.m4]) m4_include([m4.include/vfs/mc-vfs-sftp.m4]) -m4_include([m4.include/vfs/mc-vfs-fish.m4]) +m4_include([m4.include/vfs/mc-vfs-shell.m4]) m4_include([m4.include/vfs/mc-vfs-undelfs.m4]) m4_include([m4.include/vfs/mc-vfs-tarfs.m4]) m4_include([m4.include/vfs/mc-vfs-cpiofs.m4]) @@ -71,7 +71,7 @@ mc_VFS_CPIOFS mc_VFS_EXTFS - mc_VFS_FISH + mc_VFS_SHELL mc_VFS_FTP mc_VFS_SFS mc_VFS_SFTP @@ -80,7 +80,7 @@ AM_CONDITIONAL(ENABLE_VFS, [test x"$enable_vfs" = x"yes"]) - if test x"$enable_vfs_ftp" = x"yes" -o x"$enable_vfs_fish" = x"yes" -o x"$enable_vfs_sftp" = x"yes"; then + if test x"$enable_vfs_ftp" = x"yes" -o x"$enable_vfs_shell" = x"yes" -o x"$enable_vfs_sftp" = x"yes"; then mc_ENABLE_VFS_NET fi diff -Nru mc-4.8.30/m4.include/vfs/mc-vfs-fish.m4 mc-4.8.31/m4.include/vfs/mc-vfs-fish.m4 --- mc-4.8.30/m4.include/vfs/mc-vfs-fish.m4 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/m4.include/vfs/mc-vfs-fish.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -dnl Enable FISH protocol (classic) -AC_DEFUN([mc_VFS_FISH], -[ - AC_ARG_ENABLE([vfs-fish], - AS_HELP_STRING([--enable-vfs-fish], [Support for FISH filesystem @<:@yes@:>@])) - if test "$enable_vfs" = "yes" -a "x$enable_vfs_fish" != xno; then - enable_vfs_fish="yes" - mc_VFS_ADDNAME([fish]) - AC_DEFINE([ENABLE_VFS_FISH], [1], [Support for FISH vfs]) - fi - AM_CONDITIONAL(ENABLE_VFS_FISH, [test "$enable_vfs" = "yes" -a x"$enable_vfs_fish" = x"yes"]) -]) diff -Nru mc-4.8.30/m4.include/vfs/mc-vfs-shell.m4 mc-4.8.31/m4.include/vfs/mc-vfs-shell.m4 --- mc-4.8.30/m4.include/vfs/mc-vfs-shell.m4 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.8.31/m4.include/vfs/mc-vfs-shell.m4 2024-01-20 19:34:38.000000000 +0000 @@ -0,0 +1,12 @@ +dnl Enable SHELL protocol +AC_DEFUN([mc_VFS_SHELL], +[ + AC_ARG_ENABLE([vfs-shell], + AS_HELP_STRING([--enable-vfs-shell], [Support for SHELL filesystem @<:@yes@:>@])) + if test "$enable_vfs" = "yes" -a "x$enable_vfs_shell" != xno; then + enable_vfs_shell="yes" + mc_VFS_ADDNAME([shell]) + AC_DEFINE([ENABLE_VFS_SHELL], [1], [Support for SHELL vfs]) + fi + AM_CONDITIONAL(ENABLE_VFS_SHELL, [test "$enable_vfs" = "yes" -a x"$enable_vfs_shell" = x"yes"]) +]) diff -Nru mc-4.8.30/mc-version.h mc-4.8.31/mc-version.h --- mc-4.8.30/mc-version.h 2023-08-13 19:06:55.000000000 +0000 +++ mc-4.8.31/mc-version.h 2024-01-27 08:32:35.000000000 +0000 @@ -1,4 +1,4 @@ #ifndef MC_CURRENT_VERSION /* This is an autogenerated file. Don't edit! */ -#define MC_CURRENT_VERSION "4.8.30" +#define MC_CURRENT_VERSION "4.8.31" #endif diff -Nru mc-4.8.30/misc/Makefile.in mc-4.8.31/misc/Makefile.in --- mc-4.8.30/misc/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/misc/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -136,7 +136,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/misc/ext.d/Makefile.in mc-4.8.31/misc/ext.d/Makefile.in --- mc-4.8.30/misc/ext.d/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/misc/ext.d/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/misc/ext.d/archive.sh mc-4.8.31/misc/ext.d/archive.sh --- mc-4.8.30/misc/ext.d/archive.sh 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/ext.d/archive.sh 2024-01-20 19:34:38.000000000 +0000 @@ -32,6 +32,9 @@ lzma) lzma -dc "${MC_EXT_FILENAME}" 2>/dev/null ;; + lzo) + lzop -dc "${MC_EXT_FILENAME}" 2>/dev/null + ;; xz) xz -dc "${MC_EXT_FILENAME}" 2>/dev/null ;; @@ -65,6 +68,10 @@ lzma -dc "${MC_EXT_FILENAME}" 2>/dev/null | \ tar tvvf - ;; + tar.lzo|tzo) + lzop -dc "${MC_EXT_FILENAME}" 2>/dev/null | \ + tar tvvf - + ;; tar.xz) xz -dc "${MC_EXT_FILENAME}" 2>/dev/null | \ tar tvvf - @@ -114,6 +121,10 @@ lz4 -dc "${MC_EXT_FILENAME}" | \ cpio -itv 2>/dev/null ;; + cpio.lzo) + lzop -dc "${MC_EXT_FILENAME}" | \ + cpio -itv 2>/dev/null + ;; cpio.xz) xz -dc "${MC_EXT_FILENAME}" | \ cpio -itv 2>/dev/null @@ -177,6 +188,9 @@ lzma) lzma -dc "${MC_EXT_FILENAME}" | ${pager} ;; + lzo) + lzop -dc "${MC_EXT_FILENAME}" | ${pager} + ;; xz) xz -dc "${MC_EXT_FILENAME}" | ${pager} ;; diff -Nru mc-4.8.30/misc/ext.d/image.sh mc-4.8.31/misc/ext.d/image.sh --- mc-4.8.30/misc/ext.d/image.sh 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/ext.d/image.sh 2024-01-20 19:34:38.000000000 +0000 @@ -12,14 +12,19 @@ filetype=$1 case "${filetype}" in - jpeg) - identify "${MC_EXT_FILENAME}" - which exif >/dev/null 2>&1 && exif "${MC_EXT_FILENAME}" 2>/dev/null - ;; xpm) - sxpm "${MC_EXT_FILENAME}" + [ -n "$DISPLAY" ] && sxpm "${MC_EXT_FILENAME}" ;; *) + if which exif >/dev/null 2>&1; then + exif "${MC_EXT_FILENAME}" 2>/dev/null + E=$? + else + E=1 + fi + if [ $E != 0 ] && which exiftool >/dev/null 2>&1; then + exiftool "${MC_EXT_FILENAME}" 2>/dev/null + fi identify "${MC_EXT_FILENAME}" ;; esac diff -Nru mc-4.8.30/misc/ext.d/text.sh.in mc-4.8.31/misc/ext.d/text.sh.in --- mc-4.8.30/misc/ext.d/text.sh.in 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/ext.d/text.sh.in 2024-01-20 19:34:38.000000000 +0000 @@ -31,6 +31,9 @@ man.lzma) unpacker="lzma -dc" ;; + man.lzo) + unpacker="lzop -dc" + ;; man.xz) unpacker="xz -dc" ;; @@ -67,7 +70,7 @@ nroff.ms) nroff @MAN_FLAGS@ -ms "${MC_EXT_FILENAME}" ;; - man.gz|man.bz|man.bz2|man.lz|man.lz4|man.lzma|man.xz|man.zst) + man.gz|man.bz|man.bz2|man.lz|man.lz4|man.lzma|man.lzo|man.xz|man.zst) case "${MC_EXT_FILENAME}" in */log/*|*/logs/*) ${unpacker} "${MC_EXT_FILENAME}" @@ -114,7 +117,7 @@ nroff.ms) nroff @MAN_FLAGS@ -ms "${MC_EXT_FILENAME}" | ${pager} ;; - man.gz|man.bz|man.bz2|man.lz|man.lz4|man.lzma|man.xz|man.zst) + man.gz|man.bz|man.bz2|man.lz|man.lz4|man.lzma|man.lzo|man.xz|man.zst) case "${MC_EXT_FILENAME}" in */log/*|*/logs/*) ${unpacker} "${MC_EXT_FILENAME}" diff -Nru mc-4.8.30/misc/filehighlight.ini mc-4.8.31/misc/filehighlight.ini --- mc-4.8.30/misc/filehighlight.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/filehighlight.ini 2024-01-20 19:34:38.000000000 +0000 @@ -25,7 +25,7 @@ regexp=(^#.*|.*~$) [archive] - extensions=7z;Z;ace;apk;arc;arj;ark;bz2;cab;cpio;deb;gz;lha;lz;lz4;lzh;lzma;rar;rpm;tar;tbz;tbz2;tgz;tlz;txz;tzst;vsix;xz;zip;zoo;zst + extensions=7z;Z;ace;apk;arc;arj;ark;bz2;cab;cpio;deb;gz;lha;lz;lz4;lzh;lzma;lzo;rar;rpm;tar;tbz;tbz2;tgz;tlz;txz;tzo;tzst;vsix;xz;zip;zoo;zst [doc] extensions=chm;css;ctl;diz;doc;docm;docx;dtd;fodg;fodp;fods;fodt;htm;html;json;letter;lsm;mail;man;markdown;md;me;mkd;msg;nroff;odg;odp;ods;odt;pdf;po;ppt;pptm;pptx;ps;rtf;sgml;shtml;tex;text;txt;xls;xlsm;xlsx;xml;xsd;xslt diff -Nru mc-4.8.30/misc/macros.d/Makefile.in mc-4.8.31/misc/macros.d/Makefile.in --- mc-4.8.30/misc/macros.d/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/misc/macros.d/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/misc/mc.default.keymap mc-4.8.31/misc/mc.default.keymap --- mc-4.8.30/misc/mc.default.keymap 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/mc.default.keymap 2024-01-20 19:34:38.000000000 +0000 @@ -50,7 +50,7 @@ # EditExtensionsFile = # EditFileHighlightFile = # Filter = -# ConnectFish = +# ConnectShell = # ConnectFtp = # Undelete = EditorViewerHistory = alt-shift-e diff -Nru mc-4.8.30/misc/mc.emacs.keymap mc-4.8.31/misc/mc.emacs.keymap --- mc-4.8.30/misc/mc.emacs.keymap 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/mc.emacs.keymap 2024-01-20 19:34:38.000000000 +0000 @@ -50,7 +50,7 @@ # EditExtensionsFile = # EditFileHighlightFile = # Filter = -# ConnectFish = +# ConnectShell = # ConnectFtp = # Undelete = EditorViewerHistory = alt-shift-e diff -Nru mc-4.8.30/misc/mc.ext.ini.in mc-4.8.31/misc/mc.ext.ini.in --- mc-4.8.30/misc/mc.ext.ini.in 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/mc.ext.ini.in 2024-01-20 19:34:38.000000000 +0000 @@ -26,8 +26,8 @@ # Section [Include/xxxx] can be located as before as after sections that point to it. # # Sections are processed from top to bottom, thus the order is important. -# If there are more than one sections with the same name in this file, the first -# section will be used. +# Multiple sections with the same name are allowed, they are merged together. +# Sections may contain the same key multiple times; the last entry wins. # # [Default] should be a catch-all action and come last. # @@ -57,8 +57,12 @@ # the literal | and | has a special meaning (or), and () have a special meaning # and \( \) stand for literal ( ). # +# An unescaped backslash \ is handled as invalid escape sequences in glib = 2.77.3 and +# glib >= 2.79 (https://gitlab.gnome.org/GNOME/glib/-/issues/3094), therefore backslash +# must be escaped. +# # Example: -# Regex=\.t(ar\.lzma|lz)$ +# Regex=\\.t(ar\\.lzma|lz)$ # matches *.tar.lzma or *.tlz. # # RegexIgnoreCase [true|false] @@ -188,7 +192,7 @@ ### GIT Repo ### [gitfs changeset] -Regex=^\[git\] +Regex=^\\[git\\] Open=%cd %p/changesetfs:// View=%cd %p/patchsetfs:// @@ -200,7 +204,7 @@ # .tgz, .tpz, .tar.gz, .tar.z, .tar.Z [tar.gzip] -Regex=\.t([gp]?z|ar\.g?[zZ])$ +Regex=\\.t([gp]?z|ar\\.g?[zZ])$ Include=tar.gz [ipk] @@ -217,13 +221,13 @@ View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.bzip [tar.bzip2] -Regex=\.t(ar\.bz2|bz2?|b2)$ +Regex=\\.t(ar\\.bz2|bz2?|b2)$ Open=%cd %p/utar:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.bzip2 # .tar.lzma, .tlz [tar.lzma] -Regex=\.t(ar\.lzma|lz)$ +Regex=\\.t(ar\\.lzma|lz)$ Open=%cd %p/utar:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.lzma @@ -234,19 +238,25 @@ # .tar.lz4, .tlz4 [tar.lz4] -Regex=\.t(ar\.lz4|lz4)$ +Regex=\\.t(ar\\.lz4|lz4)$ Open=%cd %p/utar:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.lz4 +# .tar.lzo, .tzo +[tar.lzo] +Regex=\\.t(ar\\.lzo|zo)$ +Open=%cd %p/utar:// +View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.lzo + # .tar.xz, .txz [tar.xz] -Regex=\.t(ar\.xz|xz)$ +Regex=\\.t(ar\\.xz|xz)$ Open=%cd %p/utar:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.xz # .tar.zst, .tzst [tar.zst] -Regex=\.t(ar\.zst|zst)$ +Regex=\\.t(ar\\.zst|zst)$ Open=%cd %p/utar:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.zst @@ -258,7 +268,7 @@ # .qpr/.qpk - QNX Neutrino package installer files [tar.qpr] -Regex=\.qp[rk]$ +Regex=\\.qp[rk]$ Open=%cd %p/utar:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.qpr @@ -269,7 +279,7 @@ View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar [arj] -Regex=\.a(rj|[0-9][0-9])$ +Regex=\\.a(rj|[0-9][0-9])$ RegexIgnoreCase=true Open=%cd %p/uarj:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view arj @@ -287,7 +297,7 @@ View=%view{ascii} @EXTHELPERSDIR@/archive.sh view ha [rar] -Regex=\.r(ar|[0-9][0-9])$ +Regex=\\.r(ar|[0-9][0-9])$ RegexIgnoreCase=true Open=%cd %p/urar:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view rar @@ -314,6 +324,11 @@ Open=%cd %p/ucpio:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view cpio.lz4 +[cpio.lzo] +Shell=.cpio.lzo +Open=%cd %p/ucpio:// +View=%view{ascii} @EXTHELPERSDIR@/archive.sh view cpio.lzo + [cpio.xz] Shell=.cpio.xz Open=%cd %p/ucpio:// @@ -335,7 +350,7 @@ Include=cpio [initrd] -Regex=^(initramfs.*\.img|initrd(-.+)?\.img(-.+)?)$ +Regex=^(initramfs.*\\.img|initrd(-.+)?\\.img(-.+)?)$ Include=cpio [7zip] @@ -345,32 +360,32 @@ View=%view{ascii} @EXTHELPERSDIR@/archive.sh view 7z [patch] -Regex=\.(diff|patch)$ +Regex=\\.(diff|patch)$ Open=%cd %p/patchfs:// View=%view{ascii} @EXTHELPERSDIR@/misc.sh view cat [patch.gz] -Regex=\.(diff|patch)\.(gz|Z)$ +Regex=\\.(diff|patch)\\.(gz|Z)$ Open=%cd %p/patchfs:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view gz [patch.bz2] -Regex=\.(diff|patch)\.bz2$ +Regex=\\.(diff|patch)\\.bz2$ Open=%cd %p/patchfs:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view bz2 [patch.xz] -Regex=\.(diff|patch)\.xz$ +Regex=\\.(diff|patch)\\.xz$ Open=%cd %p/patchfs:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view xz [patch.zst] -Regex=\.(diff|patch)\.zst$ +Regex=\\.(diff|patch)\\.zst$ Open=%cd %p/patchfs:// View=%view{ascii} @EXTHELPERSDIR@/archive.sh view zst [ls-lR] -Regex=(^|\.)ls-?lR(\.gz|Z|bz2)$ +Regex=(^|\\.)ls-?lR(\\.gz|Z|bz2)$ Open=%cd %p/lslR:// [trpm] @@ -380,7 +395,7 @@ # RPM packages (SuSE uses *.spm for source packages) [src.rpm] -Regex=\.(src\.rpm|spm)$ +Regex=\\.(src\\.rpm|spm)$ Open=%cd %p/rpm:// View=%view{ascii} @EXTHELPERSDIR@/package.sh view src.rpm @@ -390,7 +405,7 @@ View=%view{ascii} @EXTHELPERSDIR@/package.sh view rpm [deb] -Regex=\.u?deb$ +Regex=\\.u?deb$ Open=%cd %p/deb:// View=%view{ascii} @EXTHELPERSDIR@/package.sh view deb @@ -411,7 +426,7 @@ View=%view{ascii} @EXTHELPERSDIR@/misc.sh view iso9660 [ar] -Regex=\.s?a$ +Regex=\\.s?a$ Open=%cd %p/uar:// #Open=%view{ascii} ar tv %f View=%view{ascii} @EXTHELPERSDIR@/misc.sh view ar @@ -425,12 +440,12 @@ ### Sources ### [C/C++] -Regex=\.(c|cc|cpp|cxx|c\+\+)$ +Regex=\\.(c|cc|cpp|cxx|c\\+\\+)$ RegexIgnoreCase=true Include=editor [C/C++ header] -Regex=\.(h|hh|hpp|hxx|h\+\+)$ +Regex=\\.(h|hh|hpp|hxx|h\\+\\+)$ RegexIgnoreCase=true Include=editor @@ -440,7 +455,7 @@ Include=editor [Assembler] -Regex=\.(s|asm)$ +Regex=\\.(s|asm)$ RegexIgnoreCase=true Include=editor @@ -452,19 +467,19 @@ # .so libraries [so] -Regex=\.(so|so\.[0-9\.]*)$ +Regex=\\.(so|so\\.[0-9\\.]*)$ View=%view{ascii} @EXTHELPERSDIR@/misc.sh view so # .dylib libraries [dylib] -Regex=\.(dylib|dylib\.[0-9\.]*)$ +Regex=\\.(dylib|dylib\\.[0-9\\.]*)$ View=%view{ascii} @EXTHELPERSDIR@/misc.sh view dylib ### Documentation ### #[Texinfo] -#Regex=\.(te?xi|texinfo)$ +#Regex=\\.(te?xi|texinfo)$ [info-by-shell] Shell=.info @@ -497,27 +512,32 @@ # Manual page [man.lz] -Regex=([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lz$ +Regex=([^0-9]|^[^\\.]*)\\.([1-9][A-Za-z]*|[ln])\\.lz$ Open=@EXTHELPERSDIR@/text.sh open man.lz %var{PAGER:more} View=%view{ascii,nroff} @EXTHELPERSDIR@/text.sh view man.lz %var{PAGER:more} [man.lz4] -Regex=([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lz4$ +Regex=([^0-9]|^[^\\.]*)\\.([1-9][A-Za-z]*|[ln])\\.lz4$ Open=@EXTHELPERSDIR@/text.sh open man.lz4 %var{PAGER:more} View=%view{ascii,nroff} @EXTHELPERSDIR@/text.sh view man.lz4 %var{PAGER:more} [man.lzma] -Regex=([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lzma$ +Regex=([^0-9]|^[^\\.]*)\\.([1-9][A-Za-z]*|[ln])\\.lzma$ Open=@EXTHELPERSDIR@/text.sh open man.lzma %var{PAGER:more} View=%view{ascii,nroff} @EXTHELPERSDIR@/text.sh view man.lzma %var{PAGER:more} +[man.lzo] +Regex=([^0-9]|^[^\\.]*)\\.([1-9][A-Za-z]*|[ln])\\.lzo$ +Open=@EXTHELPERSDIR@/text.sh open man.lzo %var{PAGER:more} +View=%view{ascii,nroff} @EXTHELPERSDIR@/text.sh view man.lzo %var{PAGER:more} + [man.xz] -Regex=([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.xz$ +Regex=([^0-9]|^[^\\.]*)\\.([1-9][A-Za-z]*|[ln])\\.xz$ Open=@EXTHELPERSDIR@/text.sh open man.xz %var{PAGER:more} View=%view{ascii,nroff} @EXTHELPERSDIR@/text.sh view man.xz %var{PAGER:more} [man.zst] -Regex=([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.zst$ +Regex=([^0-9]|^[^\\.]*)\\.([1-9][A-Za-z]*|[ln])\\.zst$ Open=@EXTHELPERSDIR@/text.sh open man.zst %var{PAGER:more} View=%view{ascii,nroff} @EXTHELPERSDIR@/text.sh view man.zst %var{PAGER:more} @@ -556,17 +576,26 @@ View=%view{ascii} @EXTHELPERSDIR@/image.sh view svg Open=@EXTHELPERSDIR@/image.sh open svg +[webp] +Shell=.webp +View=%view{ascii} @EXTHELPERSDIR@/image.sh view webp +Open=@EXTHELPERSDIR@/image.sh open webp + +[avif] +Shell=.avif +View=%view{ascii} @EXTHELPERSDIR@/image.sh view avif +Open=@EXTHELPERSDIR@/image.sh open avif ### Sound files ### [sound] -Regex=\.(wav|snd|voc|au|smp|aiff|snd|m4a|ape|aac|wv|spx|flac)$ +Regex=\\.(wav|snd|voc|au|smp|aiff|snd|m4a|ape|aac|wv|spx|flac)$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/sound.sh open common View=%view{ascii} @EXTHELPERSDIR@/sound.sh view common [mod] -Regex=\.(mod|s3m|xm|it|mtm|669|stm|ult|far)$ +Regex=\\.(mod|s3m|xm|it|mtm|669|stm|ult|far)$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/sound.sh open mod @@ -582,7 +611,7 @@ View=%view{ascii} @EXTHELPERSDIR@/sound.sh view mp3 [ogg] -Regex=\.og[gax]$ +Regex=\\.og[gax]$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/sound.sh open ogg View=%view{ascii} @EXTHELPERSDIR@/sound.sh view ogg @@ -594,7 +623,7 @@ View=%view{ascii} @EXTHELPERSDIR@/sound.sh view opus [midi] -Regex=\.(midi?|rmid?)$ +Regex=\\.(midi?|rmid?)$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/sound.sh open midi @@ -606,7 +635,7 @@ # Play list [playlist] -Regex=\.(m3u|pls)$ +Regex=\\.(m3u|pls)$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/sound.sh open playlist @@ -619,7 +648,7 @@ Include=video [asf] -Regex=\.as[fx]$ +Regex=\\.as[fx]$ RegexIgnoreCase=true Include=video @@ -634,12 +663,12 @@ Include=video [mov] -Regex=\.(mov|qt)$ +Regex=\\.(mov|qt)$ RegexIgnoreCase=true Include=video [mp4] -Regex=\.(mp4|m4v|mpe?g)$ +Regex=\\.(mp4|m4v|mpe?g)$ RegexIgnoreCase=true Include=video @@ -665,7 +694,7 @@ Include=video [fli] -Regex=\.fl[icv]$ +Regex=\\.fl[icv]$ RegexIgnoreCase=true Include=video @@ -675,7 +704,7 @@ Include=video [realaudio] -Regex=\.ra?m$ +Regex=\\.ra?m$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/video.sh open ram @@ -688,7 +717,7 @@ ### Documents ### [html] -Regex=\.html?$ +Regex=\\.html?$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/web.sh open html View=%view{ascii} @EXTHELPERSDIR@/web.sh view html @@ -700,7 +729,7 @@ # StarOffice 6 and OpenOffice.org formats [OpenOffice.org] -Regex=\.(odt|fodt|ott|sxw|stw|ods|fods|ots|sxc|stc|odp|fodp|otp|sxi|sti|odg|fodg|otg|sxd|std|odb|odf|sxm|odm|sxg)$ +Regex=\\.(odt|fodt|ott|sxw|stw|ods|fods|ots|sxc|stc|odp|fodp|otp|sxi|sti|odg|fodg|otg|sxd|std|odb|odf|sxm|odm|sxg)$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/doc.sh open ooffice View=%view{ascii} @EXTHELPERSDIR@/doc.sh view odt @@ -722,21 +751,21 @@ # Microsoft Word Document [msdoc-by-shell] -Regex=\.(do[ct]|wri|docx)$ +Regex=\\.(do[ct]|wri|docx)$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/doc.sh open msdoc View=%view{ascii} @EXTHELPERSDIR@/doc.sh view msdoc # Microsoft Excel Worksheet [msxls-by-shell] -Regex=\.(xl[sw]|xlsx)$ +Regex=\\.(xl[sw]|xlsx)$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/doc.sh open msxls View=%view{ascii} @EXTHELPERSDIR@/doc.sh view msxls # Microsoft PowerPoint Presentation [msppt] -Regex=\.(pp[ts]|pptx)$ +Regex=\\.(pp[ts]|pptx)$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/doc.sh open msppt View=%view{ascii} @EXTHELPERSDIR@/doc.sh view msppt @@ -753,25 +782,25 @@ Include=editor [markdown] -Regex=\.mk?d$ +Regex=\\.mk?d$ RegexIgnoreCase=true Include=editor [djvu] -Regex=\.djvu?$ +Regex=\\.djvu?$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/doc.sh open djvu View=%view{ascii} @EXTHELPERSDIR@/doc.sh view djvu # Comic Books [cbr] -Regex=\.cb[zr]$ +Regex=\\.cb[zr]$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/doc.sh open comic # Epup, mobi, fb2 [ebook] -Regex=\.(epub|mobi|fb2)$ +Regex=\\.(epub|mobi|fb2)$ RegexIgnoreCase=true Open=@EXTHELPERSDIR@/doc.sh open ebook View=%view{ascii} @EXTHELPERSDIR@/doc.sh view ebook @@ -790,11 +819,11 @@ # Makefile.PL (MakeMaker) [Makefile.pl] -Regex=^Makefile\.(PL|pl)$ +Regex=^Makefile\\.(PL|pl)$ Open=%var{PERL:perl} %f [Makefile] -Regex=^[Mm]akefile +Regex=^[Mm]akefile$ Open=make -f %f %{Enter parameters} [dbf] @@ -805,7 +834,7 @@ # REXX script [rexx] -Regex=\.(rexx?|cmd)$ +Regex=\\.(rexx?|cmd)$ Open=rexx %f %{Enter parameters};echo "Press ENTER";read y # Disk images for Commodore computers (VIC20, C64, C128) @@ -874,6 +903,12 @@ Open=@EXTHELPERSDIR@/archive.sh view lz4 %var{PAGER:more} View=%view{ascii} @EXTHELPERSDIR@/archive.sh view lz4 +[lzo] +Shell=.lzo +ShellIgnoreCase=true +Open=@EXTHELPERSDIR@/archive.sh view lzo %var{PAGER:more} +View=%view{ascii} @EXTHELPERSDIR@/archive.sh view lzo + [wim] Shell=.wim ShellIgnoreCase=true diff -Nru mc-4.8.30/misc/mc.menu.in mc-4.8.31/misc/mc.menu.in --- mc-4.8.30/misc/mc.menu.in 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/mc.menu.in 2024-01-20 19:34:38.000000000 +0000 @@ -93,6 +93,15 @@ tar cf - "$Pwd" | zstd -f > "$tar.tar.zst" && \ echo "../$tar.tar.zst created." +8 Compress the current subdirectory (tar.lzo) + Pwd=`basename %d /` + echo -n "Name of the compressed file (without extension) [$Pwd]: " + read tar + [ "$tar"x = x ] && tar="$Pwd" + cd .. && \ + tar cf - "$Pwd" | lzop -f > "$tar.tar.lzo" && \ + echo "../$tar.tar.lzo created." + = f \.c$ & t r + f \.c$ & t r & ! t t c Compile and link current .c file @@ -228,7 +237,7 @@ fi echo "Please test the output file before deleting anything." -=+ f \.tar\.gz$ | f \.tar\.z$ | f \.tgz$ | f \.tpz$ | f \.tar\.lz$ | f \.tar\.lz4$ | f \.tar\.lzma$ | f \.tar\.7z$ | f \.tar\.xz$ | f \.tar\.zst | f \.tar\.Z$ | f \.tar\.bz2$ & t rl +=+ f \.tar\.gz$ | f \.tar\.z$ | f \.tgz$ | f \.tpz$ | f \.tar\.lz$ | f \.tar\.lz4$ | f \.tar\.lzma$ | f \.tar\.lzo$ | f \.tar\.7z$ | f \.tar\.xz$ | f \.tar\.zst | f \.tar\.Z$ | f \.tar\.bz2$ & t rl x Extract the contents of a compressed tar file unset PRG case %f in @@ -238,6 +247,7 @@ *.tar.lz) PRG="lzip -dc";; *.tar.lz4) PRG="lz4 -dc";; *.tar.lzma) PRG="lzma -dc";; + *.tar.lzo) PRG="lzop -dc";; *.tar.xz) PRG="xz -dc";; *.tar.zst) PRG="zstd -dc";; *) exit 1;; diff -Nru mc-4.8.30/misc/skins/Makefile.in mc-4.8.31/misc/skins/Makefile.in --- mc-4.8.30/misc/skins/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/misc/skins/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/misc/skins/dark.ini mc-4.8.31/misc/skins/dark.ini --- mc-4.8.30/misc/skins/dark.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/dark.ini 2024-01-20 19:34:38.000000000 +0000 @@ -104,6 +104,7 @@ editbold = yellow;green editmarked = black;lightgray editwhitespace = brightblue;black + editnonprintable = ;black editlinestate = white;cyan bookmark = white;red bookmarkfound = black;green diff -Nru mc-4.8.30/misc/skins/darkfar.ini mc-4.8.31/misc/skins/darkfar.ini --- mc-4.8.30/misc/skins/darkfar.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/darkfar.ini 2024-01-20 19:34:38.000000000 +0000 @@ -104,6 +104,7 @@ editbold = yellow;green editmarked = black;lightgray editwhitespace = brightblue;black + editnonprintable = ;black editlinestate = white;cyan bookmark = white;red bookmarkfound = black;green diff -Nru mc-4.8.30/misc/skins/default.ini mc-4.8.31/misc/skins/default.ini --- mc-4.8.30/misc/skins/default.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/default.ini 2024-01-20 19:34:38.000000000 +0000 @@ -104,6 +104,7 @@ editbold = yellow;green editmarked = black;cyan editwhitespace = brightblue;blue + editnonprintable = ;black editlinestate = white;cyan bookmark = white;red bookmarkfound = black;green diff -Nru mc-4.8.30/misc/skins/double-lines.ini mc-4.8.31/misc/skins/double-lines.ini --- mc-4.8.30/misc/skins/double-lines.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/double-lines.ini 2024-01-20 19:34:38.000000000 +0000 @@ -104,6 +104,7 @@ editbold = yellow;green editmarked = black;cyan editwhitespace = brightblue;blue + editnonprintable = ;black editlinestate = white;cyan bookmark = white;red bookmarkfound = black;green diff -Nru mc-4.8.30/misc/skins/featured-plus.ini mc-4.8.31/misc/skins/featured-plus.ini --- mc-4.8.30/misc/skins/featured-plus.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/featured-plus.ini 2024-01-20 19:34:38.000000000 +0000 @@ -106,6 +106,7 @@ editbold = yellow;green editmarked = black;cyan editwhitespace = brightblue;blue + editnonprintable = ;black editlinestate = white;cyan bookmark = white;red bookmarkfound = black;green diff -Nru mc-4.8.30/misc/skins/featured.ini mc-4.8.31/misc/skins/featured.ini --- mc-4.8.30/misc/skins/featured.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/featured.ini 2024-01-20 19:34:38.000000000 +0000 @@ -107,6 +107,7 @@ editmarked = black;cyan editwhitespace = brightblue;blue editlinestate = white;cyan + editnonprintable = ;black bookmark = white;red bookmarkfound = black;green editrightmargin = brightblue;black diff -Nru mc-4.8.30/misc/skins/gotar.ini mc-4.8.31/misc/skins/gotar.ini --- mc-4.8.30/misc/skins/gotar.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/gotar.ini 2024-01-20 19:34:38.000000000 +0000 @@ -101,6 +101,7 @@ editbold = yellow;blue editmarked = brightgreen;red editwhitespace = brightblue;blue + editnonprintable = ;black editlinestate = brightgreen bookmark = white;red bookmarkfound = black;green diff -Nru mc-4.8.30/misc/skins/gray-green-purple256.ini mc-4.8.31/misc/skins/gray-green-purple256.ini --- mc-4.8.30/misc/skins/gray-green-purple256.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/gray-green-purple256.ini 2024-01-20 19:34:38.000000000 +0000 @@ -111,6 +111,7 @@ editbold = rgb400 editmarked = ;main1 editwhitespace = rgb400;bgdarker + editnonprintable = ;black editlinestate = ;bgdarker bookmark = ;rgb531 bookmarkfound = ;main2 diff -Nru mc-4.8.30/misc/skins/gray-orange-blue256.ini mc-4.8.31/misc/skins/gray-orange-blue256.ini --- mc-4.8.30/misc/skins/gray-orange-blue256.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/gray-orange-blue256.ini 2024-01-20 19:34:38.000000000 +0000 @@ -111,6 +111,7 @@ editbold = rgb400 editmarked = ;main1 editwhitespace = rgb400;bgdarker + editnonprintable = ;black editlinestate = ;bgdarker bookmark = ;rgb531 bookmarkfound = ;main2 diff -Nru mc-4.8.30/misc/skins/julia256.ini mc-4.8.31/misc/skins/julia256.ini --- mc-4.8.30/misc/skins/julia256.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/julia256.ini 2024-01-20 19:34:38.000000000 +0000 @@ -107,6 +107,7 @@ editbold = yellow;green editmarked = black;lightgray editwhitespace = brightblue;black + editnonprintable = ;black editlinestate = white;cyan bookmark = white;red bookmarkfound = black;green diff -Nru mc-4.8.30/misc/skins/mc46.ini mc-4.8.31/misc/skins/mc46.ini --- mc-4.8.30/misc/skins/mc46.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/mc46.ini 2024-01-20 19:34:38.000000000 +0000 @@ -95,6 +95,7 @@ editbold = yellow; editmarked = black;cyan editwhitespace = brightblue;blue + editnonprintable = ;black editlinestate = white;cyan bookmark = white;red bookmarkfound = black;green diff -Nru mc-4.8.30/misc/skins/modarcon16-defbg.ini mc-4.8.31/misc/skins/modarcon16-defbg.ini --- mc-4.8.30/misc/skins/modarcon16-defbg.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/modarcon16-defbg.ini 2024-01-20 19:34:38.000000000 +0000 @@ -146,6 +146,7 @@ editbold = color15;;bold editmarked = color11;color2;bold editwhitespace = color12;color4 + editnonprintable = ;black editlinestate = color2;color0 bookmark = color0;color7 bookmarkfound = color0;color7 diff -Nru mc-4.8.30/misc/skins/modarcon16.ini mc-4.8.31/misc/skins/modarcon16.ini --- mc-4.8.30/misc/skins/modarcon16.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/modarcon16.ini 2024-01-20 19:34:38.000000000 +0000 @@ -146,6 +146,7 @@ editbold = color15;;bold editmarked = color11;color2;bold editwhitespace = color2;color0 + editnonprintable = ;black editlinestate = color2;color0 bookmark = color0;color7 bookmarkfound = color0;color7 diff -Nru mc-4.8.30/misc/skins/modarcon16root-defbg.ini mc-4.8.31/misc/skins/modarcon16root-defbg.ini --- mc-4.8.30/misc/skins/modarcon16root-defbg.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/modarcon16root-defbg.ini 2024-01-20 19:34:38.000000000 +0000 @@ -146,6 +146,7 @@ editbold = color15;;bold editmarked = color11;color1;bold editwhitespace = color12;color4 + editnonprintable = ;black editlinestate = color1;color0 bookmark = color0;color7 bookmarkfound = color0;color7 diff -Nru mc-4.8.30/misc/skins/modarcon16root.ini mc-4.8.31/misc/skins/modarcon16root.ini --- mc-4.8.30/misc/skins/modarcon16root.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/modarcon16root.ini 2024-01-20 19:34:38.000000000 +0000 @@ -146,6 +146,7 @@ editbold = color15;;bold editmarked = color11;color1;bold editwhitespace = color12;color4 + editnonprintable = ;black editlinestate = color1;color0 bookmark = color0;color7 bookmarkfound = color0;color7 diff -Nru mc-4.8.30/misc/skins/modarin256-defbg.ini mc-4.8.31/misc/skins/modarin256-defbg.ini --- mc-4.8.30/misc/skins/modarin256-defbg.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/modarin256-defbg.ini 2024-01-20 19:34:38.000000000 +0000 @@ -146,6 +146,7 @@ editbold = color228;;bold editmarked = color228;color23;bold editwhitespace = color56;color234 + editnonprintable = ;black editlinestate = color66;color235 bookmark = ;color239 bookmarkfound = ;color239;bold diff -Nru mc-4.8.30/misc/skins/modarin256.ini mc-4.8.31/misc/skins/modarin256.ini --- mc-4.8.30/misc/skins/modarin256.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/modarin256.ini 2024-01-20 19:34:38.000000000 +0000 @@ -146,6 +146,7 @@ editbold = color228;;bold editmarked = color228;color23;bold editwhitespace = color56;color234 + editnonprintable = ;black editlinestate = color66;color235 bookmark = ;color239 bookmarkfound = ;color239;bold diff -Nru mc-4.8.30/misc/skins/modarin256root-defbg.ini mc-4.8.31/misc/skins/modarin256root-defbg.ini --- mc-4.8.30/misc/skins/modarin256root-defbg.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/modarin256root-defbg.ini 2024-01-20 19:34:38.000000000 +0000 @@ -146,6 +146,7 @@ editbold = color228;;bold editmarked = color228;color88;bold editwhitespace = color56;color234 + editnonprintable = ;black editlinestate = color95;color235 bookmark = ;color239 bookmarkfound = ;color239;bold diff -Nru mc-4.8.30/misc/skins/modarin256root.ini mc-4.8.31/misc/skins/modarin256root.ini --- mc-4.8.30/misc/skins/modarin256root.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/modarin256root.ini 2024-01-20 19:34:38.000000000 +0000 @@ -146,6 +146,7 @@ editbold = color228;;bold editmarked = color228;color88;bold editwhitespace = color56;color234 + editnonprintable = ;black editlinestate = color95;color235 bookmark = ;color239 bookmarkfound = ;color239;bold diff -Nru mc-4.8.30/misc/skins/nicedark.ini mc-4.8.31/misc/skins/nicedark.ini --- mc-4.8.30/misc/skins/nicedark.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/nicedark.ini 2024-01-20 19:34:38.000000000 +0000 @@ -104,6 +104,7 @@ editbold = brown;blue editmarked = black;cyan editwhitespace = brightblue;blue + editnonprintable = ;black editlinestate = white;cyan bookmark = white;red bookmarkfound = black;green diff -Nru mc-4.8.30/misc/skins/sand256.ini mc-4.8.31/misc/skins/sand256.ini --- mc-4.8.30/misc/skins/sand256.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/sand256.ini 2024-01-20 19:34:38.000000000 +0000 @@ -161,6 +161,7 @@ editbold = rgb400 editmarked = ;rgb452;italic editwhitespace = rgb400;rgb553 + editnonprintable = ;black editlinestate = ;rgb553 bookmark = ;rgb551 bookmarkfound = ;rgb530 diff -Nru mc-4.8.30/misc/skins/seasons-autumn16M.ini mc-4.8.31/misc/skins/seasons-autumn16M.ini --- mc-4.8.30/misc/skins/seasons-autumn16M.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/seasons-autumn16M.ini 2024-01-20 19:34:38.000000000 +0000 @@ -171,6 +171,7 @@ editbold = MarkedFg;;bold editmarked = ;Selected editwhitespace = ;EditorWhitespace + editnonprintable = ;black editlinestate = #000;EditorLineNumber bookmark = #000;EditorBookmark bookmarkfound = #000;EditorFindAll diff -Nru mc-4.8.30/misc/skins/seasons-spring16M.ini mc-4.8.31/misc/skins/seasons-spring16M.ini --- mc-4.8.30/misc/skins/seasons-spring16M.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/seasons-spring16M.ini 2024-01-20 19:34:38.000000000 +0000 @@ -171,6 +171,7 @@ editbold = MarkedFg;;bold editmarked = ;Selected editwhitespace = ;EditorWhitespace + editnonprintable = ;black editlinestate = #000;EditorLineNumber bookmark = #000;EditorBookmark bookmarkfound = #000;EditorFindAll diff -Nru mc-4.8.30/misc/skins/seasons-summer16M.ini mc-4.8.31/misc/skins/seasons-summer16M.ini --- mc-4.8.30/misc/skins/seasons-summer16M.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/seasons-summer16M.ini 2024-01-20 19:34:38.000000000 +0000 @@ -171,6 +171,7 @@ editbold = MarkedFg;;bold editmarked = ;Selected editwhitespace = ;EditorWhitespace + editnonprintable = ;black editlinestate = #000;EditorLineNumber bookmark = #000;EditorBookmark bookmarkfound = #000;EditorFindAll diff -Nru mc-4.8.30/misc/skins/seasons-winter16M.ini mc-4.8.31/misc/skins/seasons-winter16M.ini --- mc-4.8.30/misc/skins/seasons-winter16M.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/seasons-winter16M.ini 2024-01-20 19:34:38.000000000 +0000 @@ -171,6 +171,7 @@ editbold = MarkedFg;;bold editmarked = ;Selected editwhitespace = ;EditorWhitespace + editnonprintable = ;black editlinestate = #000;EditorLineNumber bookmark = #000;EditorBookmark bookmarkfound = #000;EditorFindAll diff -Nru mc-4.8.30/misc/skins/xoria256.ini mc-4.8.31/misc/skins/xoria256.ini --- mc-4.8.30/misc/skins/xoria256.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/xoria256.ini 2024-01-20 19:34:38.000000000 +0000 @@ -147,6 +147,7 @@ editbold = ;;bold editmarked = ;color60 editwhitespace = color236;color234 + editnonprintable = ;black editlinestate = ;color235 bookmark = ;color239; bookmarkfound = ;color239;bold diff -Nru mc-4.8.30/misc/skins/yadt256-defbg.ini mc-4.8.31/misc/skins/yadt256-defbg.ini --- mc-4.8.30/misc/skins/yadt256-defbg.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/yadt256-defbg.ini 2024-01-20 19:34:38.000000000 +0000 @@ -113,6 +113,7 @@ editbold = color228;;bold editmarked = color228;blue;bold editwhitespace = color56;color234 + editnonprintable = ;black editlinestate = color66;color235 bookmark = ;color239 bookmarkfound = ;color239;bold diff -Nru mc-4.8.30/misc/skins/yadt256.ini mc-4.8.31/misc/skins/yadt256.ini --- mc-4.8.30/misc/skins/yadt256.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/skins/yadt256.ini 2024-01-20 19:34:38.000000000 +0000 @@ -112,6 +112,7 @@ editbold = color228;;bold editmarked = color228;blue;bold editwhitespace = color56;color234 + editnonprintable = ;black editlinestate = color66;color235 bookmark = ;color239 bookmarkfound = ;color239;bold diff -Nru mc-4.8.30/misc/syntax/Makefile.in mc-4.8.31/misc/syntax/Makefile.in --- mc-4.8.30/misc/syntax/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/misc/syntax/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/misc/syntax/sh.syntax mc-4.8.31/misc/syntax/sh.syntax --- mc-4.8.30/misc/syntax/sh.syntax 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/misc/syntax/sh.syntax 2024-01-20 19:34:38.000000000 +0000 @@ -1564,6 +1564,7 @@ keyword whole lsusb cyan keyword whole lzip cyan keyword whole lziprecover cyan + keyword whole lzop cyan keyword whole lynx cyan keyword whole MAKEDEV cyan keyword whole MAKEFLOPPIES cyan diff -Nru mc-4.8.30/po/POTFILES.in mc-4.8.31/po/POTFILES.in --- mc-4.8.30/po/POTFILES.in 2023-08-13 19:07:04.000000000 +0000 +++ mc-4.8.31/po/POTFILES.in 2024-01-27 08:25:19.000000000 +0000 @@ -75,7 +75,6 @@ src/usermenu.c src/vfs/cpio/cpio.c src/vfs/extfs/extfs.c -src/vfs/fish/fish.c src/vfs/ftpfs/ftpfs.c src/vfs/sfs/sfs.c src/vfs/sftpfs/config_parser.c @@ -83,6 +82,7 @@ src/vfs/sftpfs/file.c src/vfs/sftpfs/internal.c src/vfs/sftpfs/sftpfs.c +src/vfs/shell/shell.c src/vfs/tar/tar.c src/vfs/tar/tar-internal.c src/vfs/undelfs/undelfs.c diff -Nru mc-4.8.30/po/af.po mc-4.8.31/po/af.po --- mc-4.8.30/po/af.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/af.po 2024-01-27 08:33:42.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Afrikaans (http://app.transifex.com/mc/mc/language/af/)\n" @@ -703,7 +703,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1539,7 +1540,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3900,65 +3901,23 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4071,6 +4030,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4204,6 +4171,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff -Nru mc-4.8.30/po/ar.po mc-4.8.31/po/ar.po --- mc-4.8.30/po/ar.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/ar.po 2024-01-27 08:33:42.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Arabic (http://app.transifex.com/mc/mc/language/ar/)\n" @@ -704,7 +704,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1540,7 +1541,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3917,65 +3918,23 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4088,6 +4047,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4221,6 +4188,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/az.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/az.gmo differ diff -Nru mc-4.8.30/po/az.po mc-4.8.31/po/az.po --- mc-4.8.30/po/az.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/az.po 2024-01-27 08:33:42.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Slava Zanko , 2011\n" "Language-Team: Azerbaijani (http://app.transifex.com/mc/mc/language/az/)\n" @@ -706,7 +706,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1542,7 +1543,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3933,67 +3934,25 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "balıq: %s dən qopdum" - -msgid "fish: Waiting for initial line..." -msgstr "balıq: Birinci xətti gözləyirəm..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Bağışlayın, indilik parollu tanıtma bağlantıları qura bilmirik." - -#, c-format -msgid "fish: Password is required for %s" +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -msgid "fish: Sending password..." -msgstr "balıq: Parol göndərilir..." - -msgid "fish: Sending initial line..." -msgstr "balıq: Birinci xətt göndərilir..." - -msgid "fish: Handshaking version..." -msgstr "balıq: Əl sıxışmalı yol..." - -msgid "fish: Getting host info..." +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: Reading directory %s..." -msgstr "balıq: %s Qovluğu oxunur..." - -#, c-format -msgid "%s: done." -msgstr "%s : oldu." - -#, c-format -msgid "%s: failure" -msgstr "%s : xəta" - -#, c-format -msgid "fish: store %s: sending command..." -msgstr "balıq: %s göndər: göndərmə əmri..." - -msgid "fish: Local read failed, sending zeros" -msgstr "balıq: Yerli oxuma bacarılmadı, sıfır göndərilir" - -msgid "fish: storing file" +msgid "Warning: cannot open %s directory\n" msgstr "" -msgid "Aborting transfer..." -msgstr "Daşıma ləğv edilər..." - -msgid "Error reported after abort." -msgstr "Xəta ləğv etmədən sonra bildirildi." - -msgid "Aborted transfer would be successful." -msgstr "Ləğv edilmiş daşıma əməliyyatı müvəffəqiyyətli olmuş olmaılıdır." - #, c-format msgid "ftpfs: Disconnecting from %s" msgstr "ftpfs : %s ilə bağlantı kəsilir" @@ -4104,6 +4063,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs : müvəffəqiyyətsizlık ..; geriyə dönüləcək nöqtə yoxdur" +#, c-format +msgid "%s: failure" +msgstr "%s : xəta" + +#, c-format +msgid "%s: done." +msgstr "%s : oldu." + msgid "ftpfs: storing file" msgstr "" @@ -4241,6 +4208,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Bağışlayın, indilik parollu tanıtma bağlantıları qura bilmirik." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Daşıma ləğv edilər..." + +msgid "Error reported after abort." +msgstr "Xəta ləğv etmədən sonra bildirildi." + +msgid "Aborted transfer would be successful." +msgstr "Ləğv edilmiş daşıma əməliyyatı müvəffəqiyyətli olmuş olmaılıdır." + msgid "Inconsistent tar archive" msgstr "Tar arxivi düzgün deyildir" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/be.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/be.gmo differ diff -Nru mc-4.8.30/po/be.po mc-4.8.31/po/be.po --- mc-4.8.30/po/be.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/be.po 2024-01-27 08:33:42.000000000 +0000 @@ -6,7 +6,8 @@ # Pavel Suravezhkin, 2022 # debconf , 2023 # Slava Zanko , 2011 -# Viačasłaŭ Chalikin, 2023 +# Viačasłaŭ Chalikin , 2023 +# Viačasłaŭ Chalikin , 2023-2024 # Viktar Palstsiuk , 2015 # Yury V. Zaytsev , 2019 # Źmicier Turok , 2018 @@ -16,9 +17,9 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" -"Last-Translator: debconf , 2023\n" +"Last-Translator: Viačasłaŭ Chalikin , 2023-2024\n" "Language-Team: Belarusian (http://app.transifex.com/mc/mc/language/be/)\n" "Language: be\n" "MIME-Version: 1.0\n" @@ -40,13 +41,13 @@ msgstr "Немагчыма пераўтварыць з %s у %s" msgid "Event system already initialized" -msgstr "Сістэма падзей ужо запушчаная" +msgstr "Сістэма падзей ужо ініцыялізаваная" msgid "Failed to initialize event system" -msgstr "Не атрымалася запусціць сістэму падзей" +msgstr "Не атрымалася ініцыялізаваць сістэму падзей" msgid "Event system not initialized" -msgstr "Сістэма падзей не запушчаная" +msgstr "Сістэма падзей не ініцыялізаваная" msgid "Check input data! Some of parameters are NULL!" msgstr "Спраўдзіце ўведзенае! Пэўныя параметры роўныя «NULL»!" @@ -67,7 +68,7 @@ msgstr "" "Файл «%s» ужо рэдагуецца.\n" "Карыстальнік: %s\n" -"Нумар працэсу: %d" +"ID працэсу: %d" msgid "File locked" msgstr "Файл заблакаваны" @@ -83,7 +84,7 @@ msgstr "Нельга стварыць каталог «%s»" msgid "FATAL: not a directory:" -msgstr "ХІБА: не з’яўляецца каталогам:" +msgstr "ЗГУБНА: не з’яўляецца каталогам:" msgid "" "Number out of range (should be in byte range, 0 <= n <= 0xFF, expressed in " @@ -696,7 +697,7 @@ msgstr "Спрабаваць сачыць за мышшу старым спосабам" msgid "Disable mouse support in text version" -msgstr "Не падтрымліваць мыш у тэкставай версіі" +msgstr "Адключыць падтрымку мышы ў тэкставай вэрсіі" msgid "Tries to use termcap instead of terminfo" msgstr "Спрабаваць ужываць «termcap» замест «terminfo»" @@ -746,31 +747,13 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"\n" -"{FORE}, {BACK} і {ATTR} могуць быць апушчаныя, будзе выкарыстоўвацца " -"прадвызначанае значэнне \n" -"\n" -" Ключавыя словы:\n" -" Глабальныя: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Паказ файлаў: normal, selected, marked, markselect\n" -" Дыялогавыя вокны: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Меню: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Выплыўныя меню: pmenunormal, pmenusel, pmenutitle\n" -" Рэдактар: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Прагляд: viewnormal,viewbold, viewunderline, viewselected\n" -" Даведка: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1228,23 +1211,23 @@ msgstr "Упарадкаваць" msgid "Cannot execute sort command" -msgstr "Немагчыма выканаць загад «упарадкаваць»" +msgstr "Немагчыма выканаць каманду sort" #, c-format msgid "Sort returned non-zero: %s" msgstr "Парадкаванне вярнула ненулявы код: %s" msgid "Paste output of external command" -msgstr "Уставіць вывад вонкавага загада" +msgstr "Уставіць вывад знешняй каманды" msgid "Enter shell command(s):" -msgstr "Увядзіце загад(ы) абалонкі:" +msgstr "Увядзіце каманду(ы) абалонкі:" msgid "External command" -msgstr "Вонкавы загад" +msgstr "Знешняя каманда" msgid "Cannot execute command" -msgstr "Немагчыма выканаць загад" +msgstr "Немагчыма выканаць каманду" msgid "mail -s -c " msgstr "mail -s <тэма> -c <копіі> <каму>" @@ -1299,7 +1282,7 @@ msgstr "Макрас не выдалілі" msgid "Repeat last commands" -msgstr "Паўтарыць апошнія загады" +msgstr "Паўтарыць апошнія каманды" msgid "Repeat times:" msgstr "Колькасць разоў:" @@ -1515,7 +1498,7 @@ msgstr "Шукаць(&S)" msgid "&Command" -msgstr "Загад(&C)" +msgstr "Каманда(&C)" msgid "For&mat" msgstr "Фарматаванне(&M)" @@ -1638,8 +1621,8 @@ "Зручны тэкставы рэдактар,\n" "напісаны для Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Аўтарскія правы (C) 1996-2023 Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "Аўтарскае права © 1996-2024 the Free Software Foundation" msgid "About" msgstr "Пра праграму" @@ -1791,14 +1774,14 @@ "MC не можа перайсці ў каталог, які патрабуе\n" "ўбудаваная абалонка. Можа, вы\n" "выдалілі працоўны каталог або далі сабе дадатковыя\n" -"прывілеі загадам su?" +"прывілеі камандай su?" #, c-format msgid "Cannot fetch a local copy of %s" msgstr "Немагчыма атрымаць лакальную копію «%s»" msgid "The shell is already running a command" -msgstr "Абалонка ўжо выконвае загад" +msgstr "Абалонка ўжо выконвае каманду" msgid "" "Not an xterm or Linux console;\n" @@ -1836,7 +1819,7 @@ msgstr "Дазволы (васьмерычныя): %o" msgid "Chown advanced command" -msgstr "Пашыраны загад «chown»" +msgstr "Пашыраная каманда «chown»" #, c-format msgid "" @@ -1960,7 +1943,7 @@ msgstr "Абалонка:" msgid "&Shadows" -msgstr "" +msgstr "Цені(&S)" msgid "Appearance" msgstr "Выгляд" @@ -2178,6 +2161,9 @@ "%s\n" "%s" msgstr "" +"Немагчыма перайсці ў каталог\n" +"%s\n" +"%s" msgid "Secure deletion" msgstr "Надзейнае выдаленне" @@ -2331,7 +2317,7 @@ msgstr "Назва групы:" msgid "Chmod command" -msgstr "Загад «chmod»" +msgstr "Каманда «chmod»" msgid "Permission" msgstr "Дазвол" @@ -2358,7 +2344,7 @@ msgstr "Памер" msgid "Chown command" -msgstr "Загад «chown»" +msgstr "Каманда «chown»" msgid "User name" msgstr "Імя карыстальніка" @@ -2400,7 +2386,7 @@ msgstr "Прагляд вываду загада" msgid "Filter command and arguments:" -msgstr "Загад і аргументы:" +msgstr "Каманда фільтра ды яго аргументы:" msgid "Edit file" msgstr "Рэдагаваць файл" @@ -2445,8 +2431,8 @@ "Both panels should be in the listing mode\n" "to use this command" msgstr "" -"Каб выканаць загад, патрэбна, каб абедзве панэлі\n" -"адлюстроўваліся спісамі" +"Абедзве панэлі мусяць адлюстроўвацца спісамі,\n" +"каб выканаць гэтую каманду" #, c-format msgid "'%s' is not a symbolic link" @@ -2501,7 +2487,7 @@ msgstr "Немагчыма захаваць налады ў «%s»" msgid "Cannot execute commands on non-local filesystems" -msgstr "На нелакальных файлавых сістэмах нельга выконваць загады" +msgstr "На нелакальных файлавых сістэмах нельга выконваць каманды" msgid "Parameter" msgstr "Параметр" @@ -2511,7 +2497,7 @@ "Cannot create temporary command file\n" "%s" msgstr "" -"Немагчыма стварыць часовы загадны файл\n" +"Немагчыма стварыць часовы камандны файл\n" "%s" msgid "Pipe failed" @@ -2857,7 +2843,7 @@ msgstr "Захаваць(&K)" msgid "&Continue copy" -msgstr "" +msgstr "Працягнуць капіяванне(&C)" #, c-format msgid "" @@ -3180,7 +3166,7 @@ msgstr "Памеры каталогаў(&I)" msgid "Command &history" -msgstr "Гісторыя загадаў(&H)" +msgstr "Гісторыя каманд(&H)" msgid "Viewed/edited files hi&story" msgstr "Гісторыя прагледжаных / рэдагаваных файлаў" @@ -3550,7 +3536,7 @@ msgstr "Адлюстроўваць меню(&M)" msgid "Command &prompt" -msgstr "Загадны радок(&P)" +msgstr "Камандны радок(&P)" msgid "&Keybar visible" msgstr "Радок клавіш(&K)" @@ -3738,16 +3724,16 @@ msgstr "Загад на вонкавую панэль" msgid "Other command" -msgstr "Іншы загад" +msgstr "Іншая каманда" msgid "Command" -msgstr "Загад" +msgstr "Каманда" msgid "Add to external panelize" msgstr "Дадаць да загадаў" msgid "Enter command label:" -msgstr "Увядзіце назву загада:" +msgstr "Увядзіце назву каманды:" #, c-format msgid "" @@ -4181,80 +4167,44 @@ "Віртуальная файлавая сістэма EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Увага: немагчыма адкрыць каталог «%s»\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: адлучаемся ад «%s»" - -msgid "fish: Waiting for initial line..." -msgstr "fish: чакаецца пачатковы радок..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Пакуль немагчыма злучыцца і ўвесці пароль." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: «%s» патрабуе пароль" - -msgid "fish: Sending password..." -msgstr "fish: адпраўляецца пароль..." - -msgid "fish: Sending initial line..." -msgstr "fish: адпраўляецца пачатковы радок..." - -msgid "fish: Handshaking version..." -msgstr "fish: пацвярджаецца версія..." - -msgid "fish: Getting host info..." -msgstr "fish: атрымліваюцца звесткі пра вузел..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: чытаецца каталог «%s»..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" +"Віртуальная файлавая сістэма EXTFS:\n" +"памылковая назва файла" -#, c-format -msgid "%s: done." -msgstr "%s: завершана." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" +"Віртуальная файлавая сістэма EXTFS:\n" +"памылковая назва архіва" -#, c-format -msgid "%s: failure" -msgstr "%s: не атрымалася" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" +"Віртуальная файлавая сістэма EXTFS:\n" +"немагчыма стварыць каманду" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: захаваць «%s»: адпраўляецца загад..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: не атрымалася прачытаць лакальнае, адпраўляюцца нулі" - -msgid "fish: storing file" -msgstr "fish: захоўваецца файл" - -msgid "Aborting transfer..." -msgstr "Перадача скасоўваецца..." - -msgid "Error reported after abort." -msgstr "Пасля скасавання выяўлена памылка." - -msgid "Aborted transfer would be successful." -msgstr "Перадача скасаваная." +msgid "Warning: cannot open %s directory\n" +msgstr "Увага: немагчыма адкрыць каталог «%s»\n" #, c-format msgid "ftpfs: Disconnecting from %s" -msgstr "ftpfs: адлучаемся ад «%s»" +msgstr "ftpfs: адлучэнне ад «%s»" #, c-format msgid "FTP: Password required for %s" msgstr "FTP: «%s» патрабуе пароль" msgid "ftpfs: sending login name" -msgstr "ftpfs: адпраўляецца імя карыстальніка" +msgstr "ftpfs: адпраўка імя карыстальніка" msgid "ftpfs: sending user password" -msgstr "ftpfs: адпраўляецца пароль карыстальніка" +msgstr "ftpfs: адпраўка пароля карыстальніка" #, c-format msgid "FTP: Account required for user %s" @@ -4264,7 +4214,7 @@ msgstr "Акаўнт:" msgid "ftpfs: sending user account" -msgstr "ftpfs: адпраўляецца рахунак карыстальніка" +msgstr "ftpfs: адпраўка акаўнта карыстальніка" msgid "ftpfs: logged in" msgstr "ftpfs: увайшлі" @@ -4282,10 +4232,10 @@ #, c-format msgid "ftpfs: making connection to %s" -msgstr "ftpfs: злучаемся з «%s»" +msgstr "ftpfs: здзяйсненне злучэння з «%s»" msgid "ftpfs: connection interrupted by user" -msgstr "ftpfs: карыстальнік кінуў злучацца" +msgstr "ftpfs: злучэнне перарванае карыстальнікам" #, c-format msgid "ftpfs: connection to server failed: %s" @@ -4301,11 +4251,11 @@ #, c-format msgid "ftpfs: try reconnect to server, attempt %u" -msgstr "ftpfs: спрабую перападключыцца да сервера, спроба %u" +msgstr "ftpfs: спрабаванне паўторнага злучэння з серверам, спроба %u" #, c-format msgid "ftpfs: could not get socket name: %s" -msgstr "ftpfs: не магу атрымаць імя сокета: %s" +msgstr "ftpfs: не ўдалося атрымаць назву сокета: %s" msgid "ftpfs: could not reconnect to server" msgstr "ftpfs: не ўдалося паўторна злучыцца з серверам" @@ -4315,20 +4265,20 @@ #, c-format msgid "ftpfs: could not create socket: %s" -msgstr "ftpfs: нельга стварыць сокет: %s" +msgstr "ftpfs: не ўдалося стварыць сокет: %s" msgid "ftpfs: could not setup passive mode" -msgstr "ftpfs: нельга наладзіць пасіўны рэжым" +msgstr "ftpfs: не ўдалося наладзіць пасіўны рэжым" msgid "ftpfs: aborting transfer." -msgstr "ftpfs: перадача скасоўваецца." +msgstr "ftpfs: скасаванне перадачы." #, c-format msgid "ftpfs: abort error: %s" -msgstr "ftpfs: не атрымалася скасаваць: %s" +msgstr "ftpfs: памылка скасавання: %s" msgid "ftpfs: abort failed" -msgstr "ftpfs: памылка падчас скасавання" +msgstr "ftpfs: не атрымалася скасаваць" msgid "ftpfs: CWD failed." msgstr "ftpfs: не атрымалася змяніць бягучы працоўны каталог." @@ -4341,7 +4291,7 @@ #, c-format msgid "ftpfs: Reading FTP directory %s... %s%s" -msgstr "ftpfs: чытаецца FTP-каталог «%s»… %s%s" +msgstr "ftpfs: чытанне каталога FTP %s... %s%s" msgid "(strict rfc959)" msgstr "(абмежаванне RFC959)" @@ -4352,8 +4302,16 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: памылка; няма куды вярнуцца ў аварыйны стан" +#, c-format +msgid "%s: failure" +msgstr "%s: не атрымалася" + +#, c-format +msgid "%s: done." +msgstr "%s: завершана." + msgid "ftpfs: storing file" -msgstr "ftpfs: захоўваецца файл" +msgstr "ftpfs: захоўванне файла" msgid "" "~/.netrc file has incorrect mode\n" @@ -4509,6 +4467,52 @@ msgid "sftp: Listing done." msgstr "sftp: спіс прачытаны." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "shell: адлучэнне ад «%s»" + +msgid "shell: Waiting for initial line..." +msgstr "shell: чаканне пачатковага радка..." + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Пакуль немагчыма злучыцца і ўвесці пароль." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "shell: «%s» патрабуе пароль" + +msgid "shell: Sending password..." +msgstr "shell: адпраўка пароля..." + +msgid "shell: Sending initial line..." +msgstr "shell: адпраўка пачатковага радка..." + +msgid "shell: Getting host info..." +msgstr "shell: атрыманне звестак пра вузел..." + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "shell: чытанне каталога «%s»..." + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "shell: захоўванне «%s»: адпраўка каманды..." + +msgid "shell: Local read failed, sending zeros" +msgstr "shell: не атрымалася прачытаць лакальна, адпраўляюцца нулі" + +msgid "shell: storing file" +msgstr "shell: захоўванне файла" + +msgid "Aborting transfer..." +msgstr "Перадача скасоўваецца..." + +msgid "Error reported after abort." +msgstr "Пасля скасавання выяўлена памылка." + +msgid "Aborted transfer would be successful." +msgstr "Перадача скасаваная." + msgid "Inconsistent tar archive" msgstr "Несумяшчальны архіў tar" @@ -4520,7 +4524,7 @@ "Cannot open tar archive\n" "%s" msgstr "" -"Немагчыма адкрыць tar-архіў\n" +"Немагчыма адкрыць архіў tar\n" "%s" #, c-format @@ -4528,9 +4532,11 @@ "%s\n" "doesn't look like a tar archive" msgstr "" +"%s\n" +"не падобны на архіў tar" msgid "tar: mc_lseek not stopped at a record boundary" -msgstr "" +msgstr "tar: mc_lseek не спыніўся на мяжы запісу" msgid "undelfs: error" msgstr "undelfs: памылка" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/bg.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/bg.gmo differ diff -Nru mc-4.8.30/po/bg.po mc-4.8.31/po/bg.po --- mc-4.8.30/po/bg.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/bg.po 2024-01-27 08:33:42.000000000 +0000 @@ -13,7 +13,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Alexander Shopov , 2022\n" "Language-Team: Bulgarian (http://app.transifex.com/mc/mc/language/bg/)\n" @@ -739,31 +739,13 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors КЛЮЧОВА_ДУМА={ЦВЯТ},{ФОН},{АТРИБУТ}:КЛЮЧОВА_ДУМА_2=…\n" -"\n" -"Когато пропуснете {ЦВЯТ}, {ФОН} или {АТРИБУТ}, се ползват стандартните\n" -"стойности\n" -"\n" -"Ключови думи:\n" -" Глобални: errors, disabled, reverse, gauge, header,\n" -" input, inputmark, inputunchanged, commandlinemark,\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Файлове: normal, selected, marked, markselect\n" -" Диалогови прозорци: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Менюта: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Изскачащи менюта: pmenunormal, pmenusel, pmenutitle\n" -" Редактор: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive,\n" -" editframedrag\n" -" Преглед: viewnormal, viewbold, viewunderline, viewselected\n" -" Помощ: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1633,7 +1615,7 @@ "Удобен текстови редактор\n" "за Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4157,66 +4139,24 @@ "Виртуална ФС по EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Предупреждение: директорията %s не може да се отвори \n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Изключване от %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Изчаква се начален ред…" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Засега връзки с парола не може да се осъществят." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Нужна е парола за %s" - -msgid "fish: Sending password..." -msgstr "fish: Изпращане на парола…" - -msgid "fish: Sending initial line..." -msgstr "fish: Изпращане на начален ред…" - -msgid "fish: Handshaking version..." -msgstr "fish: Потвърждаване на версията…" - -msgid "fish: Getting host info..." -msgstr "fish: Получаване на данни за хоста…" - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Прочитане на директорията %s…" +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" -#, c-format -msgid "%s: done." -msgstr "%s: готово." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: неуспех" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: запис на %s: изпращане на командата…" - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Неуспешно локалнот четене, изпращат се нули" - -msgid "fish: storing file" -msgstr "fish: запис на файл" - -msgid "Aborting transfer..." -msgstr "Отмяна на пренасянето…" - -msgid "Error reported after abort." -msgstr "Грешка след отмяната." - -msgid "Aborted transfer would be successful." -msgstr "Преносът е отменен успешно." +msgid "Warning: cannot open %s directory\n" +msgstr "Предупреждение: директорията %s не може да се отвори \n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4328,6 +4268,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: неуспех; няма място за връщане" +#, c-format +msgid "%s: failure" +msgstr "%s: неуспех" + +#, c-format +msgid "%s: done." +msgstr "%s: готово." + msgid "ftpfs: storing file" msgstr "ftpfs: съхраняване на файл" @@ -4485,6 +4433,52 @@ msgid "sftp: Listing done." msgstr "sftp: Извеждането приключи." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Засега връзки с парола не може да се осъществят." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Отмяна на пренасянето…" + +msgid "Error reported after abort." +msgstr "Грешка след отмяната." + +msgid "Aborted transfer would be successful." +msgstr "Преносът е отменен успешно." + msgid "Inconsistent tar archive" msgstr "сгрешен архив tar" diff -Nru mc-4.8.30/po/br.po mc-4.8.31/po/br.po --- mc-4.8.30/po/br.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/br.po 2024-01-27 08:33:42.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Irriep Nala Novram , 2017-2018\n" "Language-Team: Breton (http://app.transifex.com/mc/mc/language/br/)\n" @@ -708,7 +708,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1544,7 +1545,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3917,65 +3918,23 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4088,6 +4047,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4221,6 +4188,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/ca.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/ca.gmo differ diff -Nru mc-4.8.30/po/ca.po mc-4.8.31/po/ca.po --- mc-4.8.30/po/ca.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/ca.po 2024-01-27 08:33:42.000000000 +0000 @@ -3,7 +3,7 @@ # This file is distributed under the same license as the mc package. # # Translators: -# Antoni Bella Pérez , 2017-2023 +# Antoni Bella Pérez , 2017-2024 # Daniel , 2011 # Daniel , 2011-2012 # Daniel , 2012 @@ -16,9 +16,9 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" -"Last-Translator: Antoni Bella Pérez , 2017-2023\n" +"Last-Translator: Antoni Bella Pérez , 2017-2024\n" "Language-Team: Catalan (http://app.transifex.com/mc/mc/language/ca/)\n" "Language: ca\n" "MIME-Version: 1.0\n" @@ -750,30 +750,34 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" +"--colors PARAULA_CLAU={FORE},{BACK},{ATTR}:PARAULA_CLAU_2=...\n" "\n" -"{FORE}, {BACK} i {ATTR} es poden ometre i s'usarà el valor predeterminat\n" +"{FORE}, {BACK} i {ATTR} es pot ometre i s'usarà el valor predeterminat\n" "\n" " Paraules clau:\n" -" Global: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Visor fitxer: normal, selected, marked, markselect\n" -" Diàlegs: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Menús: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Menús emerg: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Visor: viewnormal,viewbold, viewunderline, viewselected\n" -" Ajuda: helpnormal, helpitalic, helpbold, helplink, helpslink\n" +" Global: errors, disabled, reverse, gauge, header,\n" +" input, inputmark, inputunchanged, commandlinemark,\n" +" bbarhotkey, bbarbutton i statusbar.\n" +" Mostra els fitxers: normal, selected, marked i markselect.\n" +" Diàlegs: dnormal, dfocus, dhotnormal, dhotfocus, " +"errdhotnormal\n" +" i errdhotfocus.\n" +" Menús: menunormal, menuhot, menusel, menuhotsel i " +"menuinactive.\n" +" Menús emergents: pmenunormal, pmenusel i pmenutitle.\n" +" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" editnonprintable, editlinestate, editbg, editframe,\n" +" editframeactive i editframedrag.\n" +" Visor: viewnormal,viewbold, viewunderline i viewselected.\n" +" Ajuda: helpnormal, helpitalic, helpbold, helplink i " +"helpslink.\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1644,8 +1648,8 @@ "Un editor de text fàcil d'emprar\n" "escrit per al Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Copyright (C) 1996-2023 la «Free Software Foundation»" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "Copyright (C) 1996-2024 la Free Software Foundation" msgid "About" msgstr "Quant a" @@ -2184,6 +2188,9 @@ "%s\n" "%s" msgstr "" +"No s'ha pogut canviar el directori a\n" +"%s\n" +"%s" msgid "Secure deletion" msgstr "Supressió segura" @@ -4186,67 +4193,30 @@ "Sistema de fitxers virtual EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Avís: no s'ha pogut obrir el directori %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: S'està desconnectant de %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Està esperant a la línia inicial..." - -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"Ho sentim, de moment no es poden fer connexions autenticades amb contrasenya." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Contrasenya requerida per %s" - -msgid "fish: Sending password..." -msgstr "fish: S'està enviant la contrasenya..." - -msgid "fish: Sending initial line..." -msgstr "fish: S'està enviant la línia inicial..." - -msgid "fish: Handshaking version..." -msgstr "fish: S'està intercanviant la versió..." - -msgid "fish: Getting host info..." -msgstr "fish: S'està obtenint informació de l'amfitrió..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: S'està llegint el directori %s..." +"Sistema de fitxers virtual EXTFS:\n" +"nom de fitxer incorrecte" -#, c-format -msgid "%s: done." -msgstr "%s: fet." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" +"Sistema de fitxers virtual EXTFS:\n" +"nom d'arxiu incorrecte" -#, c-format -msgid "%s: failure" -msgstr "%s: fallada" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" +"Sistema de fitxers virtual EXTFS:\n" +"no s'ha pogut crear l'ordre" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: emmagatzema %s: s'està enviant l'ordre..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Ha fallat la lectura local, s'estan enviant zeros" - -msgid "fish: storing file" -msgstr "fish: s'està emmagatzemant el fitxer" - -msgid "Aborting transfer..." -msgstr "S'està interrompent la transferència..." - -msgid "Error reported after abort." -msgstr "S'ha informat d'un error després d'interrompre." - -msgid "Aborted transfer would be successful." -msgstr "Transferència interrompuda amb èxit." +msgid "Warning: cannot open %s directory\n" +msgstr "Avís: no s'ha pogut obrir el directori %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4358,6 +4328,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "FTPFS: ha fallat; enlloc per a retornar-hi" +#, c-format +msgid "%s: failure" +msgstr "%s: fallada" + +#, c-format +msgid "%s: done." +msgstr "%s: fet." + msgid "ftpfs: storing file" msgstr "FTPFS: s'està emmagatzemant el fitxer" @@ -4520,6 +4498,53 @@ msgid "sftp: Listing done." msgstr "sftp: el llistat s'ha completat." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "intèrpret d'ordres: S'està desconnectant de %s" + +msgid "shell: Waiting for initial line..." +msgstr "intèrpret d'ordres: S'està esperant la línia inicial..." + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"Ho sentim, de moment no es poden fer connexions autenticades amb contrasenya." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "intèrpret d'ordres: Es requereix una contrasenya per a %s" + +msgid "shell: Sending password..." +msgstr "intèrpret d'ordres: S'està enviant la contrasenya..." + +msgid "shell: Sending initial line..." +msgstr "intèrpret d'ordres: S'està enviant la línia inicial..." + +msgid "shell: Getting host info..." +msgstr "intèrpret d'ordres: S'està rebent informació de l'amfitrió..." + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "intèrpret d'ordres: S'està llegint el directori %s..." + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "intèrpret d'ordres: emmagatzematge %s: s'està enviant l'ordre..." + +msgid "shell: Local read failed, sending zeros" +msgstr "intèrpret d'ordres: La lectura local ha fallat, s'estan enviant zeros" + +msgid "shell: storing file" +msgstr "intèrpret d'ordres: fitxer d'emmagatzematge" + +msgid "Aborting transfer..." +msgstr "S'està interrompent la transferència..." + +msgid "Error reported after abort." +msgstr "S'ha informat d'un error després d'interrompre." + +msgid "Aborted transfer would be successful." +msgstr "Transferència interrompuda amb èxit." + msgid "Inconsistent tar archive" msgstr "L'arxiu TAR no és coherent" @@ -4539,9 +4564,11 @@ "%s\n" "doesn't look like a tar archive" msgstr "" +"%s\n" +"no sembla un arxiu tar" msgid "tar: mc_lseek not stopped at a record boundary" -msgstr "" +msgstr "tar: «mc_lseek» no s'ha aturat en un límit de registre" msgid "undelfs: error" msgstr "undelfs: error" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/cs.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/cs.gmo differ diff -Nru mc-4.8.30/po/cs.po mc-4.8.31/po/cs.po --- mc-4.8.30/po/cs.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/cs.po 2024-01-27 08:33:42.000000000 +0000 @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Pavel Borecki , 2017-2023\n" "Language-Team: Czech (http://app.transifex.com/mc/mc/language/cs/)\n" @@ -742,30 +742,13 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KLICOVESLOVO={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"\n" -"{FORE}, {BACK} and {ATTR} can be omitted, and the default will be used\n" -"\n" -" Klíčová slova:\n" -" Globální: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Zobrazení souborů: normal, selected, marked, markselect\n" -" Dialogy: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Nabídka: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Vyskakovcí nabídka: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Prohlížeč: viewnormal,viewbold, viewunderline, viewselected\n" -" Nápověda: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1632,8 +1615,8 @@ "Uživatelsky přívětivý textový editor\n" "napsaný pro Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Autorská práva © 1996-2023 nadace Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "" msgid "About" msgstr "O programu" @@ -4185,67 +4168,24 @@ "Virtuální souborový systém EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Varování: složku %s se nedaří otevřít\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Odpojování od %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Čekání na úvodní spojení…" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Je nám líto, ale prozatím nelze navazovat heslem se ověřující spojení." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Pro %s je vyžadováno heslo" - -msgid "fish: Sending password..." -msgstr "fish: Odesílání hesla…" - -msgid "fish: Sending initial line..." -msgstr "fish: Odesílá se úvodní řádek…" - -msgid "fish: Handshaking version..." -msgstr "fish: Domlouvání verze…" - -msgid "fish: Getting host info..." -msgstr "fish: Získávání informací o hostiteli…" - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Načítaní složky %s…" - -#, c-format -msgid "%s: done." -msgstr "%s: hotovo." - -#, c-format -msgid "%s: failure" -msgstr "%s: nezdar" - -#, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: ukládání %s: odesílání příkazu…" - -msgid "fish: Local read failed, sending zeros" +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"fish: Načtení místního souboru se nezdařilo, náhradně se odesílají nuly" - -msgid "fish: storing file" -msgstr "fish: ukládání souboru" -msgid "Aborting transfer..." -msgstr "Přerušení přenosu…" +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -msgid "Error reported after abort." -msgstr "Po přerušení byla oznámena chyba." +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" -msgid "Aborted transfer would be successful." -msgstr "Přerušení přenosu proběhlo v pořádku." +#, c-format +msgid "Warning: cannot open %s directory\n" +msgstr "Varování: složku %s se nedaří otevřít\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4357,6 +4297,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: nezdar; není jiná možnost" +#, c-format +msgid "%s: failure" +msgstr "%s: nezdar" + +#, c-format +msgid "%s: done." +msgstr "%s: hotovo." + msgid "ftpfs: storing file" msgstr "ftpfs: ukládá se soubor" @@ -4515,6 +4463,52 @@ msgid "sftp: Listing done." msgstr "sftp: Vypsání dokončeno." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Je nám líto, ale prozatím nelze navazovat heslem se ověřující spojení." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Přerušení přenosu…" + +msgid "Error reported after abort." +msgstr "Po přerušení byla oznámena chyba." + +msgid "Aborted transfer would be successful." +msgstr "Přerušení přenosu proběhlo v pořádku." + msgid "Inconsistent tar archive" msgstr "Nekonzistentní archiv .tar" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/da.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/da.gmo differ diff -Nru mc-4.8.30/po/da.po mc-4.8.31/po/da.po --- mc-4.8.30/po/da.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/da.po 2024-01-27 08:33:42.000000000 +0000 @@ -13,7 +13,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Morten Bo Johansen , 2018,2023\n" "Language-Team: Danish (http://app.transifex.com/mc/mc/language/da/)\n" @@ -738,30 +738,13 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors NØGLEORD={FORG},{BAGG},{ATTR}:NØGLEORD2=...\n" -"\n" -"{FORG}, {BAGG} og {ATTR} kan udelades, så bruges standarden\n" -"\n" -" Nøgleord:\n" -" Globale: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Filvisning: normal, selected, marked, markselect\n" -" Dialogbokse: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Menuer: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Pop op-menuer: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Fremviser: viewnormal,viewbold, viewunderline, viewselected\n" -" Hjælp: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1629,8 +1612,8 @@ "En brugervenlig teksteditor\n" "skrevet til Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Ophavsret (C) 1996-2023, The Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "" msgid "About" msgstr "Om" @@ -4168,66 +4151,24 @@ "Virtuelt EXTFS-filsystem:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Advarsel: Kan ikke åbne mappen %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fisk: Afkobler fra %s" - -msgid "fish: Waiting for initial line..." -msgstr "fisk: Venter på begyndelseslinje..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Beklager, vi kan ikke lave adgangskodebekræftede forbindelser endnu." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fisk: Adgangskode er krævet for %s" - -msgid "fish: Sending password..." -msgstr "fisk: Sender adgangskode..." - -msgid "fish: Sending initial line..." -msgstr "fisk: Sender begyndelseslinje..." - -msgid "fish: Handshaking version..." -msgstr "fisk: Håndrystende version..." - -msgid "fish: Getting host info..." -msgstr "fisk: Indhenter værtsinformation..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fisk: Læser mappe %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" -#, c-format -msgid "%s: done." -msgstr "%s: færdig." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: fejl" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fisk: gem %s: sender kommando..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fisk: Lokal læsning fejlede, sender nuller" - -msgid "fish: storing file" -msgstr "fisk: gemmer fil" - -msgid "Aborting transfer..." -msgstr "Afbryder overførsel..." - -msgid "Error reported after abort." -msgstr "Fejl meldt tilbage efter afbrydelse." - -msgid "Aborted transfer would be successful." -msgstr "Afbrudt overførsel ville være lykkedes." +msgid "Warning: cannot open %s directory\n" +msgstr "Advarsel: Kan ikke åbne mappen %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4339,6 +4280,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: Fejlede; ingen steder at falde tilbage på" +#, c-format +msgid "%s: failure" +msgstr "%s: fejl" + +#, c-format +msgid "%s: done." +msgstr "%s: færdig." + msgid "ftpfs: storing file" msgstr "ftpfs: Gemmer fil" @@ -4495,6 +4444,52 @@ msgid "sftp: Listing done." msgstr "sftp: Liste færdig." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Beklager, vi kan ikke lave adgangskodebekræftede forbindelser endnu." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Afbryder overførsel..." + +msgid "Error reported after abort." +msgstr "Fejl meldt tilbage efter afbrydelse." + +msgid "Aborted transfer would be successful." +msgstr "Afbrudt overførsel ville være lykkedes." + msgid "Inconsistent tar archive" msgstr "Inkonsistent tar-arkiv" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/de.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/de.gmo differ diff -Nru mc-4.8.30/po/de.po mc-4.8.31/po/de.po --- mc-4.8.30/po/de.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/de.po 2024-01-27 08:33:42.000000000 +0000 @@ -6,7 +6,7 @@ # Atha Translate, 2016 # Benjamin M. Berwien , 2023 # cheese , 2016 -# Ettore Atalan , 2015-2023 +# Ettore Atalan , 2015-2024 # Fabian Affolter , 2012-2013 # Johannes Hellmuth , 2020 # Karsten , 2016 @@ -21,9 +21,9 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" -"Last-Translator: Benjamin M. Berwien , 2023\n" +"Last-Translator: Ettore Atalan , 2015-2024\n" "Language-Team: German (http://app.transifex.com/mc/mc/language/de/)\n" "Language: de\n" "MIME-Version: 1.0\n" @@ -547,7 +547,7 @@ "%s" msgid "Cannot close pipe descriptor (p == NULL)" -msgstr "Kann Pipe Deskriptor nicht schliessen (p == NULL)" +msgstr "Kann Pipe-Deskriptor nicht schließen (p == NULL)" #, c-format msgid "" @@ -754,31 +754,13 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"\n" -"{FORE}, {BACK} und {ATTR} kann weggelassen werden und der Standardwert wird " -"verwendet\n" -"\n" -" Schlüsselwörter:\n" -" Global: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Datei-Anzeiger: normal, selected, marked, markselect\n" -" Dialogboxen: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Menü: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Pop-up-Menü: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Betrachter: viewnormal, viewbold, viewunderline, viewselected\n" -" Hilfe: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1231,7 +1213,7 @@ msgid "Enter sort options (see sort(1) manpage) separated by whitespace:" msgstr "" -"Gib Sortierungs-Optionen ein (siehe sort(1) manpage), getrennt durch " +"Geben Sie Sortieroptionen ein (siehe sort(1) manpage), getrennt durch " "Leerzeichen:" msgid "Sort" @@ -1648,8 +1630,8 @@ "Ein benutzerfreundlicher Texteditor,\n" "geschrieben für Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "Copyright (C) 1996-2024 the Free Software Foundation" msgid "About" msgstr "Über" @@ -2187,6 +2169,9 @@ "%s\n" "%s" msgstr "" +"Kann Verzeichnis nicht wechseln zu\n" +"%s\n" +"%s" msgid "Secure deletion" msgstr "Sicheres Löschen" @@ -4186,76 +4171,36 @@ "Virtuelles Dateisystem EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Warnung: Kann Verzeichnis \"%s\" nicht öffnen\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Trenne von %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Warte auf erste Zeile..." - -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"Entschuldigung, aber wir können momentan noch keine passwortgesicherten\n" -"Verbindungen benutzen." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Passwort benötigt für %s" - -msgid "fish: Sending password..." -msgstr "fish: Sende Passwort..." - -msgid "fish: Sending initial line..." -msgstr "fish: Sende erste Zeile..." - -msgid "fish: Handshaking version..." -msgstr "fish: Tausche Versionsnummer aus..." - -msgid "fish: Getting host info..." -msgstr "fish: Hole Hostinformation..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Lese Verzeichnis %s..." +"Virtuelles Dateisystem EXTFS:\n" +"falscher Dateiname" -#, c-format -msgid "%s: done." -msgstr "%s: fertig." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" +"Virtuelles Dateisystem EXTFS:\n" +"falscher Archivname" -#, c-format -msgid "%s: failure" -msgstr "%s: Fehler" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: Speichere %s: Sende Befehl..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Lokales Lesen fehlgeschlagen, sende Nullen" - -msgid "fish: storing file" -msgstr "fish: Datei speichern" - -msgid "Aborting transfer..." -msgstr "Breche Transfer ab..." - -msgid "Error reported after abort." -msgstr "Fehler nach Abbruch gemeldet." - -msgid "Aborted transfer would be successful." -msgstr "Abgebrochener Transfer wäre erfolgreich." +msgid "Warning: cannot open %s directory\n" +msgstr "Warnung: Kann Verzeichnis \"%s\" nicht öffnen\n" #, c-format msgid "ftpfs: Disconnecting from %s" -msgstr "ftpfs: Trenne von %s" +msgstr "ftpfs: Trennen der Verbindung von %s" #, c-format msgid "FTP: Password required for %s" -msgstr "FTP: Passwort benötigt für %s" +msgstr "FTP: Passwort ist erforderlich für %s" msgid "ftpfs: sending login name" msgstr "ftpfs: Sende Loginnamen" @@ -4304,7 +4249,7 @@ #, c-format msgid "ftpfs: could not make address-to-name translation: %s" -msgstr "ftpfs: Adresse-zu-Name Übersetzung fehlgeschlagen: %s" +msgstr "ftpfs: Adresse-zu-Name-Übersetzung fehlgeschlagen: %s" #, c-format msgid "ftpfs: try reconnect to server, attempt %u" @@ -4312,7 +4257,7 @@ #, c-format msgid "ftpfs: could not get socket name: %s" -msgstr "ftpfs: konnte Socket-Name nicht auslesen: %s" +msgstr "ftpfs: konnte Socket-Namen nicht auslesen: %s" msgid "ftpfs: could not reconnect to server" msgstr "ftpfs: Verbindung zum Server konnte nicht wiederhergestellt werden" @@ -4359,6 +4304,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: Fehlgeschlagen; alle Stricke gerissen" +#, c-format +msgid "%s: failure" +msgstr "%s: Fehler" + +#, c-format +msgid "%s: done." +msgstr "%s: fertig." + msgid "ftpfs: storing file" msgstr "ftpfs: Datei speichern" @@ -4412,7 +4365,9 @@ msgstr "sftp: %s" msgid "sftp: failed to convert remote host IP address into text form" -msgstr "sftp: Fehler beim Konvertieren der Remote Host IP-Adresse in Textform" +msgstr "" +"sftp: Konvertierung der IP-Adresse des entfernten Hosts in Textform " +"fehlgeschlagen" #, c-format msgid "sftp: making connection to %s" @@ -4426,10 +4381,10 @@ msgstr "sftp: Verbindung zum Server fehlgeschlagen: %s" msgid "sftp: found host key of unsupported type: RSA1" -msgstr "sftp: Host-Key gefunden, aber nicht unterstützter Typ: RSA1" +msgstr "sftp: Hostschlüssel von nicht unterstütztem Typ gefunden: RSA1" msgid "sftp: unknown host key type:" -msgstr "sftp: unbekannter Host-Key Typ:" +msgstr "sftp: unbekannter Hostschlüsseltyp:" #, c-format msgid "" @@ -4442,14 +4397,15 @@ "zur Liste der bekannten Hosts." msgid "sftp: cannot get the remote host key" -msgstr "sftp: bekomme keinen Remote Host-Key " +msgstr "sftp: kann den Schlüssel des entfernten Hosts nicht erhalten" msgid "sftp: unsupported key type, can't check remote host key" msgstr "" -"sftp: nicht unterstützter Key-Typ, kann Remote Host-Key nicht überprüfen" +"sftp: nicht unterstützter Schlüsseltyp, kann den Schlüssel des entfernten " +"Hosts nicht überprüfen" msgid "sftp: can't compute host key fingerprint hash" -msgstr "sftp: kann Host-Key Fingerprint-Hash nicht berechnen" +msgstr "sftp: kann den Fingerprint-Hash des Hostschlüssels nicht berechnen" #, c-format msgid "" @@ -4463,9 +4419,10 @@ "Die Authentizität des Hosts\n" "%s (%s)\n" "kann nicht festgestellt werden!\n" -"%s Host-Key Fingerprint-Hash ist\n" +"%s Schlüssel-Fingerprint-Hash ist\n" "SHA1:%s.\n" -"Willst Du ihn zur Known-Hosts-Liste hinzufügen und weiter verbinden?" +"Möchten Sie ihn in die Liste der bekannten Hosts aufnehmen und die " +"Verbindung fortsetzen?" #, c-format msgid "" @@ -4515,6 +4472,54 @@ msgid "sftp: Listing done." msgstr "sftp: Auflisten beendet." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "shell: Trennen der Verbindung von %s" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"Entschuldigung, aber wir können momentan noch keine passwortgesicherten\n" +"Verbindungen benutzen." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "shell: Passwort ist erforderlich für %s" + +msgid "shell: Sending password..." +msgstr "Shell: Passwort wird gesendet..." + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "Shell: Verzeichnis %s wird gelesen..." + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "shell: Datei speichern" + +msgid "Aborting transfer..." +msgstr "Breche Transfer ab..." + +msgid "Error reported after abort." +msgstr "Fehler nach Abbruch gemeldet." + +msgid "Aborted transfer would be successful." +msgstr "Abgebrochener Transfer wäre erfolgreich." + msgid "Inconsistent tar archive" msgstr "Inkonsistentes tar-Archiv" @@ -4534,9 +4539,11 @@ "%s\n" "doesn't look like a tar archive" msgstr "" +"%s\n" +"sieht nicht wie ein tar-Archiv aus" msgid "tar: mc_lseek not stopped at a record boundary" -msgstr "" +msgstr "tar: mc_lseek hält nicht an einer Satzgrenze an" msgid "undelfs: error" msgstr "undelfs: Fehler" diff -Nru mc-4.8.30/po/de_CH.po mc-4.8.31/po/de_CH.po --- mc-4.8.30/po/de_CH.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/de_CH.po 2024-01-27 08:33:42.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2015-02-26 09:48+0000\n" "Last-Translator: Piotr Drąg \n" "Language-Team: German (Switzerland) (http://www.transifex.com/projects/p/mc/" @@ -704,7 +704,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1540,7 +1541,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3901,65 +3902,23 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4072,6 +4031,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4205,6 +4172,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/el.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/el.gmo differ diff -Nru mc-4.8.30/po/el.po mc-4.8.31/po/el.po --- mc-4.8.30/po/el.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/el.po 2024-01-27 08:33:42.000000000 +0000 @@ -12,7 +12,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Efstathios Iosifidis , 2015\n" "Language-Team: Greek (http://app.transifex.com/mc/mc/language/el/)\n" @@ -717,7 +717,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1564,7 +1565,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4006,67 +4007,24 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Προειδοποίηση: δεν ήταν δυνατό το άνοιγμα του καταλόγου %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Γίνεται αποσύνδεση από %s" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"Λυπούμαστε, αλλά προς το παρόν συνδέσεις με χρήση κωδικού δεν υποστηρίζονται." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Απαιτείται κωδικός πρόσβασης για %s" -msgid "fish: Sending password..." -msgstr "fish: Αποστολή κωδικού πρόσβασης..." - -msgid "fish: Sending initial line..." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -msgid "fish: Handshaking version..." +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" -msgid "fish: Getting host info..." -msgstr "fish: Γίνεται λήψη πληροφοριών υπολογιστή..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Ανάγνωση φακέλου %s..." - #, c-format -msgid "%s: done." -msgstr "%s: εντάξει." - -#, c-format -msgid "%s: failure" -msgstr "%s: απέτυχε" - -#, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: αποθήκευση %s: αποστολή εντολής..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Η τοπική ανάγνωση απέτυψε, αποστέλνονται μηδενικά" - -msgid "fish: storing file" -msgstr "fish: το αρχείο αποθηκεύεται" - -msgid "Aborting transfer..." -msgstr "Ακύρωση μεταφοράς..." - -msgid "Error reported after abort." -msgstr "Αναφέρθηκε σφάλμα μετά την ακύρωση." - -msgid "Aborted transfer would be successful." -msgstr "" +msgid "Warning: cannot open %s directory\n" +msgstr "Προειδοποίηση: δεν ήταν δυνατό το άνοιγμα του καταλόγου %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4178,6 +4136,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "%s: απέτυχε" + +#, c-format +msgid "%s: done." +msgstr "%s: εντάξει." + msgid "ftpfs: storing file" msgstr "ftpfs: αποθήκευση αρχείου" @@ -4315,6 +4281,53 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"Λυπούμαστε, αλλά προς το παρόν συνδέσεις με χρήση κωδικού δεν υποστηρίζονται." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Ακύρωση μεταφοράς..." + +msgid "Error reported after abort." +msgstr "Αναφέρθηκε σφάλμα μετά την ακύρωση." + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "Χαλασμένη αρχειοθήκη tar" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/en_GB.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/en_GB.gmo differ diff -Nru mc-4.8.30/po/en_GB.po mc-4.8.31/po/en_GB.po --- mc-4.8.30/po/en_GB.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/en_GB.po 2024-01-27 08:33:42.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Andi Chandler , 2016-2017,2020,2022-2023\n" "Language-Team: English (United Kingdom) (http://app.transifex.com/mc/mc/" @@ -734,30 +734,13 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"\n" -"{FORE}, {BACK} and {ATTR} can be omitted, and the default will be used\n" -"\n" -" Keywords:\n" -" Global: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" File display: normal, selected, marked, markselect\n" -" Dialogue boxes: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Viewer: viewnormal,viewbold, viewunderline, viewselected\n" -" Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1342,205 +1325,205 @@ msgstr "Unmar&k" msgid "Cop&y" -msgstr "" +msgstr "Cop&y" msgid "Mo&ve" -msgstr "" +msgstr "Mo&ve" msgid "&Delete" -msgstr "" +msgstr "&Delete" msgid "Co&py to clipfile" -msgstr "" +msgstr "Co&py to clipfile" msgid "&Cut to clipfile" -msgstr "" +msgstr "&Cut to clipfile" msgid "Pa&ste from clipfile" -msgstr "" +msgstr "Pa&ste from clipfile" msgid "&Beginning" -msgstr "" +msgstr "&Beginning" msgid "&End" -msgstr "" +msgstr "&End" msgid "&Search..." -msgstr "" +msgstr "&Search..." msgid "Search &again" -msgstr "" +msgstr "Search &again" msgid "&Replace..." -msgstr "" +msgstr "&Replace..." msgid "&Toggle bookmark" -msgstr "" +msgstr "&Toggle bookmark" msgid "&Next bookmark" -msgstr "" +msgstr "&Next bookmark" msgid "&Prev bookmark" -msgstr "" +msgstr "&Prev bookmark" msgid "&Flush bookmarks" -msgstr "" +msgstr "&Flush bookmarks" msgid "&Go to line..." -msgstr "" +msgstr "&Go to line..." msgid "&Toggle line state" -msgstr "" +msgstr "&Toggle line state" msgid "Go to matching &bracket" -msgstr "" +msgstr "Go to matching &bracket" msgid "Toggle s&yntax highlighting" -msgstr "" +msgstr "Toggle s&yntax highlighting" msgid "&Find declaration" -msgstr "" +msgstr "&Find declaration" msgid "Back from &declaration" -msgstr "" +msgstr "Back from &declaration" msgid "For&ward to declaration" -msgstr "" +msgstr "For&ward to declaration" msgid "Encod&ing..." -msgstr "" +msgstr "Encod&ing..." msgid "&Refresh screen" -msgstr "" +msgstr "&Refresh screen" msgid "&Start/Stop record macro" -msgstr "" +msgstr "&Start/Stop record macro" msgid "Delete macr&o..." -msgstr "" +msgstr "Delete macr&o..." msgid "Record/Repeat &actions" -msgstr "" +msgstr "Record/Repeat &actions" msgid "S&pell check" -msgstr "" +msgstr "S&pell check" msgid "C&heck word" -msgstr "" +msgstr "C&heck word" msgid "Change spelling &language..." -msgstr "" +msgstr "Change spelling &language..." msgid "&Mail..." -msgstr "" +msgstr "&Mail..." msgid "Insert &literal..." -msgstr "" +msgstr "Insert &literal..." msgid "Insert &date/time" -msgstr "" +msgstr "Insert &date/time" msgid "&Format paragraph" -msgstr "" +msgstr "&Format paragraph" msgid "&Sort..." -msgstr "" +msgstr "&Sort..." msgid "&Paste output of..." -msgstr "" +msgstr "&Paste output of..." msgid "&External formatter" -msgstr "" +msgstr "&External formatter" msgid "&Move" -msgstr "" +msgstr "&Move" msgid "&Resize" -msgstr "" +msgstr "&Resize" msgid "&Toggle fullscreen" -msgstr "" +msgstr "&Toggle fullscreen" msgid "&Next" -msgstr "" +msgstr "&Next" msgid "&Previous" -msgstr "" +msgstr "&Previous" msgid "&List..." -msgstr "" +msgstr "&List..." msgid "&General..." -msgstr "" +msgstr "&General..." msgid "Save &mode..." -msgstr "" +msgstr "Save &mode..." msgid "Learn &keys..." -msgstr "" +msgstr "Learn &keys..." msgid "Syntax &highlighting..." -msgstr "" +msgstr "Syntax &highlighting..." msgid "S&yntax file" -msgstr "" +msgstr "S&yntax file" msgid "&Menu file" -msgstr "" +msgstr "&Menu file" msgid "&Save setup" -msgstr "" +msgstr "&Save setup" msgid "&File" -msgstr "" +msgstr "&File" msgid "&Edit" -msgstr "" +msgstr "&Edit" msgid "&Search" -msgstr "" +msgstr "&Search" msgid "&Command" -msgstr "" +msgstr "&Command" msgid "For&mat" -msgstr "" +msgstr "For&mat" msgid "&Window" -msgstr "" +msgstr "&Window" msgid "&Options" -msgstr "" +msgstr "&Options" msgid "&None" -msgstr "" +msgstr "&None" msgid "&Dynamic paragraphing" -msgstr "" +msgstr "&Dynamic paragraphing" msgid "Type &writer wrap" -msgstr "" +msgstr "Type &writer wrap" msgid "Wrap mode" -msgstr "" +msgstr "Wrap mode" msgid "Tabulation" -msgstr "" +msgstr "Tabulation" msgid "&Fake half tabs" -msgstr "" +msgstr "&Fake half tabs" msgid "&Backspace through tabs" -msgstr "" +msgstr "&Backspace through tabs" msgid "Fill tabs with &spaces" -msgstr "" +msgstr "Fill tabs with &spaces" msgid "Tab spacing:" -msgstr "" +msgstr "Tab spacing:" msgid "Other options" -msgstr "" +msgstr "Other options" msgid "&Return does autoindent" msgstr "" @@ -1622,7 +1605,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3983,65 +3966,23 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4154,6 +4095,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4287,6 +4236,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/eo.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/eo.gmo differ diff -Nru mc-4.8.30/po/eo.po mc-4.8.31/po/eo.po --- mc-4.8.30/po/eo.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/eo.po 2024-01-27 08:33:42.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Yury V. Zaytsev , 2022\n" "Language-Team: Esperanto (http://app.transifex.com/mc/mc/language/eo/)\n" @@ -735,32 +735,13 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors Ŝlosilvorto={teksto},{fono},{atributo}:Ŝlosilvorto2=...\n" -"Se {teksto}, {fono} aŭ {atributo} estas ellasitaj, la aprioraj estas uzotaj\n" -"\n" -" Ŝlosilvortoj:\n" -" Tutprograma: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarhotbutton, statusbar\n" -" Dosieradministrado: normal, selected, marked, markselect\n" -" Dialogujo: dnormal, dfocus, dhotnormal, dhotfocus, " -"errdhotnormal,\n" -" errdhotfocus\n" -" Menuoj: menunormal, menuhot, menusel, menuhotsel, " -"menuinactive\n" -" Ŝprucmenuoj: pmenunormal, pmenusel, pmenutitle\n" -" Tekstoredaktilo: editnormal, editbold, editmarked, editwhitespace\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Tekstolegilo: viewnormal, viewbold, viewunderline, viewselected\n" -" Helpilo: helpnormal, helpitalic, helpbold, helplink, " -"helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1629,8 +1610,8 @@ "Afabla tekstoredaktilo\n" "verkita por Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Kopirajto (C) 1996–2023 la Fondaĵo pri Libera Programaro" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "" msgid "About" msgstr "Pri" @@ -2169,6 +2150,9 @@ "%s\n" "%s" msgstr "" +"Ne eblas ŝanĝi dosierujon al\n" +"%s\n" +"%s" msgid "Secure deletion" msgstr "Sekura forigo" @@ -4164,66 +4148,30 @@ "Virtuala dosiersistemo EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Averto: ne eblas malfermi dosierujon %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Malkonektiĝanta de %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Atendanta komencan linion..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Bedaŭrinde ni ne povas nun fari pasvortajn atestadajn konektojn." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Pasvorto estas postulita por %s" - -msgid "fish: Sending password..." -msgstr "fish: Sendanta pasvorton..." - -msgid "fish: Sending initial line..." -msgstr "fish: Sendanta komencan linion..." - -msgid "fish: Handshaking version..." -msgstr "fish: Konsentanta eldonon..." - -msgid "fish: Getting host info..." -msgstr "fish: Akiranta gastiganto-informojn..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Leganta dosierujon %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" +"Virtuala dosiersistemo EXTFS:\n" +"malĝusta dosiernomo" -#, c-format -msgid "%s: done." -msgstr "%s: finita." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" +"Virtuala dosiersistemo EXTFS:\n" +"malĝusta arkivnomo" -#, c-format -msgid "%s: failure" -msgstr "%s: malsukceso" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" +"Virtuala dosiersistemo EXTFS:\n" +"ne eblas konstrui komandon" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: teno %s: sendanta komandon..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Loka legado malsukcesis, sendanta nulojn" - -msgid "fish: storing file" -msgstr "fish: konservanta dosieron" - -msgid "Aborting transfer..." -msgstr "Ĉesiganta transigon..." - -msgid "Error reported after abort." -msgstr "Eraro raportita post ĉesigo." - -msgid "Aborted transfer would be successful." -msgstr "Ĉesigita transigo estus sukcesa." +msgid "Warning: cannot open %s directory\n" +msgstr "Averto: ne eblas malfermi dosierujon %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4335,6 +4283,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: malsukcesis; neniuj pluaj litoj" +#, c-format +msgid "%s: failure" +msgstr "%s: malsukceso" + +#, c-format +msgid "%s: done." +msgstr "%s: finita." + msgid "ftpfs: storing file" msgstr "ftpfs: konservanta dosieron" @@ -4490,6 +4446,52 @@ msgid "sftp: Listing done." msgstr "sftp: Listado finita." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "ŝelo: Malkonektiĝanta de %s" + +msgid "shell: Waiting for initial line..." +msgstr "ŝelo: Atendanta komencan linion..." + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Bedaŭrinde ni ne povas nun fari pasvortajn atestadajn konektojn." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "ŝelo: Pasvorto estas postulita por %s" + +msgid "shell: Sending password..." +msgstr "ŝelo: Sendanta pasvorton..." + +msgid "shell: Sending initial line..." +msgstr "ŝelo: Sendanta komencan linion..." + +msgid "shell: Getting host info..." +msgstr "ŝelo: Akiranta gastiganto-informojn..." + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "ŝelo: Leganta dosierujon %s..." + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "ŝelo: teno %s: sendanta komandon..." + +msgid "shell: Local read failed, sending zeros" +msgstr "ŝelo: Loka legado malsukcesis, sendanta nulojn" + +msgid "shell: storing file" +msgstr "ŝelo: konservanta dosieron" + +msgid "Aborting transfer..." +msgstr "Ĉesiganta transigon..." + +msgid "Error reported after abort." +msgstr "Eraro raportita post ĉesigo." + +msgid "Aborted transfer would be successful." +msgstr "Ĉesigita transigo estus sukcesa." + msgid "Inconsistent tar archive" msgstr "Malkonsekvenca tar-dosiero" @@ -4509,9 +4511,11 @@ "%s\n" "doesn't look like a tar archive" msgstr "" +"%s\n" +"ne ŝajnas esti TAR-arkivo" msgid "tar: mc_lseek not stopped at a record boundary" -msgstr "" +msgstr "tar: mc_lsek ne ĉesigita je rikorda limo" msgid "undelfs: error" msgstr "undelfs: eraro" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/es.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/es.gmo differ diff -Nru mc-4.8.30/po/es.po mc-4.8.31/po/es.po --- mc-4.8.30/po/es.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/es.po 2024-01-27 08:33:42.000000000 +0000 @@ -13,7 +13,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Slava Zanko , 2011\n" "Language-Team: Spanish (http://app.transifex.com/mc/mc/language/es/)\n" @@ -740,7 +740,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -762,8 +763,9 @@ " Menús: menunormal, menuhot, menusel, menuhotsel, " "menuinactive\n" " Menús emergentes: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" +" editlinestate, editbg, editframe, editframeactive,\n" " editframedrag\n" " Visor: viewnormal, viewbold, viewunderline, viewselected\n" " Ayuda: helpnormal, helpitalic, helpbold, helplink, helpslink\n" @@ -1635,8 +1637,8 @@ "Un editor de texto amigable\n" "para Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "Copyright (C) 1996-2024 the Free Software Foundation" msgid "About" msgstr "Acerca de..." @@ -3178,7 +3180,7 @@ msgstr "búsqueda e&Xterna..." msgid "Show directory s&izes" -msgstr "mostrar &Tamaños de los directorios" +msgstr "mostrar &Tamaños de directorios" msgid "Command &history" msgstr "&Historia de órdenes" @@ -3241,7 +3243,7 @@ msgid "You have %zu opened screen. Quit anyway?" msgid_plural "You have %zu opened screens. Quit anyway?" msgstr[0] "Hay %zu pantalla abierta. ¿Desea realmente salir?" -msgstr[1] "Hay %zu pantallas abiertas. ¿Desea realmente salir?" +msgstr[1] "Hay %zu de pantallas abiertas. ¿Desea realmente salir?" msgstr[2] "Hay %zu pantallas abiertas. ¿Desea realmente salir?" msgid "The Midnight Commander" @@ -3343,7 +3345,7 @@ msgid "Finished (ignored %zu directory)" msgid_plural "Finished (ignored %zu directories)" msgstr[0] "Terminado (%zu directorio ignorado)" -msgstr[1] "Terminado (%zu directorios ignorados)" +msgstr[1] "Terminado (%zu de directorios ignorados)" msgstr[2] "Terminado (%zu directorios ignorados)" #, c-format @@ -3515,7 +3517,7 @@ msgid " (%lu block)" msgid_plural " (%lu blocks)" msgstr[0] " (%lu bloque)" -msgstr[1] " (%lu bloques)" +msgstr[1] " (%lu de bloques)" msgstr[2] " (%lu bloques)" #, c-format @@ -3695,7 +3697,7 @@ msgid "%s in %d file" msgid_plural "%s in %d files" msgstr[0] "%s en %d archivo" -msgstr[1] "%s en %d archivos" +msgstr[1] "%s en %d de archivos" msgstr[2] "%s en %d archivos" msgid "Panelize" @@ -4178,66 +4180,30 @@ "Sistema de archivos virtual EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Atención: imposible abrir el directorio %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Desconectando de %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Esperando línea de inicio..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Lo siento, las conexiones con contraseña aún no son posibles." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Contraseña requerida para %s" - -msgid "fish: Sending password..." -msgstr "fish: Enviando contraseña de usuario" - -msgid "fish: Sending initial line..." -msgstr "fish: Enviando línea de inicio..." - -msgid "fish: Handshaking version..." -msgstr "fish: Negociando versión..." - -msgid "fish: Getting host info..." -msgstr "fish: Obteniendo información del servidor..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Leyendo el directorio %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" +"Sistema de archivos virtual EXTFS:\n" +"nombre de archivo incorrecto" -#, c-format -msgid "%s: done." -msgstr "%s: Hecho." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" +"Sistema de archivos virtual EXTFS:\n" +"nombre de archivador incorrecto" -#, c-format -msgid "%s: failure" -msgstr "%s: Fallo." +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" +"Sistema de archivos virtual EXTFS:\n" +"imposible construir comando" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: Guardar %s: enviando comando..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Fallo de lectura local, enviando ceros" - -msgid "fish: storing file" -msgstr "fish: Guardando archivo" - -msgid "Aborting transfer..." -msgstr "Abortando transferencia." - -msgid "Error reported after abort." -msgstr "Error denunciado tras abortar." - -msgid "Aborted transfer would be successful." -msgstr "Abortada transferencia con éxito." +msgid "Warning: cannot open %s directory\n" +msgstr "Atención: imposible abrir el directorio %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4349,6 +4315,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: Falló; no hay dónde replegarse" +#, c-format +msgid "%s: failure" +msgstr "%s: Fallo." + +#, c-format +msgid "%s: done." +msgstr "%s: Hecho." + msgid "ftpfs: storing file" msgstr "ftpfs: Guardando archivo" @@ -4503,6 +4477,52 @@ msgid "sftp: Listing done." msgstr "sftp: Listado completo." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "shell: Desconectando de %s" + +msgid "shell: Waiting for initial line..." +msgstr "shell: Esperando línea de inicio..." + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Lo siento, las conexiones con contraseña aún no son posibles." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "shell: Contraseña requerida para %s" + +msgid "shell: Sending password..." +msgstr "shell: Enviando contraseña de usuario" + +msgid "shell: Sending initial line..." +msgstr "shell: Enviando línea de inicio..." + +msgid "shell: Getting host info..." +msgstr "shell: Obteniendo información del servidor..." + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "shell: Leyendo el directorio %s..." + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "shell: Guardar %s: enviando comando..." + +msgid "shell: Local read failed, sending zeros" +msgstr "shell: Fallo de lectura local, enviando ceros" + +msgid "shell: storing file" +msgstr "shell: Guardando archivo" + +msgid "Aborting transfer..." +msgstr "Abortando transferencia." + +msgid "Error reported after abort." +msgstr "Error denunciado tras abortar." + +msgid "Aborted transfer would be successful." +msgstr "Abortada transferencia con éxito." + msgid "Inconsistent tar archive" msgstr "Archivo de tipo tar inconsistente" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/et.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/et.gmo differ diff -Nru mc-4.8.30/po/et.po mc-4.8.31/po/et.po --- mc-4.8.30/po/et.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/et.po 2024-01-27 08:33:42.000000000 +0000 @@ -4,7 +4,7 @@ # # Translators: # Ivar Smolin , 2021 -# Kristjan Räts , 2013-2016,2018-2019 +# Kristjan Räts , 2013-2016,2018-2019,2024 # Priit Jõerüüt , 2020-2021,2023 # vaba , 2020 # vaba , 2020 @@ -12,9 +12,10 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" -"Last-Translator: vaba , 2020\n" +"Last-Translator: Kristjan Räts , " +"2013-2016,2018-2019,2024\n" "Language-Team: Estonian (http://app.transifex.com/mc/mc/language/et/)\n" "Language: et\n" "MIME-Version: 1.0\n" @@ -480,12 +481,18 @@ "\n" "Cannot configure write end of SIGWINCH pipe: %s (%d)\n" msgstr "" +"\n" +"SIGWINCH saatmispoolt ei saa\n" +"konfigureerida: %s (%d)\n" #, c-format msgid "" "\n" "Cannot configure read end of SIGWINCH pipe: %s (%d)\n" msgstr "" +"\n" +"SIGWINCH lugemispoolt ei saa\n" +"konfigureerida: %s (%d)\n" #, c-format msgid "" @@ -531,7 +538,7 @@ "%s" msgid "Cannot close pipe descriptor (p == NULL)" -msgstr "" +msgstr "Toru deskriptor ei saa sulgeda (p == NULL)" #, c-format msgid "" @@ -735,7 +742,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -758,7 +766,7 @@ " Toimeti: editnormal, editbold, editmarked, editwhitespace,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" -" Kuvaja: viewnormal,viewbold, viewunderline, viewselected\n" +" Kuvaja: viewnormal, viewbold, viewunderline, viewselected\n" " Abi: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes @@ -1207,7 +1215,7 @@ msgstr "Esmalt vali tekstiplokk" msgid "Run sort" -msgstr "Räivita sortimine" +msgstr "Käivita sortimine" msgid "Enter sort options (see sort(1) manpage) separated by whitespace:" msgstr "" @@ -1628,8 +1636,8 @@ "Kasutajasõbralik tekstitoimeti, mis\n" "on loodud Midnight Commanderile." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Autoriõigused (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "Autoriõigused (C) 1996-2024 the Free Software Foundation" msgid "About" msgstr "Programmist" @@ -2034,13 +2042,13 @@ "Lisainfot leiad manuaalist." msgid "&Full file list" -msgstr "&Täielik failide loend" +msgstr "&Täielik faililoend" msgid "&Brief file list:" -msgstr "&Lühike failide loend:" +msgstr "&Lühike faililoend:" msgid "&Long file list" -msgstr "&Pikk failide loend" +msgstr "&Pikk faililoend" msgid "&User defined:" msgstr "&Kasutaja määratud:" @@ -2166,6 +2174,9 @@ "%s\n" "%s" msgstr "" +"Nurjus vahetus kataloogiks \n" +"%s \n" +"%s" msgid "Secure deletion" msgstr "Turvaline kustutamine" @@ -2186,7 +2197,7 @@ msgstr "Ainult lisa" msgid "No dump" -msgstr "" +msgstr "Tõmmis puudub" msgid "No update atime" msgstr "Jäta atime uuendamata" @@ -2213,7 +2224,7 @@ msgstr "Indekseeritud kataloog" msgid "No tail merging" -msgstr "" +msgstr "Keela lõppude mestimine" msgid "Top of directory hierarchies" msgstr "Kataloogihierarhiate tipp" @@ -2222,16 +2233,16 @@ msgstr "Inode kasutab ulatusi" msgid "Huge_file" -msgstr "" +msgstr "suurfail" msgid "No COW" -msgstr "" +msgstr "COW puudub" msgid "Direct access for files" msgstr "Otsene juurdepääs failidele" msgid "Casefolded file" -msgstr "" +msgstr "Tõstutundetustatud fail" msgid "Inode has inline data" msgstr "I-kirjel on põimitud andmeid" @@ -2259,6 +2270,8 @@ "Cannot chattr \"%s\"\n" "%s" msgstr "" +"\"%s\" attribuutide muutmine nurjus\n" +"%s" #, c-format msgid "" @@ -2431,8 +2444,8 @@ "Both panels should be in the listing mode\n" "to use this command" msgstr "" -"Selle käsu kasutamiseks peaksid mõlemad\n" -"paneelid kuvama failide loendit" +"Selle käsu kasutamiseks peaksid\n" +"mõlemad paneelid kuvama faililoendit" #, c-format msgid "'%s' is not a symbolic link" @@ -3044,7 +3057,7 @@ msgstr "Vigane lähtemuster \"%s\"" msgid "File listin&g" -msgstr "F&ailide loend" +msgstr "F&aililoend" msgid "&Quick view" msgstr "&Kiirvaade" @@ -3053,7 +3066,7 @@ msgstr "&Info" msgid "&Tree" -msgstr "&Puu" +msgstr "P&uu" msgid "&Listing format..." msgstr "&Loendi vormindus..." @@ -3077,7 +3090,7 @@ msgstr "SFTP li&nk..." msgid "Paneli&ze" -msgstr "Pa&neelile" +msgstr "&Paneelile" msgid "&Rescan" msgstr "Ko&rdusskannimine" @@ -3188,7 +3201,7 @@ msgstr "F&ailide taastamine (ainult ext2fs)" msgid "&Listing format edit" -msgstr "&Loend vorminduse muutmine" +msgstr "Muuda &loendi vormindust" msgid "Edit &extension file" msgstr "Muuda &laiendite faili" @@ -3572,7 +3585,7 @@ msgstr "sort|m" msgid "&Unsorted" -msgstr "Sorti&mata" +msgstr "S&ortimata" #. TRANSLATORS: one single character to represent 'name' sort mode #. TRANSLATORS: no need to translate 'sort', it's just a context prefix @@ -4160,66 +4173,30 @@ "EXTFS virtuaalne failisüsteem:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Hoiatus: kataloogi %s avamine nurjus\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: katkestatakse ühendus serveriga %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: oodatakse serveri vastust..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Vabandust, parooliga autenditud ühendused ei ole hetkel võimalikud." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Server %s küsib parooli" - -msgid "fish: Sending password..." -msgstr "fish: saadetakse parooli..." - -msgid "fish: Sending initial line..." -msgstr "fish: lähtestamine..." - -msgid "fish: Handshaking version..." -msgstr "fish: Versiooni kokku leppimine..." - -msgid "fish: Getting host info..." -msgstr "fish: Hangitakse hosti infot..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Loetakse kataloogi %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" +"EXTFS virtuaalne failisüsteem:\n" +"vale failinimi" -#, c-format -msgid "%s: done." -msgstr "%s: valmis." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" +"EXTFS virtuaalne failisüsteem:\n" +"vale arhiivinimi" -#, c-format -msgid "%s: failure" -msgstr "%s: nurjumine" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" +"EXTFS virtuaalne failisüsteem:\n" +"käsu loomine nurjus" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: salvesta %s: saadetakse käsku..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: kohalik lugemine nurjus, saadetakse nullid" - -msgid "fish: storing file" -msgstr "fish: salvestatakse fail" - -msgid "Aborting transfer..." -msgstr "Saatmine katkestatakse..." - -msgid "Error reported after abort." -msgstr "Pärast katkestamist raporteeriti viga." - -msgid "Aborted transfer would be successful." -msgstr "Katkestatud ülekanne oleks edukas." +msgid "Warning: cannot open %s directory\n" +msgstr "Hoiatus: kataloogi %s avamine nurjus\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4331,6 +4308,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: nurjumine; täiendavaid alternatiive ei ole" +#, c-format +msgid "%s: failure" +msgstr "%s: nurjumine" + +#, c-format +msgid "%s: done." +msgstr "%s: valmis." + msgid "ftpfs: storing file" msgstr "ftpfs: salvestatakse faili" @@ -4411,7 +4396,7 @@ msgstr "" "Püsivalt lisatud\n" "%s (%s)\n" -"teadaolevate hostide loendisse." +"tuntud hostide loendisse." msgid "sftp: cannot get the remote host key" msgstr "sftp: ei saa kaughosti võtit hankida" @@ -4431,13 +4416,12 @@ "SHA1:%s.\n" "Do you want to add it to the list of known hosts and continue connecting?" msgstr "" -"Hosti autentsus\n" +"Hosti autentsust ei saa kindlaks teha!\n" "%s (%s)\n" -"ei saa kindlaks teha!\n" "%s võtme sõrmejälje räsi on\n" "SHA1:%s.\n" -"Kas soovite selle teadaolevate hostide loendisse lisada ja ühenduse loomist " -"jätkata?" +"Kas soovite selle lisada tuntud hostide loendisse ja jätkata ühenduse " +"loomist?" #, c-format msgid "" @@ -4450,7 +4434,7 @@ "%s (%s)\n" "on leitud tuntud hostide loendist, kuid\n" "VÕTMED EI SOBI KOKKU! SEE VÕIB OLLA MITM rünnak!\n" -"Kas olete kindel, et soovite selle teadaolevate hostide loendisse lisada ja " +"Kas olete kindel, et soovite selle tuntud hostide loendisse lisada ja " "ühenduse loomist jätkata?" msgid "sftp: host key verification failed" @@ -4487,6 +4471,52 @@ msgid "sftp: Listing done." msgstr "sftp: Loendamine lõpetatud." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "kest: katkestatakse ühendus serveriga %s" + +msgid "shell: Waiting for initial line..." +msgstr "kest: oodatakse serveri vastust..." + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Vabandust, parooliga autenditud ühendused ei ole hetkel võimalikud." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "kest: server %s küsib parooli" + +msgid "shell: Sending password..." +msgstr "kest: parooli saatmine..." + +msgid "shell: Sending initial line..." +msgstr "kest: lähtestamine..." + +msgid "shell: Getting host info..." +msgstr "kest: hosti info hankimine..." + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "kest: loetakse kataloogi %s..." + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "kes: salvesta %s: saadetakse käsku..." + +msgid "shell: Local read failed, sending zeros" +msgstr "kest: kohalik lugemine nurjus, saadetakse nullid" + +msgid "shell: storing file" +msgstr "kest: faili salvestamine" + +msgid "Aborting transfer..." +msgstr "Saatmine katkestatakse..." + +msgid "Error reported after abort." +msgstr "Pärast katkestamist raporteeriti viga." + +msgid "Aborted transfer would be successful." +msgstr "Katkestatud ülekanne oleks edukas." + msgid "Inconsistent tar archive" msgstr "Tar arhiiv sisaldab vasturääkivusi" @@ -4506,9 +4536,11 @@ "%s\n" "doesn't look like a tar archive" msgstr "" +"%s\n" +"ei meenuta tar arhiivi" msgid "tar: mc_lseek not stopped at a record boundary" -msgstr "" +msgstr "tar: mc_lseek ei peatunud kirje piiril" msgid "undelfs: error" msgstr "undelfs: viga" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/eu.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/eu.gmo differ diff -Nru mc-4.8.30/po/eu.po mc-4.8.31/po/eu.po --- mc-4.8.30/po/eu.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/eu.po 2024-01-27 08:33:42.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Iñigo Salvador Azurmendi , " "2011,2015-2019\n" @@ -730,32 +730,13 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors GAKOHITZA={AURRE},{ATZE},{EZAUGR}:GAKOHITZA2=...\n" -"\n" -"{AURRE}, {ATZE} eta {EZAUGR} jarri gabe utzi daitezke, eta lehenetsitakoa " -"erabiliko da\n" -"\n" -" Gakohitzak:\n" -" Globala: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Fitxategien bistaratzea: normal, selected, marked, markselect\n" -" Elkarrizketa laukiak: dnormal, dfocus, dhotnormal, dhotfocus, " -"errdhotnormal,\n" -" errdhotfocus\n" -" Menuak: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Menu gainazaleratuak: pmenunormal, pmenusel, pmenutitle\n" -" Editorea: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Erakuslea: viewnormal,viewbold, viewunderline, viewselected\n" -" Laguntza: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1622,7 +1603,7 @@ "Testu editore lagunkoi bat\n" "Midnight Commander-rarentzako idatzia." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4130,67 +4111,24 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Abisua: %s direktorioa ezin ireki\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: %s(e)tik deskonektatzen" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Hasierako lerroaren zain..." - -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"Barkatu, oraingoz ezin dugu pasahitz bidez autentikatutako konexiorik egin." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: %s(a)rentzako pasahitza behar da" - -msgid "fish: Sending password..." -msgstr "fish: Pasahitza bidaltzen..." - -msgid "fish: Sending initial line..." -msgstr "fish: Hasierako lerroa bidaltzen..." - -msgid "fish: Handshaking version..." -msgstr "fish: bertsioak egiaztatzen (Handshaking)..." - -msgid "fish: Getting host info..." -msgstr "fish: Ostalariaren info eskuratzen..." -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: %s direktorioa irakurtzen..." - -#, c-format -msgid "%s: done." -msgstr "%s: eginda." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: hutsegitea" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: %s biltegiratu: komandoa bidaltzen..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Irakurtze lokalak huts egin du, zeroak bidaltzen" - -msgid "fish: storing file" -msgstr "fish: fitxategia biltegiratzen" - -msgid "Aborting transfer..." -msgstr "Transferentzia galarazten..." - -msgid "Error reported after abort." -msgstr "Akatsaren berri eman da galarazi ondoren." - -msgid "Aborted transfer would be successful." -msgstr "Galarazitako transferentzia arrakastatsua izango zen." +msgid "Warning: cannot open %s directory\n" +msgstr "Abisua: %s direktorioa ezin ireki\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4302,6 +4240,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: huts egin du; ez dauka nora itzuli" +#, c-format +msgid "%s: failure" +msgstr "%s: hutsegitea" + +#, c-format +msgid "%s: done." +msgstr "%s: eginda." + msgid "ftpfs: storing file" msgstr "ftpfs: fitxategia biltegiratzen" @@ -4441,6 +4387,53 @@ msgid "sftp: Listing done." msgstr "sftp: Zerrenda osatuta." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"Barkatu, oraingoz ezin dugu pasahitz bidez autentikatutako konexiorik egin." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Transferentzia galarazten..." + +msgid "Error reported after abort." +msgstr "Akatsaren berri eman da galarazi ondoren." + +msgid "Aborted transfer would be successful." +msgstr "Galarazitako transferentzia arrakastatsua izango zen." + msgid "Inconsistent tar archive" msgstr "tar artxibo inkoherentea" diff -Nru mc-4.8.30/po/fa.po mc-4.8.31/po/fa.po --- mc-4.8.30/po/fa.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/fa.po 2024-01-27 08:33:42.000000000 +0000 @@ -12,7 +12,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Arya Hadi , 2017\n" "Language-Team: Persian (http://app.transifex.com/mc/mc/language/fa/)\n" @@ -708,7 +708,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1544,7 +1545,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3905,66 +3906,24 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "اخطار: پوشه‌ی %s را نمی‌توان باز کرد\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: done." -msgstr "%s: انجام شد." - -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." -msgstr "" +msgid "Warning: cannot open %s directory\n" +msgstr "اخطار: پوشه‌ی %s را نمی‌توان باز کرد\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4076,6 +4035,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "%s: انجام شد." + msgid "ftpfs: storing file" msgstr "" @@ -4209,6 +4176,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/fi.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/fi.gmo differ diff -Nru mc-4.8.30/po/fi.po mc-4.8.31/po/fi.po --- mc-4.8.30/po/fi.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/fi.po 2024-01-27 08:33:42.000000000 +0000 @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Kimmo Kujansuu , 2021\n" "Language-Team: Finnish (http://app.transifex.com/mc/mc/language/fi/)\n" @@ -737,7 +737,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1594,7 +1595,7 @@ "Midnight Commanderille kirjoitettu\n" "käyttäjäystävällinen tekstieditori." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4007,67 +4008,24 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Varoitus: Kansion %s avaaminen ei onnistu\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Katkaistaan yhteys kohteesta %s" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"Sori, mutta emme voi tehdä salasanan authenkaatiota yhteyksille juuri nyt." -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Salasana pakollinen kohteelle %s" - -msgid "fish: Sending password..." -msgstr "fish: Lähetetään salasana..." - -msgid "fish: Sending initial line..." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -msgid "fish: Handshaking version..." +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" -msgid "fish: Getting host info..." -msgstr "fish: Haetaan palveluntarjoajan tietoja..." - #, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Luetaan kansiota %s..." - -#, c-format -msgid "%s: done." -msgstr "%s: valmis." - -#, c-format -msgid "%s: failure" -msgstr "%s: nyt tuli jokin moka" - -#, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: Säilytä %s: lähettämällä komento ..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Paikallisen tiedoston luku epäonnistui, lähetetään nollia" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "Keskeytetään transferrointi..." - -msgid "Error reported after abort." -msgstr "Virhe raportoitu keskeyttämisen jälkeen." - -msgid "Aborted transfer would be successful." -msgstr "Keskeytetty siirto olisi onnistunut." +msgid "Warning: cannot open %s directory\n" +msgstr "Varoitus: Kansion %s avaaminen ei onnistu\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4179,6 +4137,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "%s: nyt tuli jokin moka" + +#, c-format +msgid "%s: done." +msgstr "%s: valmis." + msgid "ftpfs: storing file" msgstr "" @@ -4316,6 +4282,53 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"Sori, mutta emme voi tehdä salasanan authenkaatiota yhteyksille juuri nyt." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Keskeytetään transferrointi..." + +msgid "Error reported after abort." +msgstr "Virhe raportoitu keskeyttämisen jälkeen." + +msgid "Aborted transfer would be successful." +msgstr "Keskeytetty siirto olisi onnistunut." + msgid "Inconsistent tar archive" msgstr "" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/fr.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/fr.gmo differ diff -Nru mc-4.8.30/po/fr.po mc-4.8.31/po/fr.po --- mc-4.8.30/po/fr.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/fr.po 2024-01-27 08:33:42.000000000 +0000 @@ -12,15 +12,15 @@ # Slava Zanko , 2011 # 4a14a73d523224463300dea5e0502458_3dab472, 2012 # Towinet, 2017 -# Wallon Wallon, 2022-2023 +# Wallon Wallon, 2022-2024 # Yury V. Zaytsev , 2016 msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" -"Last-Translator: Wallon Wallon, 2022-2023\n" +"Last-Translator: Wallon Wallon, 2022-2024\n" "Language-Team: French (http://app.transifex.com/mc/mc/language/fr/)\n" "Language: fr\n" "MIME-Version: 1.0\n" @@ -751,29 +751,33 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" "--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"{FORE}, {BACK} et {ATTR} peuvent être omis, et la valeur par défaut sera " -"utilisée\n" -"Mot clés :\n" -"Global : errors, disabled, reverse, gauge, header\n" -"input, inputmark, inputunchanged, commandlinemark\n" -"bbarhotkey, bbarbutton, statusbar\n" -"Affichage fichier: normal, selected, marked, markselect\n" -"Boîtes de dialogue : dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -"errdhotfocus\n" -"Menus : menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -"Menus popup : pmenunormal, pmenusel, pmenutitle\n" -"Éditeur : editnormal, editbold, editmarked, editwhitespace,\n" -"editlinestate, editbg, editframe, editframeactive\n" -"editframedrag\n" -"Visionneuse : viewnormal,viewbold, viewunderline, viewselected\n" -"Aide : helpnormal, helpitalic, helpbold, helplink, helpslink\n" +"\n" +"{FORE}, {BACK} et {ATTR} peuvent être omis. La valeur par défaut sera " +"utilisée.\n" +"\n" +" Mots-clés:\n" +" Global: errors, disabled, reverse, gauge, header\n" +" input, inputmark, inputunchanged, commandlinemark\n" +" bbarhotkey, bbarbutton, statusbar\n" +" File display: normal, selected, marked, markselect\n" +" Dialog boxes: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" +" errdhotfocus\n" +" Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" +" Popup menus: pmenunormal, pmenusel, pmenutitle\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" +" editlinestate, editbg, editframe, editframeactive\n" +" editframedrag\n" +" Viewer: viewnormal,viewbold, viewunderline, viewselected\n" +" Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1641,8 +1645,8 @@ "Un éditeur de text facile d’utilisation.\n" "écrit pour Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "Copyright (C) 1996-2024 the Free Software Foundation" msgid "About" msgstr "À propos" @@ -4189,68 +4193,30 @@ "Système de fichiers virtuel EXTFS :\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Avertissement : impossible d’ouvrir le répertoire %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish : Déconnexion de %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish : attente de la première ligne..." - -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"Désolé, nous ne pouvons pas faire de connexion authentifiée par mot de passe " -"pour l’instant." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish : mot de passe requis pour %s" - -msgid "fish: Sending password..." -msgstr "fish : envoi du mot de passe..." - -msgid "fish: Sending initial line..." -msgstr "fish : envoi de la ligne initiale..." +"Système de fichier virtuel EXTFS :\n" +"nom de fichier erroné" -msgid "fish: Handshaking version..." -msgstr "fish : vérification des numéros de version..." - -msgid "fish: Getting host info..." -msgstr "fish : récupère les informations de l’hôte..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish : lecture du répertoire %s..." - -#, c-format -msgid "%s: done." -msgstr "%s : fait." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" +"Système de fichier virtuel EXTFS :\n" +"mauvais nom d’archive" -#, c-format -msgid "%s: failure" -msgstr "%s : échec" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" +"Système de fichier virtuel EXTFS :\n" +"impossible de construire la commande" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish : sauve %s : envoi de la commande..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish : échec de lecture locale, envoie de zéros" - -msgid "fish: storing file" -msgstr "fish: enregistrement du fichier" - -msgid "Aborting transfer..." -msgstr "Abandon du transfert..." - -msgid "Error reported after abort." -msgstr "Erreur rapportée après l’abandon." - -msgid "Aborted transfer would be successful." -msgstr "Le transfert abandonné devrait avoir réussi." +msgid "Warning: cannot open %s directory\n" +msgstr "Avertissement : impossible d’ouvrir le répertoire %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4362,6 +4328,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs : échec ; nulle part où retomber" +#, c-format +msgid "%s: failure" +msgstr "%s : échec" + +#, c-format +msgid "%s: done." +msgstr "%s : fait." + msgid "ftpfs: storing file" msgstr "ftpfs : enregistrement du fichier" @@ -4525,6 +4499,54 @@ msgid "sftp: Listing done." msgstr "sftp : listing effectué." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "shell : Déconnexion de %s" + +msgid "shell: Waiting for initial line..." +msgstr "shell : En attente de la ligne initiale..." + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"Désolé, nous ne pouvons pas faire de connexion authentifiée par mot de passe " +"pour l’instant." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "shell : Le mot de passe est nécessaire pour %s" + +msgid "shell: Sending password..." +msgstr "shell : Envoi du mot de passe..." + +msgid "shell: Sending initial line..." +msgstr "shell : Envoi de la ligne initiale..." + +msgid "shell: Getting host info..." +msgstr "shell : Obtention d’informations sur l’hôte..." + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "shell : Lecture du répertoire %s..." + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "shell : stocker %s : envoi de la commande..." + +msgid "shell: Local read failed, sending zeros" +msgstr "shell : Échec de la lecture locale, envoi de zéros" + +msgid "shell: storing file" +msgstr "shell : stockage du fichier" + +msgid "Aborting transfer..." +msgstr "Abandon du transfert..." + +msgid "Error reported after abort." +msgstr "Erreur rapportée après l’abandon." + +msgid "Aborted transfer would be successful." +msgstr "Le transfert abandonné devrait avoir réussi." + msgid "Inconsistent tar archive" msgstr "Archive tar incohérente" diff -Nru mc-4.8.30/po/fr_CA.po mc-4.8.31/po/fr_CA.po --- mc-4.8.30/po/fr_CA.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/fr_CA.po 2024-01-27 08:33:42.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2015-02-26 09:48+0000\n" "Last-Translator: Piotr Drąg \n" "Language-Team: French (Canada) (http://www.transifex.com/projects/p/mc/" @@ -704,7 +704,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1540,7 +1541,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3901,65 +3902,23 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4072,6 +4031,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4205,6 +4172,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff -Nru mc-4.8.30/po/ga.po mc-4.8.31/po/ga.po --- mc-4.8.30/po/ga.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/ga.po 2024-01-27 08:33:42.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Irish (http://app.transifex.com/mc/mc/language/ga/)\n" @@ -704,7 +704,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1540,7 +1541,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3913,65 +3914,23 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4084,6 +4043,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4217,6 +4184,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/gl.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/gl.gmo differ diff -Nru mc-4.8.30/po/gl.po mc-4.8.31/po/gl.po --- mc-4.8.30/po/gl.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/gl.po 2024-01-27 08:33:42.000000000 +0000 @@ -12,7 +12,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Miguel Anxo Bouzada , " "2012,2014-2015,2019\n" @@ -737,34 +737,13 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors CONTEXTO={FRENTE},{FONDO},{ATRIBUTOS}:CONTEXTO2=...\n" -"\n" -"{FRENTE}, {FONDO} e {ATRIBUTOS}poden omitirse, empregarase o valor " -"predeterminado\n" -"\n" -" Contextos:\n" -" Globais: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Visor de ficheiros: normal, selected, marked, markselect\n" -" Diálogos: dnormal, dfocus, dhotnormal, dhotfocus, " -"errdhotnormal,\n" -" errdhotfocus\n" -" Menús: menunormal, menuhot, menusel, menuhotsel, " -"menuinactive\n" -" Menús emerxentes: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Visor: viewnormal,viewbold, viewunderline, viewselected\n" -" Axuda: helpnormal, helpitalic, helpbold, helplink, " -"helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1631,7 +1610,7 @@ "Un editor de texto de uso amigábel\n" "escrito para o Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4136,66 +4115,24 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Aviso: non é posíbel abrir o directorio %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: desconectando de %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: esperando liña de inicio..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Síntoo, as conexións con contrasinal aínda non son posíbeis." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: precisase contrasinal para %s" - -msgid "fish: Sending password..." -msgstr "fish: enviando contrasinal de usuario..." - -msgid "fish: Sending initial line..." -msgstr "fish: enviando liña de inicio..." - -msgid "fish: Handshaking version..." -msgstr "fish: negociando versión..." - -msgid "fish: Getting host info..." -msgstr "fish: obtendo información do servidor..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: lendo o directorio %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" -#, c-format -msgid "%s: done." -msgstr "%s: feito." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: fallo" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: gardar %s: enviando orde..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: fallo local de lectura, enviando ceros" - -msgid "fish: storing file" -msgstr "fish: gardando ficheiro" - -msgid "Aborting transfer..." -msgstr "Interrompendo transferencia..." - -msgid "Error reported after abort." -msgstr "Informouse dun erro despois de interromper." - -msgid "Aborted transfer would be successful." -msgstr "Transferencia interrompida satisfactoriamente." +msgid "Warning: cannot open %s directory\n" +msgstr "Aviso: non é posíbel abrir o directorio %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4307,6 +4244,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: produciuse un fallo; non hai onde repregarse" +#, c-format +msgid "%s: failure" +msgstr "%s: fallo" + +#, c-format +msgid "%s: done." +msgstr "%s: feito." + msgid "ftpfs: storing file" msgstr "ftpfs: gardando ficheiro" @@ -4446,6 +4391,52 @@ msgid "sftp: Listing done." msgstr "sftp: Feito o listado." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Síntoo, as conexións con contrasinal aínda non son posíbeis." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Interrompendo transferencia..." + +msgid "Error reported after abort." +msgstr "Informouse dun erro despois de interromper." + +msgid "Aborted transfer would be successful." +msgstr "Transferencia interrompida satisfactoriamente." + msgid "Inconsistent tar archive" msgstr "Arquivo de tipo tar inconsistente" diff -Nru mc-4.8.30/po/he.po mc-4.8.31/po/he.po --- mc-4.8.30/po/he.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/he.po 2024-01-27 08:33:42.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Hebrew (http://app.transifex.com/mc/mc/language/he/)\n" @@ -704,7 +704,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1540,7 +1541,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3909,65 +3910,23 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4080,6 +4039,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4213,6 +4180,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff -Nru mc-4.8.30/po/hr.po mc-4.8.31/po/hr.po --- mc-4.8.30/po/hr.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/hr.po 2024-01-27 08:33:42.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Croatian (http://app.transifex.com/mc/mc/language/hr/)\n" @@ -704,7 +704,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1540,7 +1541,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3905,65 +3906,23 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4076,6 +4035,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4209,6 +4176,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/hu.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/hu.gmo differ diff -Nru mc-4.8.30/po/hu.po mc-4.8.31/po/hu.po --- mc-4.8.30/po/hu.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/hu.po 2024-01-27 08:33:42.000000000 +0000 @@ -3,7 +3,7 @@ # This file is distributed under the same license as the mc package. # # Translators: -# András Tőrös , 2020 +# 6bdcf737f9bcb6037ecba892a70fb951_e9eeb40 , 2020 # Mátyás Demeter , 2014 # Rezső Páder , 2012-2017,2019 # Slava Zanko , 2011 @@ -12,9 +12,10 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" -"Last-Translator: András Tőrös , 2020\n" +"Last-Translator: 6bdcf737f9bcb6037ecba892a70fb951_e9eeb40 " +", 2020\n" "Language-Team: Hungarian (http://app.transifex.com/mc/mc/language/hu/)\n" "Language: hu\n" "MIME-Version: 1.0\n" @@ -722,30 +723,13 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"\n" -"{FORE}, {BACK} és {ATTR} elhagyható, akkor az alapértelmezett lesz " -"használva\n" -" Keywords:\n" -" Általános: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Fájl megjelenítés: normal, selected, marked, markselect\n" -" Dialógus dobozok: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Menük: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Popup menük: pmenunormal, pmenusel, pmenutitle\n" -" Szerkesztő: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Megjelenítő: viewnormal,viewbold, viewunderline, viewselected\n" -" Súgó: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1612,7 +1596,7 @@ "Felhasználóbarát szövegszerkesztő\n" "a Midnight Commander-hez készítve" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4112,66 +4096,24 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Figyelem: A(z) %s könyvtár nem megnyitható\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "Fish: lekapcsolódás a kiszolgálóról: %s" - -msgid "fish: Waiting for initial line..." -msgstr "Fish: várakozás kezdősorra..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Jelszavas azonosítás egyelőre nem lehetséges." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "Fish: Jelszó kell %s azonosításához" - -msgid "fish: Sending password..." -msgstr "Fish: jelszó küldése..." - -msgid "fish: Sending initial line..." -msgstr "Fish: kezdősor küldése..." - -msgid "fish: Handshaking version..." -msgstr "Fish: verzióegyeztetés..." - -msgid "fish: Getting host info..." -msgstr "Fish: Gép info lekérdezés..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "Fish: könyvtár olvasása: %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" -#, c-format -msgid "%s: done." -msgstr "%s: kész" +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: hiba" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "Fish: \"%s\" tárolása: parancs küldése..." - -msgid "fish: Local read failed, sending zeros" -msgstr "Fish: nem sikerült a helyi olvasás; nullák küldése..." - -msgid "fish: storing file" -msgstr "fish: fájl tárolása" - -msgid "Aborting transfer..." -msgstr "Átvitel megszakítása..." - -msgid "Error reported after abort." -msgstr "Megszakítás után hibajelzés érkezett." - -msgid "Aborted transfer would be successful." -msgstr "Átvitel megszakítva; hibajelzés nem érkezett." +msgid "Warning: cannot open %s directory\n" +msgstr "Figyelem: A(z) %s könyvtár nem megnyitható\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4283,6 +4225,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "Ftpfs: hiba; minden lehetőség kimerítve" +#, c-format +msgid "%s: failure" +msgstr "%s: hiba" + +#, c-format +msgid "%s: done." +msgstr "%s: kész" + msgid "ftpfs: storing file" msgstr "ftpfs: fájl tárolása" @@ -4422,6 +4372,52 @@ msgid "sftp: Listing done." msgstr "sftp: A listázás kész." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Jelszavas azonosítás egyelőre nem lehetséges." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Átvitel megszakítása..." + +msgid "Error reported after abort." +msgstr "Megszakítás után hibajelzés érkezett." + +msgid "Aborted transfer would be successful." +msgstr "Átvitel megszakítva; hibajelzés nem érkezett." + msgid "Inconsistent tar archive" msgstr "Inkonzisztens tar-archívum." Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/ia.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/ia.gmo differ diff -Nru mc-4.8.30/po/ia.po mc-4.8.31/po/ia.po --- mc-4.8.30/po/ia.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/ia.po 2024-01-27 08:33:42.000000000 +0000 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Martijn Dekker , 2012,2017\n" "Language-Team: Interlingua (http://app.transifex.com/mc/mc/language/ia/)\n" @@ -715,7 +715,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1560,7 +1561,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3933,68 +3934,24 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Attention: impossibile aperir directorio %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Disconnecte de %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Attende le linea initial..." - -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"Pro le momento il es impossibile establir connexiones authenticate con " -"contrasigno." -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Un contrasigno es necessari pro %s" - -msgid "fish: Sending password..." -msgstr "fish: Invia contrasigno..." - -msgid "fish: Sending initial line..." -msgstr "fish: Invia linea initial..." - -msgid "fish: Handshaking version..." -msgstr "fish: Negotia version..." - -msgid "fish: Getting host info..." -msgstr "fish: Obtene info sur host..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Lege directorio %s..." - -#, c-format -msgid "%s: done." -msgstr "%s: finite." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: fallimento" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: immagazina %s: invia commando..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Lectura local fallite, invia zeros" - -msgid "fish: storing file" -msgstr "fish: immagazina file" - -msgid "Aborting transfer..." -msgstr "Aborta transferentia..." - -msgid "Error reported after abort." -msgstr "Error reportate post abortamento." - -msgid "Aborted transfer would be successful." -msgstr "Le transferentia abortate haberea succedite." +msgid "Warning: cannot open %s directory\n" +msgstr "Attention: impossibile aperir directorio %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4106,6 +4063,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: fallite; nulle parte a que revenir" +#, c-format +msgid "%s: failure" +msgstr "%s: fallimento" + +#, c-format +msgid "%s: done." +msgstr "%s: finite." + msgid "ftpfs: storing file" msgstr "ftpfs: immagazina file" @@ -4245,6 +4210,54 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"Pro le momento il es impossibile establir connexiones authenticate con " +"contrasigno." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Aborta transferentia..." + +msgid "Error reported after abort." +msgstr "Error reportate post abortamento." + +msgid "Aborted transfer would be successful." +msgstr "Le transferentia abortate haberea succedite." + msgid "Inconsistent tar archive" msgstr "Archivo tar inconsistente" diff -Nru mc-4.8.30/po/id.po mc-4.8.31/po/id.po --- mc-4.8.30/po/id.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/id.po 2024-01-27 08:33:42.000000000 +0000 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Ferriandy Chianiago , 2015\n" "Language-Team: Indonesian (http://app.transifex.com/mc/mc/language/id/)\n" @@ -723,7 +723,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1577,7 +1578,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3938,65 +3939,23 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4109,6 +4068,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4242,6 +4209,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/ie.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/ie.gmo differ diff -Nru mc-4.8.30/po/ie.po mc-4.8.31/po/ie.po --- mc-4.8.30/po/ie.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/ie.po 2024-01-27 08:33:42.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Interlingue (http://app.transifex.com/mc/mc/language/ie/)\n" @@ -703,7 +703,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1539,7 +1540,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3906,65 +3907,23 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Un contrasigne es besonat por %s" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -msgid "fish: Getting host info..." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "%s: done." -msgstr "%s: finit." - -#, c-format -msgid "%s: failure" -msgstr "%s: ne successat" - -#, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4077,6 +4036,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "%s: ne successat" + +#, c-format +msgid "%s: done." +msgstr "%s: finit." + msgid "ftpfs: storing file" msgstr "" @@ -4210,6 +4177,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/it.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/it.gmo differ diff -Nru mc-4.8.30/po/it.po mc-4.8.31/po/it.po --- mc-4.8.30/po/it.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/it.po 2024-01-27 08:33:42.000000000 +0000 @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Marco Ciampa , 2023\n" "Language-Team: Italian (http://app.transifex.com/mc/mc/language/it/)\n" @@ -741,31 +741,13 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors PAROLACHIAVE={PRIMOP},{SFONDO},{ATTR}:PAROLACHIAVE2=...\n" -"\n" -"{PRIMOP}, {SFONDO} e {ATTR} si possono omettere, in tal caso mc usa\n" -"valore il predefinito\n" -"\n" -" Parole chiave:\n" -" Globali: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Fines. file: normal, selected, marked, markselect\n" -" Fin. dialog.: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Menu: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Menu scomp.: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Visualiz.: viewnormal, viewbold, viewunderline, viewselected\n" -" Aiuto: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1632,8 +1614,8 @@ "Un semplice editor di testi\n" "scritto per il Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "" msgid "About" msgstr "Informazioni" @@ -4159,66 +4141,24 @@ "File system virtuale EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Attenzione: impossibile aprire la directory %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: disconnessione da %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: attesa riga iniziale..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Spiacente, non posso fare connessioni autenticate per adesso." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: password richiesta per %s" - -msgid "fish: Sending password..." -msgstr "fish: spedizione password..." - -msgid "fish: Sending initial line..." -msgstr "fish: spedizione riga iniziale..." - -msgid "fish: Handshaking version..." -msgstr "fish: versione handshaking..." - -msgid "fish: Getting host info..." -msgstr "fish: ricezione info host..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: lettura directory FTP %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" -#, c-format -msgid "%s: done." -msgstr "%s: fatto." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: errore" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: memorizza %s: spedizione comando..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: lettura locale fallita, spedizione zeri" - -msgid "fish: storing file" -msgstr "fish: memorizzazione file" - -msgid "Aborting transfer..." -msgstr "Interruzione trasferimento..." - -msgid "Error reported after abort." -msgstr "Errori dopo l'interruzione." - -msgid "Aborted transfer would be successful." -msgstr "L'interruzione trasferimento sarebbe riuscita." +msgid "Warning: cannot open %s directory\n" +msgstr "Attenzione: impossibile aprire la directory %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4330,6 +4270,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: fallito; non so dove rileggere" +#, c-format +msgid "%s: failure" +msgstr "%s: errore" + +#, c-format +msgid "%s: done." +msgstr "%s: fatto." + msgid "ftpfs: storing file" msgstr "ftpfs: memorizzazione file" @@ -4485,6 +4433,52 @@ msgid "sftp: Listing done." msgstr "sftp: listato eseguito." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Spiacente, non posso fare connessioni autenticate per adesso." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Interruzione trasferimento..." + +msgid "Error reported after abort." +msgstr "Errori dopo l'interruzione." + +msgid "Aborted transfer would be successful." +msgstr "L'interruzione trasferimento sarebbe riuscita." + msgid "Inconsistent tar archive" msgstr "Archivio tar inconsistente" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/ja.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/ja.gmo differ diff -Nru mc-4.8.30/po/ja.po mc-4.8.31/po/ja.po --- mc-4.8.30/po/ja.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/ja.po 2024-01-27 08:33:42.000000000 +0000 @@ -13,7 +13,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Takuro Onoue , 2021\n" "Language-Team: Japanese (http://app.transifex.com/mc/mc/language/ja/)\n" @@ -718,7 +718,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1554,7 +1555,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3942,66 +3943,24 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "警告: ディレクトリ %s を閲覧できません\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: %s から切断しています" - -msgid "fish: Waiting for initial line..." -msgstr "fish: 最初の行を待っています..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "すいませんが,今のところパスワードを証明することが出来ません" - -#, c-format -msgid "fish: Password is required for %s" +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -msgid "fish: Sending password..." -msgstr "fish: パスワード送信中..." - -msgid "fish: Sending initial line..." -msgstr "fish: 最初の行を送信..." - -msgid "fish: Handshaking version..." -msgstr "fish: バージョンのハンドシェイク..." - -msgid "fish: Getting host info..." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: ディレクトリ%sを読み込み中... " - -#, c-format -msgid "%s: done." -msgstr "%s: 完了" - -#, c-format -msgid "%s: failure" -msgstr "%s: 失敗" - -#, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: store %s: コマンドを送信中..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: 局部読み込みに失敗しました。zeroを送信します" - -msgid "fish: storing file" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" -msgid "Aborting transfer..." -msgstr "転送を中断します..." - -msgid "Error reported after abort." -msgstr "中断後にエラーが報告されました" - -msgid "Aborted transfer would be successful." -msgstr "転送中断に成功しました" +#, c-format +msgid "Warning: cannot open %s directory\n" +msgstr "警告: ディレクトリ %s を閲覧できません\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4113,6 +4072,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: 失敗しました。フォールバックできません" +#, c-format +msgid "%s: failure" +msgstr "%s: 失敗" + +#, c-format +msgid "%s: done." +msgstr "%s: 完了" + msgid "ftpfs: storing file" msgstr "" @@ -4250,6 +4217,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "すいませんが,今のところパスワードを証明することが出来ません" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "転送を中断します..." + +msgid "Error reported after abort." +msgstr "中断後にエラーが報告されました" + +msgid "Aborted transfer would be successful." +msgstr "転送中断に成功しました" + msgid "Inconsistent tar archive" msgstr "tar アーカイブに不整合" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/ka.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/ka.gmo differ diff -Nru mc-4.8.30/po/ka.po mc-4.8.31/po/ka.po --- mc-4.8.30/po/ka.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/ka.po 2024-01-27 08:33:42.000000000 +0000 @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Temuri Doghonadze , 2022\n" "Language-Team: Georgian (http://app.transifex.com/mc/mc/language/ka/)\n" @@ -711,31 +711,13 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"\n" -"{FORE}, {BACK} და {ATTR} შეგიძლიათ გამოტოვოთ.გამოყენებული იქნება " -"ნაგულისხმები მნიშვნელობები\n" -"\n" -" საკვანძო სიტყვები:\n" -" გლობალური: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" ფაილის ჩვენება: normal, selected, marked, markselect\n" -" ფანჯრები: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" მენიუები: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" მხტუნარა მენიუები: pmenunormal, pmenusel, pmenutitle\n" -" რედაქტორი: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" მნახველი: viewnormal,viewbold, viewunderline, viewselected\n" -" დახმარება: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1566,7 +1548,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3936,65 +3918,23 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -msgid "fish: Sending password..." -msgstr "fish: პაროლის გაგზავნა..." - -msgid "fish: Sending initial line..." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -msgid "fish: Handshaking version..." +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" -msgid "fish: Getting host info..." -msgstr "fish: ჰოსტის ინფორმაციის მიღება..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: იკითხება %s საქაღალდე..." - -#, c-format -msgid "%s: done." -msgstr "%s: დასრულებულია." - -#, c-format -msgid "%s: failure" -msgstr "%s: შეცდომა" - #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: საცავი %s: ბრძანების გაგზავნა..." - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "fish: ფაილის ჩაწერა" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4107,6 +4047,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "%s: შეცდომა" + +#, c-format +msgid "%s: done." +msgstr "%s: დასრულებულია." + msgid "ftpfs: storing file" msgstr "ftpfs: ფაილის შენახვა" @@ -4240,6 +4188,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff -Nru mc-4.8.30/po/kk.po mc-4.8.31/po/kk.po --- mc-4.8.30/po/kk.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/kk.po 2024-01-27 08:33:42.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Aidos Kakimzhanov , 2016\n" "Language-Team: Kazakh (http://app.transifex.com/mc/mc/language/kk/)\n" @@ -704,7 +704,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1540,7 +1541,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3901,65 +3902,23 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4072,6 +4031,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4205,6 +4172,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/ko.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/ko.gmo differ diff -Nru mc-4.8.30/po/ko.po mc-4.8.31/po/ko.po --- mc-4.8.30/po/ko.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/ko.po 2024-01-27 08:33:42.000000000 +0000 @@ -8,15 +8,16 @@ # JinYeong Bak , 2016 # Junghee Lee , 2022-2023 # Junghee Lee , 2022 -# Junghee Lee , 2019-2021 +# Junghee Lee , 2019-2021,2023 +# Seong-ho Cho , 2023 # Slava Zanko , 2011 msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" -"Last-Translator: Junghee Lee , 2022-2023\n" +"Last-Translator: Seong-ho Cho , 2023\n" "Language-Team: Korean (http://app.transifex.com/mc/mc/language/ko/)\n" "Language: ko\n" "MIME-Version: 1.0\n" @@ -26,14 +27,14 @@ # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" msgid "Warning: cannot load codepages list" -msgstr "경고: 코드 페이지 목록을 불러올 수 없습니다" +msgstr "경고: 코드 페이지 목록을 불러올 수 없음" msgid "7-bit ASCII" -msgstr "7-bit ASCII" +msgstr "7비트 아스키" #, c-format msgid "Cannot translate from %s to %s" -msgstr "%s에서 %s로 변환할 수 없습니다" +msgstr "%s에서 %s로 변환할 수 없음" msgid "Event system already initialized" msgstr "이벤트 시스템이 이미 초기화되었습니다" @@ -76,7 +77,7 @@ #, c-format msgid "Cannot create %s directory" -msgstr "%s 디렉터리을 만들 수 없습니다" +msgstr "%s 디렉터리를 만들 수 없음" msgid "FATAL: not a directory:" msgstr "치명적인 오류: 디렉터리가 아님:" @@ -97,11 +98,11 @@ "Hex pattern error at position %d:\n" "%s." msgstr "" -"%d 에서 16진수 형식의 오류 발견됨:\n" +"%d에서 16진수 형식의 오류 발견:\n" "%s." msgid "Search string not found" -msgstr "검색 문자열을 찾을 수 없습니다" +msgstr "검색 문자열을 찾을 수 없음" msgid "Not implemented yet" msgstr "아직 구현되지 않음" @@ -134,15 +135,15 @@ "Default skin has been loaded" msgstr "" "'%s' 스킨을 불러올 수 없습니다.\n" -"기본 스킨이 불러오기 되었습니다" +"기본 스킨을 불러왔습니다" #, c-format msgid "" "Unable to parse '%s' skin.\n" "Default skin has been loaded" msgstr "" -"'%s' 스킨을 구문 분석할 수 없습니다.\n" -"기본 스킨이 불러오기 되었습니다" +"'%s' 스킨을 분석할 수 없습니다.\n" +"기본 스킨을 불러왔습니다" #, c-format msgid "" @@ -150,9 +151,9 @@ "%s\n" "Default skin has been loaded" msgstr "" -"트루컬러를 지원하는 '%s' 스킨을 사용할 수 없습니다:\n" +"트루컬러를 지원하는 '%s' 스킨을 사용할 수 없음:\n" "%s\n" -"기본 스킨이 불러오기 되었습니다" +"기본 스킨을 불러왔습니다" #, c-format msgid "" @@ -162,10 +163,10 @@ msgstr "" "256색이 아닌 터미널에서 256색을 지원하는\n" "'%s' 스킨을 사용할 수 없습니다.\n" -"기본 스킨이 불러오기 되었습니다" +"기본 스킨을 불러왔습니다" msgid "True color not supported with ncurses." -msgstr "트루 컬러는 ncurses에서 지원 되지 않습니다." +msgstr "트루 컬러는 ncurses에서 지원하지 않습니다." msgid "Your terminal doesn't even seem to support 256 colors." msgstr "터미널이 256색상을 지원하지 않는 것 같습니다." @@ -180,64 +181,64 @@ msgstr "Esc" msgid "Function key 1" -msgstr "기능 키 1" +msgstr "F1" msgid "Function key 2" -msgstr "기능 키 2" +msgstr "F2" msgid "Function key 3" -msgstr "기능 키 3" +msgstr "F3" msgid "Function key 4" -msgstr "기능 키 4" +msgstr "F4" msgid "Function key 5" -msgstr "기능 키 5" +msgstr "F5" msgid "Function key 6" -msgstr "기능 키 6" +msgstr "F6" msgid "Function key 7" -msgstr "기능 키 7" +msgstr "F7" msgid "Function key 8" -msgstr "기능 키 8" +msgstr "F8" msgid "Function key 9" -msgstr "기능 키 9" +msgstr "F9" msgid "Function key 10" -msgstr "기능 키 10" +msgstr "F10" msgid "Function key 11" -msgstr "기능 키 11" +msgstr "F11" msgid "Function key 12" -msgstr "기능 키 12" +msgstr "F12" msgid "Function key 13" -msgstr "기능 키 13" +msgstr "F13" msgid "Function key 14" -msgstr "기능 키 14" +msgstr "F14" msgid "Function key 15" -msgstr "기능 키 15" +msgstr "F15" msgid "Function key 16" -msgstr "기능 키 16" +msgstr "F16" msgid "Function key 17" -msgstr "기능 키 17" +msgstr "F17" msgid "Function key 18" -msgstr "기능 키 18" +msgstr "F18" msgid "Function key 19" -msgstr "기능 키 19" +msgstr "F19" msgid "Function key 20" -msgstr "기능 키 20" +msgstr "F20" msgid "Completion/M-tab" msgstr "완성/M-tab" @@ -246,7 +247,7 @@ msgstr "뒤로 탭/S-tab" msgid "Backspace" -msgstr "백스페이스" +msgstr "Backspace" msgid "Up arrow" msgstr "위쪽 방향키" @@ -261,22 +262,22 @@ msgstr "오른쪽 방향키" msgid "Insert" -msgstr "삽입 키" +msgstr "Insert" msgid "Delete" -msgstr "삭제 키" +msgstr "Delete" msgid "Home" -msgstr "홈 키" +msgstr "Home" msgid "End key" -msgstr "End 키" +msgstr "End" msgid "Page Up" -msgstr "페이지 위로 키" +msgstr "Page Up" msgid "Page Down" -msgstr "페이지 아래로 키" +msgstr "Page Down" msgid "/ on keypad" msgstr "키패드 /" @@ -324,16 +325,16 @@ msgstr "키패드 Enter" msgid "Function key 21" -msgstr "기능 키 21" +msgstr "F21" msgid "Function key 22" -msgstr "기능 키 22" +msgstr "F22" msgid "Function key 23" -msgstr "기능 키 23" +msgstr "F23" msgid "Function key 24" -msgstr "기능 키 24" +msgstr "F24" msgid "A1 key" msgstr "A1 키" @@ -432,10 +433,10 @@ msgstr "↵" msgid "Tab key" -msgstr "탭 키" +msgstr "Tab" msgid "Space key" -msgstr "스페이스키" +msgstr "Space" msgid "Slash key" msgstr "/" @@ -463,7 +464,7 @@ msgstr "TERM 환경변수가 설정되어있지 않습니다!\n" msgid "Cannot check SIGWINCH pipe" -msgstr "SIGWINCH 파이프를 확인할 수 없습니다" +msgstr "SIGWINCH 파이프를 확인할 수 없음" #, c-format msgid "" @@ -471,7 +472,7 @@ "Cannot create pipe for SIGWINCH: %s (%d)\n" msgstr "" "\n" -"SIGWINCH용 파이프를 작성할 수 없습니다: %s (%d)\n" +"SIGWINCH용 파이프를 작성할 수 없음: %s (%d)\n" #, c-format msgid "" @@ -479,7 +480,7 @@ "Cannot configure write end of SIGWINCH pipe: %s (%d)\n" msgstr "" "\n" -"SIGWINCH 파이프의 쓰기 끝을 구성할 수 없습니다: %s (%d)\n" +"SIGWINCH 파이프의 쓰기 끝을 구성할 수 없음: %s (%d)\n" #, c-format msgid "" @@ -487,7 +488,7 @@ "Cannot configure read end of SIGWINCH pipe: %s (%d)\n" msgstr "" "\n" -"SIGWINCH 파이프의 읽기 끝을 구성할 수 없습니다: %s (%d)\n" +"SIGWINCH 파이프의 읽기 끝을 구성할 수 없음: %s (%d)\n" #, c-format msgid "" @@ -498,42 +499,42 @@ "TERM 환경변수를 확인해 보세요.\n" msgid "B" -msgstr "바이트" +msgstr "B" msgid "kB" -msgstr "킬로바이트" +msgstr "kB" msgid "KiB" -msgstr "키비바이트" +msgstr "KiB" msgid "MB" -msgstr "메가바이트" +msgstr "MB" msgid "MiB" -msgstr "메비바이트" +msgstr "MiB" msgid "GB" -msgstr "기가바이트" +msgstr "GB" msgid "GiB" -msgstr "기비바이트" +msgstr "GiB" msgid "Cannot create pipe descriptor" -msgstr "파이프 설명도구를 작성할 수 없습니다" +msgstr "파이프 디스크립터를 생성할 수 없음" msgid "Cannot create pipe streams" -msgstr "파이프 데이터 스트림을 생성할 수 없습니다" +msgstr "파이프 데이터 스트림을 생성할 수 없음" #, c-format msgid "" "Unexpected error in select() reading data from a child process:\n" "%s" msgstr "" -"Select()에서 하위 프로세스의 데이터를 읽는 도중 예상치 못한 오류 발생:\n" +"select()에서 하위 프로세스의 데이터를 읽는 중 예상치 못한 오류 발생:\n" "%s" msgid "Cannot close pipe descriptor (p == NULL)" -msgstr "파이프 설명자를 닫을 수 없습니다(p == NULL)" +msgstr "파이프 디스크립터를 닫을 수 없음 (p == NULL)" #, c-format msgid "" @@ -574,11 +575,11 @@ #, c-format msgid "Cannot set correct permissions for directory %s\n" -msgstr "%s 디렉터리에 대한 올바른 사용 권한을 설정할 수 없습니다\n" +msgstr "%s 디렉터리에 대한 올바른 사용 권한을 설정할 수 없음\n" #, c-format msgid "Cannot create temporary directory %s: %s\n" -msgstr "%s 임시 디렉터리를 생성할 수 없습니다: %s\n" +msgstr "%s 임시 디렉터리를 생성할 수 없음: %s\n" #, c-format msgid "Temporary files will be created in %s\n" @@ -592,7 +593,7 @@ msgstr "계속하려면 아무 키나 누르십시오..." msgid "Cannot parse:" -msgstr "구문 분석할 수 없습니다:" +msgstr "분석할 수 없음:" msgid "More parsing errors will be ignored." msgstr "더 많은 구문 분석 오류가 무시됩니다." @@ -601,26 +602,26 @@ msgstr "내부 오류:" msgid "Password:" -msgstr "비밀번호:" +msgstr "암호:" msgid "Screens" msgstr "화면" msgid "History" -msgstr "히스토리" +msgstr "기록" #. TRANSLATORS: no need to translate 'DialogTitle', it's just a context prefix msgid "DialogTitle|History cleanup" -msgstr "히스토리 정리" +msgstr "기록 정리" msgid "Do you want clean this history?" -msgstr "이 히스토리를 지우시겠습니까?" +msgstr "이 기록을 지우시겠습니까?" msgid "&Yes" msgstr "예(&Y)" msgid "&No" -msgstr "아니오(&N)" +msgstr "아니요(&N)" msgid "&OK" msgstr "확인(&O)" @@ -648,13 +649,13 @@ msgstr "데이터 디렉터리 인쇄" msgid "Print extended info about used data directories" -msgstr "사용된 데이터 디렉터리에 대한 확장 정보 인쇄" +msgstr "사용 데이터 디렉터리의 확장 정보 출력" msgid "Print configure options" -msgstr "설정 옵션 인쇄" +msgstr "설정 옵션 출력" msgid "Print last working directory to specified file" -msgstr "마지막 작업 디렉터리를 지정된 파일로 인쇄" +msgstr "마지막 작업 디렉터리를 지정된 파일로 출력" msgid "" msgstr "" @@ -708,7 +709,7 @@ msgstr "파일에서 키 바인딩 정의 불러오기 안함, 기본값 사용" msgid "Requests to run in black and white" -msgstr "흑백모드로 실행 요청" +msgstr "흑백 모드로 실행 요청" msgid "Request to run in color mode" msgstr "컬러 모드로 실행 요청" @@ -737,30 +738,13 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"\n" -"{FORE}, {BACK} 및 {ATTR}을(를) 생략할 수 있으며 기본값이 사용됨\n" -"\n" -"키워드:\n" -" 전역: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" 파일 표시: normal, selected, marked, markselect\n" -" 대화 상자: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" 메뉴: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" 팝업 메뉴: pmenunormal, pmenusel, pmenutitle\n" -" 편집기: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" 뷰어: viewnormal,viewbold, viewunderline, viewselected\n" -" 도움말: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -815,19 +799,19 @@ msgstr "GNU 미드나잇 커맨더 %s\n" msgid "Main options" -msgstr "기본 옵션" +msgstr "주요 옵션" msgid "Terminal options" msgstr "터미널 옵션" msgid "Arguments parse error!" -msgstr "인수 구문 분석 오류!" +msgstr "인수 분석 오류!" msgid "No arguments given to the viewer." -msgstr "뷰어에 지정된 인수가 없습니다." +msgstr "뷰어에 지정한 인자가 없습니다." msgid "Two files are required to invoke the diffviewer." -msgstr "Diffviewer를 호출하려면 두 개의 파일이 필요합니다." +msgstr "diffviewer를 호출하려면 파일 두 개가 필요합니다." msgid "Background protocol error" msgstr "백그라운드 프로토콜 오류" @@ -839,10 +823,10 @@ msgstr "백그라운드 프로세스 오류" msgid "Unknown error in child" -msgstr "하위에서 알 수 없는 오류 발생" +msgstr "하위 프로세스에서 알 수 없는 오류 발생" msgid "Child died unexpectedly" -msgstr "하위가 예기치 않게 죽음" +msgstr "하위 프로세스가 예기치 않게 죽음" msgid "" "Background process sent us a request for more arguments\n" @@ -881,7 +865,7 @@ "%s" msgstr "" "%s\n" -"임시 Diff 파일을 생성할 수 없습니다" +"임시 Diff 파일을 생성할 수 없음" #, c-format msgid "" @@ -891,7 +875,7 @@ msgstr "" "%s%s\n" "%s\n" -" 백업 파일을 생성할 수 없습니다" +" 백업 파일을 생성할 수 없음" #, c-format msgid "" @@ -899,7 +883,7 @@ "%s" msgstr "" "%s\n" -"임시 병합 파일을 생성할 수 없습니다" +"임시 병합 파일을 생성할 수 없음" msgid "&Fastest (Assume large files)" msgstr "가장 빠름 (대용량 파일 추정)(&F)" @@ -971,14 +955,14 @@ msgstr "종료" msgid "File(s) was modified. Save with exit?" -msgstr "파일 수정됨. 종료로 저장하시겠습니까?" +msgstr "파일을 수정했습니다. 저장 후 나가시겠습니까?" msgid "" "Midnight Commander is being shut down.\n" "Save modified file(s)?" msgstr "" -"미드나잇 커맨더가 종료됩니다.\n" -"수정된 파일을 저장하시겠습니까?" +"미드나잇 커맨더를 끝냅니다.\n" +"수정한 파일을 저장하시겠습니까?" msgid "Diff:" msgstr "비교:" @@ -1010,7 +994,7 @@ #, c-format msgid "Cannot open %s for reading" -msgstr "%s을(를) 열 수 없습니다" +msgstr "%s을(를) 열 수 없음" msgid "Load file" msgstr "파일 불러오기" @@ -1021,7 +1005,7 @@ #, c-format msgid "Cannot get size/permissions for %s" -msgstr "%s에 대한 크기/사용 권한을 가져올 수 없습니다" +msgstr "%s에 대한 크기/사용 권한을 가져올 수 없음" #, c-format msgid "\"%s\" is not a regular file" @@ -1044,7 +1028,7 @@ #, c-format msgid "Cannot open pipe for reading: %s" -msgstr "읽을 파이프를 열 수 없습니다: %s" +msgstr "읽을 파이프를 열 수 없음: %s" msgid "File has hard-links. Detach before saving?" msgstr "파일에 하드-링크가 있습니다. 저장하기 전에 분리 하시겠습니까?" @@ -1058,11 +1042,11 @@ #, c-format msgid "Cannot open pipe for writing: %s" -msgstr "쓰기 위해 파이프를 열 수 없습니다: %s" +msgstr "쓰기 위해 파이프를 열 수 없음: %s" #, c-format msgid "Cannot open file for writing: %s" -msgstr "쓰기 위해 파일을 열 수 없습니다: %s" +msgstr "쓰기 위해 파일을 열 수 없음: %s" msgid "The file you are saving does not end with a newline." msgstr "저장중인 파일은 개행 문자로 끝나지 않음." @@ -1110,7 +1094,7 @@ msgstr "다른 이름으로 저장" msgid "Cannot save: destination is not a regular file" -msgstr "저장할 수 없습니다: 대상이 일반 파일이 아님" +msgstr "저장할 수 없음: 대상이 일반 파일이 아님" msgid "A file already exists with this name" msgstr "이 이름의 파일이 이미 있음" @@ -1119,7 +1103,7 @@ msgstr "덮어쓰기(&O)" msgid "Cannot save file" -msgstr "파일을 저장할 수 없습니다" +msgstr "파일을 저장할 수 없음" #, c-format msgid "Confirm save file: \"%s\"" @@ -1156,7 +1140,7 @@ msgstr "로컬(&L)" msgid "[NoName]" -msgstr "[이름 없습니다]" +msgstr "[이름 없음]" #, c-format msgid "" @@ -1184,7 +1168,7 @@ msgstr "클립보드로 복사하기" msgid "Unable to save to file" -msgstr "파일에 저장할 수 없습니다" +msgstr "파일에 저장할 수 없음" msgid "Cut to clipboard" msgstr "클립보드로 잘라내기" @@ -1199,7 +1183,7 @@ msgstr "파일 삽입" msgid "Cannot insert file" -msgstr "파일을 삽입할 수 없습니다" +msgstr "파일을 삽입할 수 없음" msgid "Sort block" msgstr "블록 정렬" @@ -1217,7 +1201,7 @@ msgstr "정렬" msgid "Cannot execute sort command" -msgstr "정렬 명령을 실행할 수 없습니다" +msgstr "정렬 명령을 실행할 수 없음" #, c-format msgid "Sort returned non-zero: %s" @@ -1233,7 +1217,7 @@ msgstr "확장 명령어" msgid "Cannot execute command" -msgstr "명령을 실행할 수 없습니다" +msgstr "명령을 실행할 수 없음" msgid "mail -s -c " msgstr "mail -s -c " @@ -1251,7 +1235,7 @@ msgstr "메일" msgid "Insert literal" -msgstr "텍스트 삽입" +msgstr "문자 삽입" msgid "Press any key:" msgstr "아무 키나 누르기:" @@ -1270,7 +1254,7 @@ msgstr "완성 정보 수집" msgid "NoName" -msgstr "이름없습니다" +msgstr "이름없음" msgid "Save macro" msgstr "매크로 저장" @@ -1438,7 +1422,7 @@ msgstr "메일(&M)..." msgid "Insert &literal..." -msgstr "텍스트 삽입(&L)..." +msgstr "문자 삽입(&L)..." msgid "Insert &date/time" msgstr "날짜/시간 삽입(&D)" @@ -1516,7 +1500,7 @@ msgstr "옵션(&O)" msgid "&None" -msgstr "없습니다(&N)" +msgstr "없음(&N)" msgid "&Dynamic paragraphing" msgstr "동적 분할(&D)" @@ -1627,8 +1611,8 @@ "사용자 친화적인 텍스트 편집기\n" "미드나잇 커맨더를 위해 작성됨." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Copyright (C) 1996-2023 자유 소프트웨어 재단" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "" msgid "About" msgstr "소개" @@ -1764,7 +1748,7 @@ "Cannot open file %s\n" "%s" msgstr "" -"%s 파일을 열 수 없습니다\n" +"%s 파일을 열 수 없음\n" "%s" #, c-format @@ -1783,7 +1767,7 @@ #, c-format msgid "Cannot fetch a local copy of %s" -msgstr "%s의 로컬 복사본을 가져올 수 없습니다" +msgstr "%s의 로컬 복사본을 가져올 수 없음" msgid "The shell is already running a command" msgstr "셸이 이미 명령을 실행하고 있음" @@ -1831,7 +1815,7 @@ "Cannot chmod \"%s\"\n" "%s" msgstr "" -"\"%s\"을(를) chmod할 수 없습니다\n" +"\"%s\"을(를) chmod할 수 없음\n" "%s" msgid "&Ignore" @@ -1848,7 +1832,7 @@ "Cannot chown \"%s\"\n" "%s" msgstr "" -"\"%s\"을(를) 선택할 수 없습니다\n" +"\"%s\"을(를) 선택할 수 없음\n" "%s" msgid "< Default >" @@ -2104,10 +2088,10 @@ msgstr "디스플레이 비트" msgid "Input / display codepage:" -msgstr "코드 페이지 입력/표시:" +msgstr "입력 / 디스플레이 코드페이지:" msgid "Directory tree" -msgstr "디렉터리 트리구조" +msgstr "디렉터리 트리" msgid "Timeout for freeing VFSs (sec):" msgstr "VFS를 해제하기 위한 타임아웃(초):" @@ -2134,10 +2118,10 @@ msgstr "가상 파일 시스템 설정" msgid "cd" -msgstr "디렉터리 변경" +msgstr "cd" msgid "Quick cd" -msgstr "빠른 디렉터리 변경" +msgstr "빠른 cd" msgid "Existing filename (filename symlink will point to):" msgstr "대상 파일 이름 (심볼릭링크 파일이 가리킬 파일):" @@ -2166,18 +2150,21 @@ "%s\n" "%s" msgstr "" +"디렉터리를 다음으로 변경할 수 없음\n" +"%s\n" +"%s" msgid "Secure deletion" -msgstr "안전한 삭제" +msgstr "보안 삭제" msgid "Undelete" msgstr "삭제취소" msgid "Synchronous updates" -msgstr "동기 업데이트" +msgstr "실시간 업데이트" msgid "Synchronous directory updates" -msgstr "동기 디렉터리 업데이트" +msgstr "실시간 디렉터리 업데이트" msgid "Immutable" msgstr "불변" @@ -2186,10 +2173,10 @@ msgstr "첨부 만" msgid "No dump" -msgstr "덤프 없습니다" +msgstr "덤프 없음" msgid "No update atime" -msgstr "한 번에 업데이트 없습니다" +msgstr "atime 업데이트 안함" msgid "Compress" msgstr "압축" @@ -2213,7 +2200,7 @@ msgstr "색인된 디렉터리" msgid "No tail merging" -msgstr "꼬리 병합 없습니다" +msgstr "꼬리 병합 없음" msgid "Top of directory hierarchies" msgstr "최상위 디렉터리 계층" @@ -2225,7 +2212,7 @@ msgstr "대용량_파일" msgid "No COW" -msgstr "COW 없습니다" +msgstr "COW 없음" msgid "Direct access for files" msgstr "파일에 대한 직접 액세스" @@ -2259,7 +2246,7 @@ "Cannot chattr \"%s\"\n" "%s" msgstr "" -"\"%s\" 속성 변경을 할 수 없습니다\n" +"\"%s\" 속성 변경을 할 수 없음\n" "%s" #, c-format @@ -2267,7 +2254,7 @@ "Cannot get flags of \"%s\"\n" "%s" msgstr "" -"\"%s\" 플래그를 가져올 수 없습니다\n" +"\"%s\" 플래그를 가져올 수 없음\n" "%s" msgid "set &user ID on execution" @@ -2449,7 +2436,7 @@ #, c-format msgid "edit symlink, unable to remove %s: %s" -msgstr "심볼릭링크 편집, %s을(를) 제거할 수 없습니다: %s" +msgstr "심볼릭링크 편집, %s을(를) 제거할 수 없음: %s" #, c-format msgid "edit symlink: %s" @@ -2486,10 +2473,10 @@ #, c-format msgid "Unable to save setup to %s" -msgstr "%s에 설정을 저장할 수 없습니다" +msgstr "%s에 설정을 저장할 수 없음" msgid "Cannot execute commands on non-local filesystems" -msgstr "로컬이 아닌 파일 시스템에서 명령을 실행할 수 없습니다" +msgstr "로컬이 아닌 파일 시스템에서 명령을 실행할 수 없음" msgid "Parameter" msgstr "매개변수" @@ -2499,7 +2486,7 @@ "Cannot create temporary command file\n" "%s" msgstr "" -"임시 명령 파일을 생성할 수 없습니다\n" +"임시 명령 파일을 생성할 수 없음\n" "%s" msgid "Pipe failed" @@ -2590,7 +2577,7 @@ "Cannot stat hardlink source file \"%s\"\n" "%s" msgstr "" -"\"%s\" 하드링크 소스 파일을 통계할 수 없습니다\n" +"\"%s\" 하드링크 소스 파일을 통계할 수 없음\n" "%s" #, c-format @@ -2598,19 +2585,19 @@ "Cannot create target hardlink \"%s\"\n" "%s" msgstr "" -"\"%s\" 대상 하드링크를 만들 수 없습니다\n" +"\"%s\" 대상 하드링크를 만들 수 없음\n" "%s" #, c-format msgid "Cannot create target hardlink \"%s\"" -msgstr "\"%s\" 대상 하드링크를 만들 수 없습니다" +msgstr "\"%s\" 대상 하드링크를 만들 수 없음" #, c-format msgid "" "Cannot read source link \"%s\"\n" "%s" msgstr "" -"\"%s\" 소스 링크를 읽을 수 없습니다\n" +"\"%s\" 소스 링크를 읽을 수 없음\n" "%s" msgid "" @@ -2618,7 +2605,7 @@ "\n" "Option Stable Symlinks will be disabled" msgstr "" -"로컬이 아닌 파일 시스템 간에 안정적인 심볼릭링크를 만들 수 없습니다:\n" +"로컬이 아닌 파일 시스템 간에 안정적인 심볼릭링크를 만들 수 없음:\n" "\n" "옵션 안정 심볼릭링크가 비활성화 됩니다" @@ -2627,7 +2614,7 @@ "Cannot create target symlink \"%s\"\n" "%s" msgstr "" -"\"%s\" 대상 심볼릭링크를 만들 수 없습니다\n" +"\"%s\" 대상 심볼릭링크를 만들 수 없음\n" "%s" #, c-format @@ -2676,14 +2663,14 @@ "다시 삭제하시겠습니까?" msgid "Non&e" -msgstr "없습니다(&E)" +msgstr "없음(&E)" #, c-format msgid "" "Cannot remove file \"%s\"\n" "%s" msgstr "" -"%s 파일을 제거할 수 없습니다\n" +"%s 파일을 제거할 수 없음\n" "%s" #, c-format @@ -2691,19 +2678,19 @@ "Cannot stat file \"%s\"\n" "%s" msgstr "" -"%s 파일을 stat할 수 없습니다\n" +"%s 파일을 stat할 수 없음\n" "%s" #, c-format msgid "Cannot overwrite directory \"%s\"" -msgstr "%s 디렉터리를 덮어쓸 수 없습니다" +msgstr "%s 디렉터리를 덮어쓸 수 없음" #, c-format msgid "" "Cannot move file \"%s\" to \"%s\"\n" "%s" msgstr "" -"%s 파일을 \"%s\"로 이동할 수 없습니다\n" +"%s 파일을 \"%s\"로 이동할 수 없음\n" "\n" "%s" @@ -2712,7 +2699,7 @@ "Cannot remove directory \"%s\"\n" "%s" msgstr "" -"%s 디렉터리를 제거할 수 없습니다\n" +"%s 디렉터리를 제거할 수 없음\n" "%s" #, c-format @@ -2720,7 +2707,7 @@ "Cannot overwrite directory \"%s\"\n" "%s" msgstr "" -"%s 디렉터리를 덮어쓸 수 없습니다\n" +"%s 디렉터리를 덮어쓸 수 없음\n" "%s" #, c-format @@ -2728,7 +2715,7 @@ "Cannot overwrite file \"%s\"\n" "%s" msgstr "" -"%s 파일을 덮어쓸 수 없습니다\n" +"%s 파일을 덮어쓸 수 없음\n" "%s" #, c-format @@ -2736,7 +2723,7 @@ "Cannot move directory \"%s\" to \"%s\"\n" "%s" msgstr "" -"\"%s\" 디렉터리를 \"%s\"로 이동할 수 없습니다\n" +"\"%s\" 디렉터리를 \"%s\"로 이동할 수 없음\n" "%s" msgid "Cannot operate on \"..\"!" @@ -2747,7 +2734,7 @@ "Cannot stat source file \"%s\"\n" "%s" msgstr "" -"\"%s\" 원본 파일을 통계할 수 없습니다\n" +"\"%s\" 원본 파일을 통계할 수 없음\n" "%s" #, c-format @@ -2755,7 +2742,7 @@ "Cannot create special file \"%s\"\n" "%s" msgstr "" -"\"%s\" 특수 파일을 만들 수 없습니다\n" +"\"%s\" 특수 파일을 만들 수 없음\n" "%s" #, c-format @@ -2763,7 +2750,7 @@ "Cannot chown target file \"%s\"\n" "%s" msgstr "" -"\"%s\" 대상 파일을 chown 할 수 없습니다\n" +"\"%s\" 대상 파일을 chown 할 수 없음\n" "%s" #, c-format @@ -2771,7 +2758,7 @@ "Cannot chmod target file \"%s\"\n" "%s" msgstr "" -"\"%s\" 대상 파일을 chmod할 수 없습니다\n" +"\"%s\" 대상 파일을 chmod할 수 없음\n" "%s" #, c-format @@ -2779,7 +2766,7 @@ "Cannot open source file \"%s\"\n" "%s" msgstr "" -"\"%s\" 원본 파일을 열 수 없습니다\n" +"\"%s\" 원본 파일을 열 수 없음\n" "%s" msgid "Reget failed, about to overwrite file" @@ -2790,7 +2777,7 @@ "Cannot fstat source file \"%s\"\n" "%s" msgstr "" -"\"%s\" 소스 파일을 fstat할 수 없습니다\n" +"\"%s\" 소스 파일을 fstat할 수 없음\n" "%s" #, c-format @@ -2798,7 +2785,7 @@ "Cannot create target file \"%s\"\n" "%s" msgstr "" -"\"%s\" 대상 파일을 생성할 수 없습니다\n" +"\"%s\" 대상 파일을 생성할 수 없음\n" "%s" #, c-format @@ -2806,7 +2793,7 @@ "Cannot fstat target file \"%s\"\n" "%s" msgstr "" -"\"%s\" 대상 파일을 fstat할 수 없습니다\n" +"\"%s\" 대상 파일을 fstat할 수 없음\n" "%s" #, c-format @@ -2814,7 +2801,7 @@ "Cannot preallocate space for target file \"%s\"\n" "%s" msgstr "" -"\"%s\" 대상 파일에 대한 공간을 사전 할당할 수 없습니다\n" +"\"%s\" 대상 파일에 대한 공간을 사전 할당할 수 없음\n" "%s" #, c-format @@ -2822,7 +2809,7 @@ "Cannot read source file \"%s\"\n" "%s" msgstr "" -"\"%s\" 소스 파일를 읽을 수 없습니다\n" +"\"%s\" 소스 파일를 읽을 수 없음\n" "%s" #, c-format @@ -2830,7 +2817,7 @@ "Cannot write target file \"%s\"\n" "%s" msgstr "" -"\"%s\" 대상 파일을 쓸 수 없습니다\n" +"\"%s\" 대상 파일을 쓸 수 없음\n" "%s" msgid "(stalled)" @@ -2850,7 +2837,7 @@ "Cannot close source file \"%s\"\n" "%s" msgstr "" -"\"%s\" 원본 파일을 닫을 수 없습니다\n" +"\"%s\" 원본 파일을 닫을 수 없음\n" "%s" #, c-format @@ -2858,7 +2845,7 @@ "Cannot close target file \"%s\"\n" "%s" msgstr "" -"\"%s\" 대상 파일을 닫을 수 없습니다\n" +"\"%s\" 대상 파일을 닫을 수 없음\n" "%s" #, c-format @@ -2866,7 +2853,7 @@ "Cannot stat source directory \"%s\"\n" "%s" msgstr "" -"\"%s\" 소스 디렉터리를 stat할 수 없습니다\n" +"\"%s\" 소스 디렉터리를 stat할 수 없음\n" "%s" #, c-format @@ -2882,7 +2869,7 @@ "Cannot copy cyclic symbolic link\n" "\"%s\"" msgstr "" -"순환 심볼릭 링크를 복사할 수 없습니다\n" +"순환 심볼릭 링크를 복사할 수 없음\n" "\"%s\"" #, c-format @@ -2898,7 +2885,7 @@ "Cannot create target directory \"%s\"\n" "%s" msgstr "" -"\"%s\" 대상 디렉터리를 생성할 수 없습니다\n" +"\"%s\" 대상 디렉터리를 생성할 수 없음\n" "%s" #, c-format @@ -2906,7 +2893,7 @@ "Cannot chown target directory \"%s\"\n" "%s" msgstr "" -"\"%s\" 대상 디렉터리를 선택할 수 없습니다\n" +"\"%s\" 대상 디렉터리를 선택할 수 없음\n" "%s" #, c-format @@ -2914,7 +2901,7 @@ msgstr "디렉터리: %zu, 전체 크기: %s" msgid "Sorry, I could not put the job in background" -msgstr "죄송합니다, 백그라운드에서 작업을 넣을 수 없습니다" +msgstr "죄송합니다, 백그라운드에서 작업을 넣을 수 없음" msgid "S&uspend" msgstr "일시 중단(&U)" @@ -3096,7 +3083,7 @@ msgstr "복사(&C)" msgid "C&hmod" -msgstr "파일/디렉터리 권한 변경(&H)" +msgstr "퍼미션(chmod)(&H)" msgid "&Link" msgstr "링크(&L)" @@ -3126,7 +3113,7 @@ msgstr "&디렉생성" msgid "&Quick cd" -msgstr "빠른 디렉터리 변경(&Q)" +msgstr "빠른cd(&Q)" msgid "Select &group" msgstr "그룹 선택(&G)" @@ -3144,7 +3131,7 @@ msgstr "사용자 메뉴(&U)" msgid "&Directory tree" -msgstr "디렉터리 트리구조(&D)" +msgstr "디렉터리 트리(&D)" msgid "&Find file" msgstr "파일 찾기(&F)" @@ -3216,7 +3203,7 @@ msgstr "외형(&A)..." msgid "&Display bits..." -msgstr "비트 표시(&D)..." +msgstr "디스플레이 비트(&D)..." msgid "&Virtual FS..." msgstr "가상 파일시스템(&V)..." @@ -3260,7 +3247,7 @@ msgstr "디렉생성" msgid "&Chdir" -msgstr "디렉터리 이동(&C)" +msgstr "Chdir(&C)" msgid "&Again" msgstr "다시(&A)" @@ -3427,7 +3414,7 @@ "MC was unable to write %s file,\n" "your old hotlist entries were not deleted" msgstr "" -"MC가 %s 파일을 쓸 수 없습니다,\n" +"MC가 %s 파일을 쓸 수 없음,\n" "이전 단축목록 항목이 삭제되지 않음" #, c-format @@ -3446,13 +3433,13 @@ msgstr "파일: %s" msgid "No node information" -msgstr "노드 정보 없습니다" +msgstr "노드 정보 없음" msgid "Free nodes:" msgstr "사용 가능한 노드:" msgid "No space information" -msgstr "공간 정보 없습니다" +msgstr "공간 정보 없음" #, c-format msgid "Free space: %s / %s (%d%%)" @@ -3512,7 +3499,7 @@ msgstr "속성: %s" msgid "Attributes: unavailable" -msgstr "속성: 사용할 수 없습니다" +msgstr "속성: 사용할 수 없음" #, c-format msgid "Mode: %s (%04o)" @@ -3661,13 +3648,13 @@ msgstr "[dev]" msgid "UP--DIR" -msgstr "상위 디렉터리" +msgstr "상위--DIR" msgid "SYMLINK" msgstr "심볼릭링크" msgid "SUB-DIR" -msgstr "하위 디렉터리" +msgstr "하위--DIR" msgid "" msgstr "" @@ -3681,7 +3668,7 @@ msgstr "패널 크기조정" msgid "Unknown tag on display format:" -msgstr "표시 형식의 알 수 없는 태그:" +msgstr "디스플레이 형식의 알 수 없는 태그:" msgid "&Files only" msgstr "파일만(&F)" @@ -3702,7 +3689,7 @@ msgstr "정말로 실행하시겠습니까?" msgid "Cannot read directory contents" -msgstr "디렉터리 내용을 읽을 수 없습니다" +msgstr "디렉터리 내용을 읽을 수 없음" msgid "User supplied format looks invalid, reverting to default." msgstr "사용자가 제공한 형식이 잘못되어 기본값으로 되돌립니다." @@ -3740,11 +3727,11 @@ "%s" msgstr "" "확장 패널크기:\n" -"하위 프로세스의 stdout에서 ​​데이터를 읽을 수 없습니다:\n" +"하위 프로세스의 stdout에서 ​​데이터를 읽을 수 없음:\n" "%s" msgid "Cannot run external panelize in a non-local directory" -msgstr "로컬이 아닌 디렉터리에서 확장 패널크기를 실행할 수 없습니다" +msgstr "로컬이 아닌 디렉터리에서 확장 패널크기를 실행할 수 없음" msgid "Modified git files" msgstr "수정된 git 파일" @@ -3763,7 +3750,7 @@ "Cannot open the %s file for writing:\n" "%s\n" msgstr "" -"쓰기 위한 파일 %s을(를) 열 수 없습니다:\n" +"쓰기 위한 파일 %s을(를) 열 수 없음:\n" "%s\n" #, c-format @@ -3779,7 +3766,7 @@ "Cannot stat the destination\n" "%s" msgstr "" -"대상 정보를 볼 수 없습니다\n" +"대상 정보를 볼 수 없음\n" "%s" #, c-format @@ -3806,7 +3793,7 @@ "Cannot write to the %s file:\n" "%s\n" msgstr "" -"%s 파일에 쓸 수 없습니다:\n" +"%s 파일에 쓸 수 없음:\n" "%s\n" msgid "Help file format error\n" @@ -3817,7 +3804,7 @@ #, c-format msgid "Cannot find node %s in help file" -msgstr "도움말 파일에서 %s 노드를 찾을 수 없습니다" +msgstr "도움말 파일에서 %s 노드를 찾을 수 없음" msgid "Help" msgstr "도움말" @@ -3855,7 +3842,7 @@ "마찬가지로 기다리십시오." msgid "Cannot accept this key" -msgstr "이 키를 수락할 수 없습니다" +msgstr "이 키를 수락할 수 없음" #, c-format msgid "You have entered \"%s\"" @@ -3918,7 +3905,7 @@ "%s\n" msgstr "" "\n" -"닫기 시 실패함:\n" +"닫는 동안 실패:\n" "%s\n" msgid "Choose codepage" @@ -3938,12 +3925,12 @@ "Cannot save file %s:\n" "%s" msgstr "" -"파일을 저장할 수 없습니다%s:\n" +"파일을 저장할 수 없음%s:\n" "%s" #, c-format msgid "Cannot open named pipe %s\n" -msgstr "명명된 %s 파이프를 열 수 없습니다\n" +msgstr "명명된 %s 파이프를 열 수 없음\n" msgid "The shell is still active. Quit anyway?" msgstr "셸이 아직 활성 상태입니다. 그래도 끝낼까요?" @@ -4018,7 +4005,7 @@ msgstr "데이터 유형:" msgid "Home directory:" -msgstr "홈 디렉터리 :" +msgstr "홈 디렉터리:" msgid "Profile root directory:" msgstr "프로필 루트 디렉터리:" @@ -4075,15 +4062,15 @@ #, c-format msgid "The %%var macro has no default" -msgstr "%%var 매크로에 기본값이 없습니다" +msgstr "%%var 매크로에 기본값이 없음" #, c-format msgid "The %%var macro has no variable" -msgstr "%%var 매크로에 변수가 없습니다" +msgstr "%%var 매크로에 변수가 없음" #, c-format msgid "No suitable entries found in %s" -msgstr "%s에서 해당 항목을 찾을 수 없습니다" +msgstr "%s에서 해당 항목을 찾을 수 없음" msgid "User menu" msgstr "사용자 메뉴" @@ -4134,7 +4121,7 @@ "%s" msgstr "" "%s\n" -"파일의 예기치 않은 끝" +"예기치 않은 파일의 끝" msgid "Inconsistent archive" msgstr "일관성 없는 압축파일" @@ -4145,7 +4132,7 @@ "%s:\n" "%s" msgstr "" -"%s 압축파일을 열 수 없습니다\n" +"%s 압축파일을 열 수 없음\n" "%s:\n" "%s" @@ -4157,66 +4144,30 @@ "EXTFS 가상 파일 시스템:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "경고: %s 디렉터리를 열 수 없습니다\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish : %s에서 연결 해제 중" - -msgid "fish: Waiting for initial line..." -msgstr "fish: 초기화 라인을 기다리는 중..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "죄송합니다. 지금은 비밀번호 인증 연결을 사용할 수 없습니다." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: %s에 대한 비밀번호가 필요함" - -msgid "fish: Sending password..." -msgstr "fish: 비밀번호 보내기..." - -msgid "fish: Sending initial line..." -msgstr "fish: 초기화 라인 보내기..." - -msgid "fish: Handshaking version..." -msgstr "fish: 핸드셰이킹 버전..." - -msgid "fish: Getting host info..." -msgstr "fish: 호스트 정보 가져오는 중..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: %s 디렉터리 읽는 중..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" +"EXTFS 가상 파일시스템:\n" +"파일 이름이 올바르지 않습니다" -#, c-format -msgid "%s: done." -msgstr "%s: 완료." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" +"EXTFS 가상 파일시스템:\n" +"압축 파일 이름이 올바르지 않습니다" -#, c-format -msgid "%s: failure" -msgstr "%s: 실패" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" +"EXTFS 가상 파일시스템:\n" +"명령을 구성할 수 없습니다" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: %s 저장: 명령 보내기..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: 로컬 읽기 실패, 0 보내기" - -msgid "fish: storing file" -msgstr "fish: 파일 저장중" - -msgid "Aborting transfer..." -msgstr "전송을 중단하는 중..." - -msgid "Error reported after abort." -msgstr "중단 후 오류가 보고됨" - -msgid "Aborted transfer would be successful." -msgstr "중단된 전송이 성공적으로 완료되었을 수 있음." +msgid "Warning: cannot open %s directory\n" +msgstr "경고: %s 디렉터리를 열 수 없음\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4269,11 +4220,11 @@ #, c-format msgid "Waiting to retry... %d (Control-G to cancel)" -msgstr "재시도 대기 중... %d(Control-G가 취소됨)" +msgstr "재시도 대기 중... %d(취소하려면 Control-G)" #, c-format msgid "ftpfs: could not make address-to-name translation: %s" -msgstr "ftpfs: 주소를 이름으로 변환할 수 없습니다: %s" +msgstr "ftpfs: 주소를 이름으로 변환할 수 없음: %s" #, c-format msgid "ftpfs: try reconnect to server, attempt %u" @@ -4281,20 +4232,20 @@ #, c-format msgid "ftpfs: could not get socket name: %s" -msgstr "ftpfs: 소켓 이름을 가져올 수 없습니다: %s" +msgstr "ftpfs: 소켓 이름을 가져올 수 없음: %s" msgid "ftpfs: could not reconnect to server" -msgstr "ftpfs: 서버에 다시 연결할 수 없습니다" +msgstr "ftpfs: 서버에 다시 연결할 수 없음" msgid "ftpfs: invalid address family" -msgstr "ftpfs: 잘못된 주소 패밀리" +msgstr "ftpfs: 잘못된 주소 계열" #, c-format msgid "ftpfs: could not create socket: %s" -msgstr "ftpfs: 소켓을 만들 수 없습니다: %s" +msgstr "ftpfs: 소켓을 만들 수 없음: %s" msgid "ftpfs: could not setup passive mode" -msgstr "ftpfs: 패시브 모드를 설정할 수 없습니다" +msgstr "ftpfs: 패시브 모드를 설정할 수 없음" msgid "ftpfs: aborting transfer." msgstr "ftpfs: 전송 중단." @@ -4310,10 +4261,10 @@ msgstr "ftpfs: CWD 실패." msgid "ftpfs: couldn't resolve symlink" -msgstr "ftpfs: 심볼릭링크를 확인할 수 없습니다" +msgstr "ftpfs: 심볼릭 링크를 확인할 수 없음" msgid "Resolving symlink..." -msgstr "심볼릭링크 해결 중..." +msgstr "심볼릭 링크 해결 중..." #, c-format msgid "ftpfs: Reading FTP directory %s... %s%s" @@ -4323,10 +4274,18 @@ msgstr "(엄격하게 rfc959를 따름)" msgid "(chdir first)" -msgstr "(먼저 디렉터리 변경)" +msgstr "(chdir 먼저)" msgid "ftpfs: failed; nowhere to fallback to" -msgstr "ftpfs: 실패함, 어디에서도 fallback할 수 없습니다" +msgstr "ftpfs: 실패함, 어디에서도 fallback할 수 없음" + +#, c-format +msgid "%s: failure" +msgstr "%s: 실패" + +#, c-format +msgid "%s: done." +msgstr "%s: 완료." msgid "ftpfs: storing file" msgstr "ftpfs: 파일 저장중" @@ -4348,7 +4307,7 @@ #, c-format msgid "%s: Warning: file %s not found\n" -msgstr "%s: 경고: %s 파일을 찾을 수 없습니다\n" +msgstr "%s: 경고: %s 파일을 찾을 수 없음\n" #, c-format msgid "" @@ -4388,7 +4347,7 @@ msgstr "sftp: %s에 연결" msgid "sftp: connection interrupted by user" -msgstr "sftp: 사용자에 의해 연결이 중단됨" +msgstr "sftp: 사용자가 연결을 중단함" #, c-format msgid "sftp: connection to server failed: %s" @@ -4398,7 +4357,7 @@ msgstr "sftp: 지원되지 않는 유형의 호스트 키를 찾았습니다: RSA1" msgid "sftp: unknown host key type:" -msgstr "sftp: 호스트 키 유형을 알 수 없습니다:" +msgstr "sftp: 호스트 키 유형을 알 수 없음:" #, c-format msgid "" @@ -4411,13 +4370,13 @@ "영구적으로 추가되었습니다." msgid "sftp: cannot get the remote host key" -msgstr "sftp: 원격 호스트 키를 가져올 수 없습니다" +msgstr "sftp: 원격 호스트 키를 가져올 수 없음" msgid "sftp: unsupported key type, can't check remote host key" -msgstr "sftp: 지원되지 않는 키 유형, 원격 호스트 키를 확인할 수 없습니다" +msgstr "sftp: 지원되지 않는 키 유형, 원격 호스트 키를 확인할 수 없음" msgid "sftp: can't compute host key fingerprint hash" -msgstr "sftp: 호스트 키 지문 해시를 계산할 수 없습니다" +msgstr "sftp: 호스트 키 지문 해시를 계산할 수 없음" #, c-format msgid "" @@ -4468,7 +4427,7 @@ msgstr "sftp: SSH 세션을 설정하지 못했습니다" msgid "sftp: No file handler data present for reading file" -msgstr "sftp: 파일을 읽기 위한 파일 처리기 데이터가 없습니다" +msgstr "sftp: 파일을 읽기 위한 파일 처리기 데이터가 없음" #, c-format msgid "sftp: socket error: %s" @@ -4481,8 +4440,54 @@ msgid "sftp: Listing done." msgstr "sftp: 목록 작성 완료." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "셸: %s 연결 끊는 중" + +msgid "shell: Waiting for initial line..." +msgstr "셸: 초기 행 기다리는 중..." + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "죄송합니다. 지금은 비밀번호 인증 연결을 사용할 수 없습니다." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "셸: %s 암호가 필요합니다" + +msgid "shell: Sending password..." +msgstr "셸: 암호 보내는 중..." + +msgid "shell: Sending initial line..." +msgstr "셸: 초기 행 보내는 중..." + +msgid "shell: Getting host info..." +msgstr "셸: 호스트 정보 가져오는 중..." + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "셸: %s 디렉터리 읽는 중..." + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "셸: %s 저장: 명령 보내는 중..." + +msgid "shell: Local read failed, sending zeros" +msgstr "셸: 로컬 읽기를 실패했습니다. 0값 보내는 중" + +msgid "shell: storing file" +msgstr "셸: 파일 저장 중" + +msgid "Aborting transfer..." +msgstr "전송을 중단하는 중..." + +msgid "Error reported after abort." +msgstr "중단 후 오류가 보고됨" + +msgid "Aborted transfer would be successful." +msgstr "중단된 전송이 성공적으로 완료되었을 수 있음." + msgid "Inconsistent tar archive" -msgstr "잘못된 tar 압축파일" +msgstr "잘못된 tar 압축 파일" msgid "Unexpected EOF on archive file" msgstr "압축 파일에 예기치 않은 EOF가 있음" @@ -4492,7 +4497,7 @@ "Cannot open tar archive\n" "%s" msgstr "" -"tar 압축파일을 열 수 없습니다\n" +"tar 압축 파일을 열 수 없음\n" "%s" #, c-format @@ -4500,9 +4505,11 @@ "%s\n" "doesn't look like a tar archive" msgstr "" +"%s\n" +"tar 압축 파일처럼 보이지 않습니다" msgid "tar: mc_lseek not stopped at a record boundary" -msgstr "" +msgstr "tar: mc_lseek가 레코드 경계에서 멈추지 않았습니다" msgid "undelfs: error" msgstr "unelfs: 오류" @@ -4530,7 +4537,7 @@ msgstr "ext2_block_iterate %d을(를) 호출하는 중" msgid "no more memory while reallocating array" -msgstr "배열을 재할당하는 동안 메모리가 더 이상 없습니다" +msgstr "배열을 재할당하는 동안 메모리가 더 이상 없음" #, c-format msgid "while doing inode scan %d" @@ -4538,7 +4545,7 @@ #, c-format msgid "Cannot open file %s" -msgstr "%s 파일을 열 수 없습니다" +msgstr "%s 파일을 열 수 없음" msgid "undelfs: reading inode bitmap..." msgstr "unelfs: inode 비트맵 읽는 중..." @@ -4548,7 +4555,7 @@ "Cannot load inode bitmap from:\n" "%s" msgstr "" -"다음 위치에서 inode 비트맵을 로드할 수 없습니다:\n" +"다음 위치에서 inode 비트맵을 로드할 수 없음:\n" "%s" msgid "undelfs: reading block bitmap..." @@ -4559,7 +4566,7 @@ "Cannot load block bitmap from:\n" "%s" msgstr "" -"블록 비트맵을 로드할 수 없습니다:\n" +"블록 비트맵을 로드할 수 없음:\n" "%s" msgid "vfs_info is not fs!" @@ -4573,7 +4580,7 @@ #, c-format msgid "Cannot open file \"%s\"" -msgstr "%s 파일을 열 수 없습니다" +msgstr "\"%s\" 파일을 열 수 없음" msgid "Ext2lib error" msgstr "Ext2lib 오류" @@ -4582,7 +4589,7 @@ msgstr "잘못된 값" msgid "File was modified. Save with exit?" -msgstr "파일이 수정되었습니다. 종료와 함께 저장하시겠습니까?" +msgstr "파일이 수정되었습니다. 저장 후 나가시겠습니까?" msgid "&Cancel quit" msgstr "끝내기 취소(&C)" @@ -4595,13 +4602,13 @@ "수정된 파일을 저장하시겠습니까?" msgid "&Line number" -msgstr "줄 번호(&L)" +msgstr "행 번호(&L)" msgid "Pe&rcents" msgstr "퍼센트(&R)" msgid "&Decimal offset" -msgstr "10 진수 오프셋(&D)" +msgstr "10진수 오프셋(&D)" msgid "He&xadecimal offset" msgstr "16진수 오프셋(&X)" @@ -4610,7 +4617,7 @@ msgstr "건너뛰기" msgid "ButtonBar|Ascii" -msgstr "Ascii" +msgstr "아스키" msgid "ButtonBar|HxSrch" msgstr "16비트 검색" @@ -4622,16 +4629,16 @@ msgstr "줄바꿈" msgid "ButtonBar|Hex" -msgstr " 16비트" +msgstr "16비트" msgid "ButtonBar|Goto" -msgstr " Goto" +msgstr "건너뛰기" msgid "ButtonBar|Raw" -msgstr " 원본 형식" +msgstr "원본 형식" msgid "ButtonBar|Parse" -msgstr " 구문 분석" +msgstr "분석" msgid "ButtonBar|Unform" msgstr " 형식화되지 않음" @@ -4644,7 +4651,7 @@ "Failed to read data from child stdout:\n" "%s" msgstr "" -"하위 프로세스의 stdout에서 ​​데이터를 읽을 수 없습니다:\n" +"하위 프로세스의 stdout에서 ​​데이터를 읽을 수 없음:\n" "%s" #, c-format @@ -4662,7 +4669,7 @@ "Cannot save file:\n" "%s" msgstr "" -"파일을 저장할 수 없습니다:\n" +"파일을 저장할 수 없음:\n" "%s" msgid "View: " @@ -4673,18 +4680,18 @@ "Cannot open \"%s\"\n" "%s" msgstr "" -"%s을(를) 열 수 없습니다\n" +"\"%s\"을(를) 열 수 없음\n" "%s" msgid "Cannot view: not a regular file" -msgstr "볼 수 없습니다: 일반 파일이 아님" +msgstr "볼 수 없음: 일반 파일이 아님" #, c-format msgid "" "Cannot open \"%s\" in parse mode\n" "%s" msgstr "" -"%s을(를) 구문 모드에서 열 수 없습니다\n" +"\"%s\"을(를) 분석 모드에서 열 수 없음\n" "%s" msgid "Search done" @@ -4694,4 +4701,4 @@ msgstr "처음부터 계속하시겠습니까?" msgid "Cannot fetch a local copy of /ftp://some.host/editme.txt" -msgstr "/ftp://some.host/editme.txt의 로컬 복사본을 가져올 수 없습니다" +msgstr "/ftp://some.host/editme.txt의 로컬 복사본을 가져올 수 없음" diff -Nru mc-4.8.30/po/kw.po mc-4.8.31/po/kw.po --- mc-4.8.30/po/kw.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/kw.po 2024-01-27 08:33:42.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Cornish (http://app.transifex.com/mc/mc/language/kw/)\n" @@ -709,7 +709,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1545,7 +1546,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3922,65 +3923,23 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4093,6 +4052,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4226,6 +4193,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/lt.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/lt.gmo differ diff -Nru mc-4.8.30/po/lt.po mc-4.8.31/po/lt.po --- mc-4.8.30/po/lt.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/lt.po 2024-01-27 08:33:42.000000000 +0000 @@ -14,7 +14,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Mantas Kriaučiūnas Baltix , 2020\n" "Language-Team: Lithuanian (http://app.transifex.com/mc/mc/language/lt/)\n" @@ -734,7 +734,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1589,7 +1590,7 @@ "Lengvas vartoti teksto redaktorius\n" "sukurtas Midnight Commander aplinkai." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4030,66 +4031,24 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Įspėjimas: nepavyko pereiti į aplanką %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: atsijungiama nuo %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: laukiama pradinės eilutės..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Šiuo metu slaptažodžių apsaugotų prisijungimų atlikti negalima." - -#, c-format -msgid "fish: Password is required for %s" +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -msgid "fish: Sending password..." -msgstr "fish: siunčiamas slaptažodis..." - -msgid "fish: Sending initial line..." -msgstr "fish: siunčiama pradinė linija..." - -msgid "fish: Handshaking version..." -msgstr "fish: derinamos versijos..." - -msgid "fish: Getting host info..." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: atveriamas aplankas %s..." - -#, c-format -msgid "%s: done." -msgstr "%s: atlikta." - -#, c-format -msgid "%s: failure" -msgstr "%s: nepavyko" - -#, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: „%s“ siuntimas: siunčiamas slaptažodis..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: vietinis skaitymas nepavyko, siunčiami nuliai" - -msgid "fish: storing file" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" -msgid "Aborting transfer..." -msgstr "Nutraukiamas siuntimas..." - -msgid "Error reported after abort." -msgstr "Po nutraukties pranešta klaida." - -msgid "Aborted transfer would be successful." -msgstr "Nutrauktas siuntimas būtų sėkmingas." +#, c-format +msgid "Warning: cannot open %s directory\n" +msgstr "Įspėjimas: nepavyko pereiti į aplanką %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4201,6 +4160,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: nepavyko; nėra kur grįžti" +#, c-format +msgid "%s: failure" +msgstr "%s: nepavyko" + +#, c-format +msgid "%s: done." +msgstr "%s: atlikta." + msgid "ftpfs: storing file" msgstr "" @@ -4338,6 +4305,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Šiuo metu slaptažodžių apsaugotų prisijungimų atlikti negalima." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Nutraukiamas siuntimas..." + +msgid "Error reported after abort." +msgstr "Po nutraukties pranešta klaida." + +msgid "Aborted transfer would be successful." +msgstr "Nutrauktas siuntimas būtų sėkmingas." + msgid "Inconsistent tar archive" msgstr "Nevientisas tar archyvas" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/lv.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/lv.gmo differ diff -Nru mc-4.8.30/po/lv.po mc-4.8.31/po/lv.po --- mc-4.8.30/po/lv.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/lv.po 2024-01-27 08:33:42.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Slava Zanko , 2011\n" "Language-Team: Latvian (http://app.transifex.com/mc/mc/language/lv/)\n" @@ -707,7 +707,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1543,7 +1544,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3940,68 +3941,25 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Atvienojamies no %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Gaidām sākotnējo līniju..." - -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"Piedodiet, mēs patreiz nevaram veikt ar paroli autorizētus savienojumus." -#, c-format -msgid "fish: Password is required for %s" +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -msgid "fish: Sending password..." -msgstr "fish: Sūtam paroli..." - -msgid "fish: Sending initial line..." -msgstr "fish: Sūtam sākotnējo līniju..." - -msgid "fish: Handshaking version..." -msgstr "fish: Rokspiešanas versija..." - -msgid "fish: Getting host info..." +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Lasām direktoriju %s..." - -#, c-format -msgid "%s: done." -msgstr "%s: izdarīts." - -#, c-format -msgid "%s: failure" -msgstr "%s: neveiksme" - -#, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: glabājam %s: sutām komandu..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Lokālā lasīšana kļūdaina, sūtam nulles" - -msgid "fish: storing file" +msgid "Warning: cannot open %s directory\n" msgstr "" -msgid "Aborting transfer..." -msgstr "Pātraucam pārraidīšanu..." - -msgid "Error reported after abort." -msgstr "Kļūda paziņota pēc pātraukšanas." - -msgid "Aborted transfer would be successful." -msgstr "Pātraukā pārraidīšana varētu būt veiksmīga" - #, c-format msgid "ftpfs: Disconnecting from %s" msgstr "ftpfs: Atvienošanās no %s" @@ -4112,6 +4070,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: neizdevās; nav kur atkrist" +#, c-format +msgid "%s: failure" +msgstr "%s: neveiksme" + +#, c-format +msgid "%s: done." +msgstr "%s: izdarīts." + msgid "ftpfs: storing file" msgstr "" @@ -4249,6 +4215,53 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"Piedodiet, mēs patreiz nevaram veikt ar paroli autorizētus savienojumus." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Pātraucam pārraidīšanu..." + +msgid "Error reported after abort." +msgstr "Kļūda paziņota pēc pātraukšanas." + +msgid "Aborted transfer would be successful." +msgstr "Pātraukā pārraidīšana varētu būt veiksmīga" + msgid "Inconsistent tar archive" msgstr "Neatbilstīgs tar arhīvs" diff -Nru mc-4.8.30/po/mc.pot mc-4.8.31/po/mc.pot --- mc-4.8.30/po/mc.pot 2023-08-13 19:07:33.000000000 +0000 +++ mc-4.8.31/po/mc.pot 2024-01-27 08:33:36.000000000 +0000 @@ -5,9 +5,9 @@ # msgid "" msgstr "" -"Project-Id-Version: mc 4.8.30\n" +"Project-Id-Version: mc 4.8.31\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,15 +17,15 @@ "Content-Transfer-Encoding: 8bit\n" # "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: lib/charsets.c:219 +#: lib/charsets.c:220 msgid "Warning: cannot load codepages list" msgstr "" -#: lib/charsets.c:222 src/filemanager/boxes.c:387 +#: lib/charsets.c:223 src/filemanager/boxes.c:387 msgid "7-bit ASCII" msgstr "" -#: lib/charsets.c:317 lib/charsets.c:328 +#: lib/charsets.c:318 lib/charsets.c:329 #, c-format msgid "Cannot translate from %s to %s" msgstr "" @@ -123,11 +123,11 @@ msgid "Invalid token number %d" msgstr "" -#: lib/search/regex.c:340 lib/search/regex.c:839 src/filemanager/ext.c:758 +#: lib/search/regex.c:340 lib/search/regex.c:838 src/filemanager/ext.c:775 msgid "Regular expression error" msgstr "" -#: lib/search/search.c:55 src/diffviewer/ydiff.c:2423 +#: lib/search/search.c:55 src/diffviewer/ydiff.c:2347 msgid "No&rmal" msgstr "" @@ -143,21 +143,21 @@ msgid "Wil&dcard search" msgstr "" -#: lib/skin/common.c:133 +#: lib/skin/common.c:134 #, c-format msgid "" "Unable to load '%s' skin.\n" "Default skin has been loaded" msgstr "" -#: lib/skin/common.c:143 +#: lib/skin/common.c:144 #, c-format msgid "" "Unable to parse '%s' skin.\n" "Default skin has been loaded" msgstr "" -#: lib/skin/common.c:155 +#: lib/skin/common.c:156 #, c-format msgid "" "Unable to use '%s' skin with true colors support:\n" @@ -165,7 +165,7 @@ "Default skin has been loaded" msgstr "" -#: lib/skin/common.c:167 +#: lib/skin/common.c:168 #, c-format msgid "" "Unable to use '%s' skin with 256 colors support\n" @@ -602,31 +602,31 @@ "Check the TERM environment variable.\n" msgstr "" -#: lib/util.c:351 +#: lib/util.c:355 msgid "B" msgstr "" -#: lib/util.c:356 +#: lib/util.c:360 msgid "kB" msgstr "" -#: lib/util.c:356 +#: lib/util.c:360 msgid "KiB" msgstr "" -#: lib/util.c:361 +#: lib/util.c:365 msgid "MB" msgstr "" -#: lib/util.c:361 +#: lib/util.c:365 msgid "MiB" msgstr "" -#: lib/util.c:366 +#: lib/util.c:370 msgid "GB" msgstr "" -#: lib/util.c:366 +#: lib/util.c:370 msgid "GiB" msgstr "" @@ -750,44 +750,44 @@ msgid "Do you want clean this history?" msgstr "" -#: lib/widget/listbox.c:325 src/diffviewer/ydiff.c:3090 src/editor/edit.c:369 -#: src/editor/editcmd.c:180 src/editor/editcmd.c:203 src/editor/editcmd.c:1522 -#: src/editor/editcmd.c:1528 src/filemanager/cmd.c:145 +#: lib/widget/listbox.c:325 src/diffviewer/ydiff.c:3021 src/editor/edit.c:375 +#: src/editor/editcmd.c:180 src/editor/editcmd.c:203 src/editor/editcmd.c:1473 +#: src/editor/editcmd.c:1479 src/filemanager/cmd.c:145 #: src/filemanager/file.c:1014 src/filemanager/file.c:2022 #: src/filemanager/filegui.c:482 src/filemanager/filemanager.c:1056 #: src/filemanager/filemanager.c:1064 src/filemanager/hotlist.c:1164 #: src/filemanager/hotlist.c:1181 src/filemanager/panel.c:2961 #: src/filemanager/tree.c:826 src/subshell/common.c:1653 -#: src/vfs/sftpfs/connection.c:521 src/vfs/sftpfs/connection.c:533 -#: src/viewer/actions_cmd.c:644 src/viewer/actions_cmd.c:650 +#: src/vfs/sftpfs/connection.c:562 src/vfs/sftpfs/connection.c:574 +#: src/viewer/actions_cmd.c:634 src/viewer/actions_cmd.c:640 #: src/viewer/search.c:452 msgid "&Yes" msgstr "" -#: lib/widget/listbox.c:325 src/diffviewer/ydiff.c:3090 src/editor/edit.c:369 -#: src/editor/editcmd.c:180 src/editor/editcmd.c:1522 src/editor/editcmd.c:1528 +#: lib/widget/listbox.c:325 src/diffviewer/ydiff.c:3021 src/editor/edit.c:375 +#: src/editor/editcmd.c:180 src/editor/editcmd.c:1473 src/editor/editcmd.c:1479 #: src/filemanager/cmd.c:145 src/filemanager/file.c:1014 #: src/filemanager/file.c:2022 src/filemanager/filegui.c:484 #: src/filemanager/filemanager.c:1056 src/filemanager/filemanager.c:1064 #: src/filemanager/hotlist.c:1164 src/filemanager/hotlist.c:1181 #: src/filemanager/panel.c:2961 src/filemanager/tree.c:826 -#: src/subshell/common.c:1653 src/vfs/sftpfs/connection.c:521 -#: src/vfs/sftpfs/connection.c:533 src/viewer/actions_cmd.c:644 -#: src/viewer/actions_cmd.c:650 src/viewer/search.c:453 +#: src/subshell/common.c:1653 src/vfs/sftpfs/connection.c:562 +#: src/vfs/sftpfs/connection.c:574 src/viewer/actions_cmd.c:634 +#: src/viewer/actions_cmd.c:640 src/viewer/search.c:453 msgid "&No" msgstr "" #: lib/widget/quick.h:213 src/editor/editsearch.c:105 -#: src/editor/editsearch.c:1021 src/editor/editwidget.c:157 +#: src/editor/editsearch.c:1018 src/editor/editwidget.c:157 #: src/filemanager/boxes.c:1292 src/filemanager/filegui.c:1386 #: src/filemanager/find.c:605 src/filemanager/layout.c:511 src/main.c:414 msgid "&OK" msgstr "" #: lib/widget/quick.h:214 src/editor/editcmd.c:180 src/editor/editcmd.c:203 -#: src/editor/editcmd.c:375 src/editor/editcmd.c:519 src/editor/editcmd.c:939 -#: src/editor/editcmd.c:1016 src/editor/editcmd.c:1522 -#: src/editor/editcmd.c:2018 src/editor/editcmd.c:2047 +#: src/editor/editcmd.c:375 src/editor/editcmd.c:517 src/editor/editcmd.c:953 +#: src/editor/editcmd.c:1030 src/editor/editcmd.c:1473 +#: src/editor/editcmd.c:1969 src/editor/editcmd.c:1998 #: src/editor/editsearch.c:107 src/editor/editsearch.c:252 #: src/editor/etags.c:375 src/editor/spell.c:750 src/filemanager/achown.c:89 #: src/filemanager/achown.c:863 src/filemanager/achown.c:900 @@ -806,10 +806,10 @@ msgid "Background process:" msgstr "" -#: lib/widget/wtools.c:295 lib/widget/wtools.c:424 src/editor/edit.c:209 -#: src/editor/edit.c:230 src/editor/edit.c:381 src/editor/edit.c:1989 -#: src/editor/edit.c:1999 src/editor/editcmd.c:265 src/editor/editcmd.c:275 -#: src/editor/editcmd.c:318 src/editor/editcmd.c:1626 src/editor/spell.c:325 +#: lib/widget/wtools.c:295 lib/widget/wtools.c:424 src/editor/edit.c:210 +#: src/editor/edit.c:231 src/editor/edit.c:387 src/editor/edit.c:2022 +#: src/editor/edit.c:2032 src/editor/editcmd.c:265 src/editor/editcmd.c:275 +#: src/editor/editcmd.c:318 src/editor/editcmd.c:1577 src/editor/spell.c:325 #: src/editor/spell.c:545 src/editor/spell.c:553 #: tests/src/execute__common.c:150 #: tests/src/execute__execute_with_vfs_arg.c:152 @@ -823,7 +823,7 @@ #: lib/widget/wtools.c:704 src/filemanager/file.c:893 #: src/filemanager/file.c:967 src/filemanager/file.c:969 -#: src/filemanager/file.c:1015 src/filemanager/file.c:3174 +#: src/filemanager/file.c:1015 src/filemanager/file.c:3179 #: src/filemanager/filegui.c:257 src/filemanager/filegui.c:506 msgid "&Abort" msgstr "" @@ -952,7 +952,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1052,7 +1053,7 @@ "than we can handle." msgstr "" -#: src/diffviewer/internal.h:15 src/diffviewer/search.c:235 +#: src/diffviewer/internal.h:15 src/diffviewer/search.c:236 #: src/editor/edit-impl.h:76 src/editor/edit-impl.h:77 src/viewer/search.c:484 #: src/viewer/search.c:486 msgid "&Dismiss" @@ -1063,52 +1064,52 @@ msgid "Enter search string:" msgstr "" -#: src/diffviewer/search.c:94 src/editor/editsearch.c:96 +#: src/diffviewer/search.c:95 src/editor/editsearch.c:96 #: src/editor/editsearch.c:179 src/filemanager/boxes.c:687 #: src/filemanager/boxes.c:894 src/filemanager/find.c:591 #: src/viewer/dialogs.c:89 msgid "Cas&e sensitive" msgstr "" -#: src/diffviewer/search.c:95 src/editor/editsearch.c:97 +#: src/diffviewer/search.c:96 src/editor/editsearch.c:97 #: src/editor/editsearch.c:180 src/viewer/dialogs.c:90 msgid "&Backwards" msgstr "" -#: src/diffviewer/search.c:96 src/editor/editsearch.c:99 +#: src/diffviewer/search.c:97 src/editor/editsearch.c:99 #: src/editor/editsearch.c:182 src/filemanager/find.c:602 #: src/viewer/dialogs.c:91 msgid "&Whole words" msgstr "" -#: src/diffviewer/search.c:98 src/editor/editsearch.c:101 +#: src/diffviewer/search.c:99 src/editor/editsearch.c:101 #: src/editor/editsearch.c:184 src/filemanager/find.c:589 #: src/viewer/dialogs.c:93 msgid "&All charsets" msgstr "" -#: src/diffviewer/search.c:109 src/diffviewer/search.c:235 -#: src/diffviewer/search.c:248 src/diffviewer/search.c:281 +#: src/diffviewer/search.c:110 src/diffviewer/search.c:236 +#: src/diffviewer/search.c:249 src/diffviewer/search.c:282 #: src/editor/editsearch.c:115 src/editor/editsearch.c:600 #: src/editor/editsearch.c:626 src/editor/editsearch.c:655 -#: src/editor/editsearch.c:905 src/editor/editsearch.c:916 +#: src/editor/editsearch.c:902 src/editor/editsearch.c:913 #: src/viewer/dialogs.c:104 src/viewer/search.c:404 src/viewer/search.c:464 #: src/viewer/search.c:484 src/viewer/search.c:486 msgid "Search" msgstr "" -#: src/diffviewer/search.c:248 src/diffviewer/search.c:281 +#: src/diffviewer/search.c:249 src/diffviewer/search.c:282 msgid "Search is disabled" msgstr "" -#: src/diffviewer/ydiff.c:181 +#: src/diffviewer/ydiff.c:185 #, c-format msgid "" "Cannot create temporary diff file\n" "%s" msgstr "" -#: src/diffviewer/ydiff.c:2213 +#: src/diffviewer/ydiff.c:2143 #, c-format msgid "" "Cannot create backup file\n" @@ -1116,134 +1117,134 @@ "%s" msgstr "" -#: src/diffviewer/ydiff.c:2222 +#: src/diffviewer/ydiff.c:2152 #, c-format msgid "" "Cannot create temporary merge file\n" "%s" msgstr "" -#: src/diffviewer/ydiff.c:2424 +#: src/diffviewer/ydiff.c:2348 msgid "&Fastest (Assume large files)" msgstr "" -#: src/diffviewer/ydiff.c:2425 +#: src/diffviewer/ydiff.c:2349 msgid "&Minimal (Find a smaller set of change)" msgstr "" -#: src/diffviewer/ydiff.c:2430 +#: src/diffviewer/ydiff.c:2354 msgid "Diff algorithm" msgstr "" -#: src/diffviewer/ydiff.c:2433 +#: src/diffviewer/ydiff.c:2357 msgid "Diff extra options" msgstr "" -#: src/diffviewer/ydiff.c:2434 +#: src/diffviewer/ydiff.c:2358 msgid "&Ignore case" msgstr "" -#: src/diffviewer/ydiff.c:2435 +#: src/diffviewer/ydiff.c:2359 msgid "Ignore tab &expansion" msgstr "" -#: src/diffviewer/ydiff.c:2436 +#: src/diffviewer/ydiff.c:2360 msgid "Ignore &space change" msgstr "" -#: src/diffviewer/ydiff.c:2437 +#: src/diffviewer/ydiff.c:2361 msgid "Ignore all &whitespace" msgstr "" -#: src/diffviewer/ydiff.c:2438 +#: src/diffviewer/ydiff.c:2362 msgid "Strip &trailing carriage return" msgstr "" -#: src/diffviewer/ydiff.c:2449 +#: src/diffviewer/ydiff.c:2373 msgid "Diff Options" msgstr "" -#: src/diffviewer/ydiff.c:2953 +#: src/diffviewer/ydiff.c:2884 msgid "Edit" msgstr "" -#: src/diffviewer/ydiff.c:2953 +#: src/diffviewer/ydiff.c:2884 msgid "Edit is disabled" msgstr "" -#: src/diffviewer/ydiff.c:2987 +#: src/diffviewer/ydiff.c:2918 msgid "Goto line (left)" msgstr "" -#: src/diffviewer/ydiff.c:2988 +#: src/diffviewer/ydiff.c:2919 msgid "Goto line (right)" msgstr "" -#: src/diffviewer/ydiff.c:2996 src/editor/editcmd.c:1709 +#: src/diffviewer/ydiff.c:2927 src/editor/editcmd.c:1660 msgid "Enter line:" msgstr "" -#: src/diffviewer/ydiff.c:3035 src/editor/editwidget.c:677 -#: src/filemanager/filemanager.c:1634 src/filemanager/tree.c:1169 -#: src/help.c:1164 src/viewer/display.c:90 +#: src/diffviewer/ydiff.c:2966 src/editor/editwidget.c:677 +#: src/filemanager/filemanager.c:1634 src/filemanager/tree.c:1176 +#: src/help.c:1170 src/viewer/display.c:90 msgid "ButtonBar|Help" msgstr "" -#: src/diffviewer/ydiff.c:3036 src/editor/editwidget.c:678 +#: src/diffviewer/ydiff.c:2967 src/editor/editwidget.c:678 #: src/viewer/display.c:102 msgid "ButtonBar|Save" msgstr "" -#: src/diffviewer/ydiff.c:3037 src/filemanager/filemanager.c:1637 +#: src/diffviewer/ydiff.c:2968 src/filemanager/filemanager.c:1637 #: src/viewer/display.c:97 msgid "ButtonBar|Edit" msgstr "" -#: src/diffviewer/ydiff.c:3038 +#: src/diffviewer/ydiff.c:2969 msgid "ButtonBar|Merge" msgstr "" -#: src/diffviewer/ydiff.c:3039 src/editor/editwidget.c:683 +#: src/diffviewer/ydiff.c:2970 src/editor/editwidget.c:683 #: src/viewer/display.c:112 msgid "ButtonBar|Search" msgstr "" -#: src/diffviewer/ydiff.c:3040 +#: src/diffviewer/ydiff.c:2971 msgid "ButtonBar|Options" msgstr "" -#: src/diffviewer/ydiff.c:3041 src/editor/editwidget.c:686 -#: src/filemanager/filemanager.c:1643 src/help.c:1173 src/viewer/display.c:121 +#: src/diffviewer/ydiff.c:2972 src/editor/editwidget.c:686 +#: src/filemanager/filemanager.c:1643 src/help.c:1179 src/viewer/display.c:121 #: src/viewer/display.c:124 msgid "ButtonBar|Quit" msgstr "" -#: src/diffviewer/ydiff.c:3087 src/editor/editcmd.c:1528 -#: src/viewer/actions_cmd.c:642 src/viewer/actions_cmd.c:648 +#: src/diffviewer/ydiff.c:3018 src/editor/editcmd.c:1479 +#: src/viewer/actions_cmd.c:632 src/viewer/actions_cmd.c:638 msgid "Quit" msgstr "" -#: src/diffviewer/ydiff.c:3088 +#: src/diffviewer/ydiff.c:3019 msgid "File(s) was modified. Save with exit?" msgstr "" -#: src/diffviewer/ydiff.c:3089 +#: src/diffviewer/ydiff.c:3020 msgid "" "Midnight Commander is being shut down.\n" "Save modified file(s)?" msgstr "" -#: src/diffviewer/ydiff.c:3421 src/diffviewer/ydiff.c:3424 +#: src/diffviewer/ydiff.c:3352 src/diffviewer/ydiff.c:3355 msgid "Diff:" msgstr "" -#: src/diffviewer/ydiff.c:3545 src/diffviewer/ydiff.c:3555 -#: src/diffviewer/ydiff.c:3575 src/diffviewer/ydiff.c:3592 +#: src/diffviewer/ydiff.c:3475 src/diffviewer/ydiff.c:3485 +#: src/diffviewer/ydiff.c:3505 src/diffviewer/ydiff.c:3522 #, c-format msgid "\"%s\" is a directory" msgstr "" -#: src/diffviewer/ydiff.c:3581 src/diffviewer/ydiff.c:3598 +#: src/diffviewer/ydiff.c:3511 src/diffviewer/ydiff.c:3528 #: src/filemanager/file.c:1830 src/viewer/mcviewer.c:354 #, c-format msgid "" @@ -1251,70 +1252,70 @@ "%s" msgstr "" -#: src/diffviewer/ydiff.c:3607 +#: src/diffviewer/ydiff.c:3537 msgid "Diff viewer: invalid mode" msgstr "" -#: src/diffviewer/ydiff.c:3636 +#: src/diffviewer/ydiff.c:3563 msgid "Two files are needed to compare" msgstr "" -#: src/editor/edit.c:165 +#: src/editor/edit.c:166 #, c-format msgid "Loading: %3d%%" msgstr "" -#: src/editor/edit.c:168 +#: src/editor/edit.c:169 msgid "Loading..." msgstr "" -#: src/editor/edit.c:208 src/editor/edit.c:321 +#: src/editor/edit.c:209 src/editor/edit.c:327 #, c-format msgid "Cannot open %s for reading" msgstr "" -#: src/editor/edit.c:218 +#: src/editor/edit.c:219 msgid "Load file" msgstr "" -#: src/editor/edit.c:229 +#: src/editor/edit.c:230 #, c-format msgid "Error reading %s" msgstr "" -#: src/editor/edit.c:333 +#: src/editor/edit.c:339 #, c-format msgid "Cannot get size/permissions for %s" msgstr "" -#: src/editor/edit.c:342 +#: src/editor/edit.c:348 #, c-format msgid "\"%s\" is not a regular file" msgstr "" -#: src/editor/edit.c:367 +#: src/editor/edit.c:373 #, c-format msgid "" "File \"%s\" is too large.\n" "Open it anyway?" msgstr "" -#: src/editor/edit.c:369 src/editor/editcmd.c:178 src/editor/editcmd.c:201 -#: src/editor/editcmd.c:373 src/editor/editcmd.c:517 src/editor/editcmd.c:938 -#: src/editor/editcmd.c:2015 src/editor/editcmd.c:2044 src/editor/etags.c:373 -#: src/execute.c:137 src/filemanager/ext.c:775 src/filemanager/file.c:2461 -#: src/filemanager/panel.c:4708 src/help.c:363 src/main.c:411 -#: src/subshell/common.c:1651 src/vfs/sftpfs/connection.c:521 -#: src/viewer/actions_cmd.c:444 +#: src/editor/edit.c:375 src/editor/editcmd.c:178 src/editor/editcmd.c:201 +#: src/editor/editcmd.c:373 src/editor/editcmd.c:515 src/editor/editcmd.c:952 +#: src/editor/editcmd.c:1966 src/editor/editcmd.c:1995 src/editor/etags.c:373 +#: src/execute.c:137 src/filemanager/ext.c:792 src/filemanager/file.c:2461 +#: src/filemanager/panel.c:4710 src/help.c:365 src/main.c:411 +#: src/subshell/common.c:1651 src/vfs/sftpfs/connection.c:562 +#: src/viewer/actions_cmd.c:434 msgid "Warning" msgstr "" -#: src/editor/edit.c:1988 +#: src/editor/edit.c:2021 #, c-format msgid "Error reading from pipe: %s" msgstr "" -#: src/editor/edit.c:1998 +#: src/editor/edit.c:2031 #, c-format msgid "Cannot open pipe for reading: %s" msgstr "" @@ -1346,8 +1347,8 @@ msgid "The file you are saving does not end with a newline." msgstr "" -#: src/editor/editcmd.c:375 src/editor/editcmd.c:519 src/editor/editcmd.c:2017 -#: src/editor/editcmd.c:2046 src/editor/etags.c:375 +#: src/editor/editcmd.c:375 src/editor/editcmd.c:517 src/editor/editcmd.c:1968 +#: src/editor/editcmd.c:1997 src/editor/etags.c:375 msgid "C&ontinue" msgstr "" @@ -1367,8 +1368,8 @@ msgid "&Macintosh format (CR)" msgstr "" -#: src/editor/editcmd.c:396 src/editor/editcmd.c:1038 src/editor/editcmd.c:1750 -#: src/editor/editcmd.c:1781 src/filemanager/cmd.c:735 +#: src/editor/editcmd.c:396 src/editor/editcmd.c:1052 src/editor/editcmd.c:1701 +#: src/editor/editcmd.c:1732 src/filemanager/cmd.c:735 msgid "Enter file name:" msgstr "" @@ -1380,228 +1381,228 @@ msgid "Save As" msgstr "" -#: src/editor/editcmd.c:837 +#: src/editor/editcmd.c:851 msgid "&Quick save" msgstr "" -#: src/editor/editcmd.c:838 +#: src/editor/editcmd.c:852 msgid "&Safe save" msgstr "" -#: src/editor/editcmd.c:839 +#: src/editor/editcmd.c:853 msgid "&Do backups with following extension:" msgstr "" -#: src/editor/editcmd.c:858 +#: src/editor/editcmd.c:872 msgid "Check &POSIX new line" msgstr "" -#: src/editor/editcmd.c:867 +#: src/editor/editcmd.c:881 msgid "Edit Save Mode" msgstr "" -#: src/editor/editcmd.c:921 src/editor/editcmd.c:980 +#: src/editor/editcmd.c:935 src/editor/editcmd.c:994 msgid "Save as" msgstr "" -#: src/editor/editcmd.c:923 +#: src/editor/editcmd.c:937 msgid "Cannot save: destination is not a regular file" msgstr "" -#: src/editor/editcmd.c:939 +#: src/editor/editcmd.c:953 msgid "A file already exists with this name" msgstr "" -#: src/editor/editcmd.c:939 +#: src/editor/editcmd.c:953 msgid "&Overwrite" msgstr "" -#: src/editor/editcmd.c:980 src/editor/editcmd.c:1760 +#: src/editor/editcmd.c:994 src/editor/editcmd.c:1711 msgid "Cannot save file" msgstr "" -#: src/editor/editcmd.c:1014 +#: src/editor/editcmd.c:1028 #, c-format msgid "Confirm save file: \"%s\"" msgstr "" -#: src/editor/editcmd.c:1016 src/viewer/hex.c:418 src/viewer/hex.c:430 +#: src/editor/editcmd.c:1030 src/viewer/hex.c:418 src/viewer/hex.c:430 msgid "Save file" msgstr "" -#: src/editor/editcmd.c:1016 src/editor/editmenu.c:80 src/learn.c:195 +#: src/editor/editcmd.c:1030 src/editor/editmenu.c:80 src/learn.c:195 #: src/learn.c:260 msgid "&Save" msgstr "" -#: src/editor/editcmd.c:1038 +#: src/editor/editcmd.c:1052 msgid "Load" msgstr "" -#: src/editor/editcmd.c:1121 +#: src/editor/editcmd.c:1135 msgid "Syntax file edit" msgstr "" -#: src/editor/editcmd.c:1122 +#: src/editor/editcmd.c:1136 msgid "Which syntax file you want to edit?" msgstr "" -#: src/editor/editcmd.c:1123 src/editor/editcmd.c:1169 +#: src/editor/editcmd.c:1137 src/editor/editcmd.c:1183 #: src/filemanager/cmd.c:834 src/filemanager/cmd.c:875 #: src/filemanager/cmd.c:933 msgid "&User" msgstr "" -#: src/editor/editcmd.c:1123 src/editor/editcmd.c:1169 +#: src/editor/editcmd.c:1137 src/editor/editcmd.c:1183 msgid "&System wide" msgstr "" -#: src/editor/editcmd.c:1167 src/filemanager/cmd.c:873 +#: src/editor/editcmd.c:1181 src/filemanager/cmd.c:873 msgid "Menu edit" msgstr "" -#: src/editor/editcmd.c:1168 src/filemanager/cmd.c:874 +#: src/editor/editcmd.c:1182 src/filemanager/cmd.c:874 msgid "Which menu file do you want to edit?" msgstr "" -#: src/editor/editcmd.c:1169 src/filemanager/cmd.c:875 +#: src/editor/editcmd.c:1183 src/filemanager/cmd.c:875 msgid "&Local" msgstr "" -#: src/editor/editcmd.c:1503 src/editor/editwidget.c:387 +#: src/editor/editcmd.c:1454 src/editor/editwidget.c:388 msgid "[NoName]" msgstr "" -#: src/editor/editcmd.c:1521 +#: src/editor/editcmd.c:1472 #, c-format msgid "" "File %s was modified.\n" "Save before close?" msgstr "" -#: src/editor/editcmd.c:1522 +#: src/editor/editcmd.c:1473 msgid "Close file" msgstr "" -#: src/editor/editcmd.c:1526 +#: src/editor/editcmd.c:1477 #, c-format msgid "" "Midnight Commander is being shut down.\n" "Save modified file %s?" msgstr "" -#: src/editor/editcmd.c:1626 +#: src/editor/editcmd.c:1577 msgid "This function is not implemented" msgstr "" -#: src/editor/editcmd.c:1641 +#: src/editor/editcmd.c:1592 msgid "Copy to clipboard" msgstr "" -#: src/editor/editcmd.c:1641 src/editor/editcmd.c:1665 +#: src/editor/editcmd.c:1592 src/editor/editcmd.c:1616 msgid "Unable to save to file" msgstr "" -#: src/editor/editcmd.c:1665 +#: src/editor/editcmd.c:1616 msgid "Cut to clipboard" msgstr "" -#: src/editor/editcmd.c:1709 +#: src/editor/editcmd.c:1660 msgid "Goto line" msgstr "" -#: src/editor/editcmd.c:1750 src/editor/editcmd.c:1760 +#: src/editor/editcmd.c:1701 src/editor/editcmd.c:1711 msgid "Save block" msgstr "" -#: src/editor/editcmd.c:1781 src/editor/editcmd.c:1796 +#: src/editor/editcmd.c:1732 src/editor/editcmd.c:1747 msgid "Insert file" msgstr "" -#: src/editor/editcmd.c:1796 +#: src/editor/editcmd.c:1747 msgid "Cannot insert file" msgstr "" -#: src/editor/editcmd.c:1817 +#: src/editor/editcmd.c:1768 msgid "Sort block" msgstr "" -#: src/editor/editcmd.c:1817 +#: src/editor/editcmd.c:1768 msgid "You must first highlight a block of text" msgstr "" -#: src/editor/editcmd.c:1825 +#: src/editor/editcmd.c:1776 msgid "Run sort" msgstr "" -#: src/editor/editcmd.c:1826 +#: src/editor/editcmd.c:1777 msgid "Enter sort options (see sort(1) manpage) separated by whitespace:" msgstr "" -#: src/editor/editcmd.c:1846 src/editor/editcmd.c:1853 +#: src/editor/editcmd.c:1797 src/editor/editcmd.c:1804 msgid "Sort" msgstr "" -#: src/editor/editcmd.c:1846 +#: src/editor/editcmd.c:1797 msgid "Cannot execute sort command" msgstr "" -#: src/editor/editcmd.c:1852 +#: src/editor/editcmd.c:1803 #, c-format msgid "Sort returned non-zero: %s" msgstr "" -#: src/editor/editcmd.c:1889 +#: src/editor/editcmd.c:1840 msgid "Paste output of external command" msgstr "" -#: src/editor/editcmd.c:1890 +#: src/editor/editcmd.c:1841 msgid "Enter shell command(s):" msgstr "" -#: src/editor/editcmd.c:1907 +#: src/editor/editcmd.c:1858 msgid "External command" msgstr "" -#: src/editor/editcmd.c:1907 +#: src/editor/editcmd.c:1858 msgid "Cannot execute command" msgstr "" -#: src/editor/editcmd.c:1952 +#: src/editor/editcmd.c:1903 msgid "mail -s -c " msgstr "" -#: src/editor/editcmd.c:1953 +#: src/editor/editcmd.c:1904 msgid "To" msgstr "" -#: src/editor/editcmd.c:1956 +#: src/editor/editcmd.c:1907 msgid "Subject" msgstr "" -#: src/editor/editcmd.c:1959 +#: src/editor/editcmd.c:1910 msgid "Copies to" msgstr "" -#: src/editor/editcmd.c:1970 +#: src/editor/editcmd.c:1921 msgid "Mail" msgstr "" -#: src/editor/editcmd.c:2004 +#: src/editor/editcmd.c:1955 msgid "Insert literal" msgstr "" -#: src/editor/editcmd.c:2005 +#: src/editor/editcmd.c:1956 msgid "Press any key:" msgstr "" -#: src/editor/editcmd.c:2016 src/editor/editcmd.c:2045 src/editor/etags.c:374 +#: src/editor/editcmd.c:1967 src/editor/editcmd.c:1996 src/editor/etags.c:374 msgid "" "Current text was modified without a file save.\n" "Continue discards these changes." msgstr "" -#: src/editor/editcmd.c:2098 +#: src/editor/editcmd.c:2049 msgid "Cancel" msgstr "" @@ -1609,7 +1610,7 @@ msgid "Collect completions" msgstr "" -#: src/editor/editdraw.c:256 src/editor/editwidget.c:333 +#: src/editor/editdraw.c:256 src/editor/editwidget.c:334 msgid "NoName" msgstr "" @@ -2039,8 +2040,8 @@ msgid "Enter replacement string:" msgstr "" -#: src/editor/editsearch.c:195 src/editor/editsearch.c:981 -#: src/editor/editsearch.c:1021 src/editor/editsearch.c:1033 +#: src/editor/editsearch.c:195 src/editor/editsearch.c:978 +#: src/editor/editsearch.c:1018 src/editor/editsearch.c:1030 msgid "Replace" msgstr "" @@ -2059,7 +2060,7 @@ #: src/editor/editsearch.c:251 src/editor/spell.c:748 #: src/filemanager/file.c:893 src/filemanager/file.c:966 -#: src/filemanager/file.c:969 src/filemanager/file.c:3175 +#: src/filemanager/file.c:969 src/filemanager/file.c:3180 #: src/filemanager/filegui.c:254 msgid "&Skip" msgstr "" @@ -2079,7 +2080,7 @@ msgid "Searching %s" msgstr "" -#: src/editor/editsearch.c:1033 +#: src/editor/editsearch.c:1030 #, c-format msgid "%ld replacements made" msgstr "" @@ -2091,18 +2092,18 @@ msgstr "" #: src/editor/editwidget.c:155 -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" #: src/editor/editwidget.c:165 msgid "About" msgstr "" -#: src/editor/editwidget.c:324 +#: src/editor/editwidget.c:325 msgid "Open files" msgstr "" -#: src/editor/editwidget.c:391 src/editor/editwidget.c:394 +#: src/editor/editwidget.c:392 src/editor/editwidget.c:395 msgid "Edit: " msgstr "" @@ -2115,7 +2116,7 @@ msgstr "" #: src/editor/editwidget.c:681 src/filemanager/filemanager.c:1638 -#: src/filemanager/tree.c:1174 +#: src/filemanager/tree.c:1181 msgid "ButtonBar|Copy" msgstr "" @@ -2251,31 +2252,31 @@ msgid "Select language" msgstr "" -#: src/editor/syntax.c:1428 +#: src/editor/syntax.c:1440 msgid "Choose syntax highlighting" msgstr "" -#: src/editor/syntax.c:1429 +#: src/editor/syntax.c:1441 msgid "< Auto >" msgstr "" -#: src/editor/syntax.c:1430 +#: src/editor/syntax.c:1442 msgid "< Reload Current Syntax >" msgstr "" -#: src/editor/syntax.c:1531 src/editor/syntax.c:1537 +#: src/editor/syntax.c:1543 src/editor/syntax.c:1549 msgid "Load syntax file" msgstr "" -#: src/editor/syntax.c:1532 src/help.c:1098 src/usermenu.c:986 -#: src/usermenu.c:1026 +#: src/editor/syntax.c:1544 src/help.c:1105 src/usermenu.c:999 +#: src/usermenu.c:1039 #, c-format msgid "" "Cannot open file %s\n" "%s" msgstr "" -#: src/editor/syntax.c:1538 +#: src/editor/syntax.c:1550 #, c-format msgid "Error in file %s on line %d" msgstr "" @@ -2288,7 +2289,7 @@ "extra access permissions with the \"su\" command?" msgstr "" -#: src/execute.c:198 src/filemanager/ext.c:669 +#: src/execute.c:198 src/filemanager/ext.c:686 #, c-format msgid "Cannot fetch a local copy of %s" msgstr "" @@ -2358,8 +2359,8 @@ #: src/filemanager/achown.c:862 src/filemanager/achown.c:899 #: src/filemanager/chattr.c:1123 src/filemanager/chmod.c:441 -#: src/filemanager/chown.c:313 src/vfs/sftpfs/connection.c:521 -#: src/vfs/sftpfs/connection.c:533 +#: src/filemanager/chown.c:313 src/vfs/sftpfs/connection.c:562 +#: src/vfs/sftpfs/connection.c:574 msgid "&Ignore" msgstr "" @@ -2609,7 +2610,7 @@ msgstr "" #: src/filemanager/boxes.c:749 src/filemanager/info.c:86 -#: src/vfs/sftpfs/connection.c:380 +#: src/vfs/sftpfs/connection.c:421 msgid "Information" msgstr "" @@ -2718,7 +2719,7 @@ msgid "Input / display codepage:" msgstr "" -#: src/filemanager/boxes.c:1090 src/filemanager/tree.c:1124 +#: src/filemanager/boxes.c:1090 src/filemanager/tree.c:1131 msgid "Directory tree" msgstr "" @@ -3212,26 +3213,26 @@ msgid "Unable to save setup to %s" msgstr "" -#: src/filemanager/command.c:119 src/usermenu.c:975 +#: src/filemanager/command.c:119 src/usermenu.c:988 msgid "Cannot execute commands on non-local filesystems" msgstr "" -#: src/filemanager/ext.c:257 src/usermenu.c:486 +#: src/filemanager/ext.c:257 src/usermenu.c:490 msgid "Parameter" msgstr "" -#: src/filemanager/ext.c:469 src/usermenu.c:457 +#: src/filemanager/ext.c:473 src/usermenu.c:461 #, c-format msgid "" "Cannot create temporary command file\n" "%s" msgstr "" -#: src/filemanager/ext.c:740 +#: src/filemanager/ext.c:757 msgid "Pipe failed" msgstr "" -#: src/filemanager/ext.c:776 +#: src/filemanager/ext.c:793 #, c-format msgid "" "You have an outdated %s file.\n" @@ -3239,7 +3240,7 @@ "Please copy your modifications of the old file to the new one." msgstr "" -#: src/filemanager/ext.c:827 +#: src/filemanager/ext.c:844 #, c-format msgid "" "The format of the\n" @@ -3249,7 +3250,7 @@ "Please fetch a fresh copy from the Midnight Commander package." msgstr "" -#: src/filemanager/ext.c:842 +#: src/filemanager/ext.c:859 #, c-format msgid "" "The format of the\n" @@ -3470,14 +3471,14 @@ "%s" msgstr "" -#: src/filemanager/file.c:2411 src/filemanager/file.c:2779 +#: src/filemanager/file.c:2411 src/filemanager/file.c:2782 #, c-format msgid "" "Cannot chown target file \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:2426 src/filemanager/file.c:2795 +#: src/filemanager/file.c:2426 src/filemanager/file.c:2798 #, c-format msgid "" "Cannot chmod target file \"%s\"\n" @@ -3567,28 +3568,28 @@ "%s" msgstr "" -#: src/filemanager/file.c:2860 +#: src/filemanager/file.c:2865 #, c-format msgid "" "Cannot stat source directory \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:2904 +#: src/filemanager/file.c:2909 #, c-format msgid "" "Source \"%s\" is not a directory\n" "%s" msgstr "" -#: src/filemanager/file.c:2916 +#: src/filemanager/file.c:2921 #, c-format msgid "" "Cannot copy cyclic symbolic link\n" "\"%s\"" msgstr "" -#: src/filemanager/file.c:2955 src/filemanager/file.c:3447 +#: src/filemanager/file.c:2960 src/filemanager/file.c:3452 #: src/filemanager/tree.c:769 #, c-format msgid "" @@ -3596,26 +3597,26 @@ "%s" msgstr "" -#: src/filemanager/file.c:2988 +#: src/filemanager/file.c:2993 #, c-format msgid "" "Cannot create target directory \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:3012 +#: src/filemanager/file.c:3017 #, c-format msgid "" "Cannot chown target directory \"%s\"\n" "%s" msgstr "" -#: src/filemanager/file.c:3219 +#: src/filemanager/file.c:3224 #, c-format msgid "Directories: %zu, total size: %s" msgstr "" -#: src/filemanager/file.c:3365 +#: src/filemanager/file.c:3370 msgid "Sorry, I could not put the job in background" msgstr "" @@ -3753,7 +3754,7 @@ msgstr "" #: src/filemanager/filegui.c:1373 src/filemanager/find.c:587 -#: src/filemanager/panel.c:2618 +#: src/filemanager/panel.c:2617 msgid "&Using shell patterns" msgstr "" @@ -4066,11 +4067,11 @@ msgid "ButtonBar|View" msgstr "" -#: src/filemanager/filemanager.c:1639 src/filemanager/tree.c:1175 +#: src/filemanager/filemanager.c:1639 src/filemanager/tree.c:1182 msgid "ButtonBar|RenMov" msgstr "" -#: src/filemanager/filemanager.c:1640 src/filemanager/tree.c:1178 +#: src/filemanager/filemanager.c:1640 src/filemanager/tree.c:1185 msgid "ButtonBar|Mkdir" msgstr "" @@ -4100,7 +4101,7 @@ msgstr "" #: src/filemanager/find.c:510 src/filemanager/find.c:521 -#: src/filemanager/panel.c:2656 +#: src/filemanager/panel.c:2655 msgid "Malformed regular expression" msgstr "" @@ -4622,23 +4623,23 @@ msgid "Unknown tag on display format:" msgstr "" -#: src/filemanager/panel.c:2617 +#: src/filemanager/panel.c:2616 msgid "&Files only" msgstr "" -#: src/filemanager/panel.c:2620 +#: src/filemanager/panel.c:2619 msgid "&Case sensitive" msgstr "" -#: src/filemanager/panel.c:2710 +#: src/filemanager/panel.c:2709 msgid "Select" msgstr "" -#: src/filemanager/panel.c:2719 +#: src/filemanager/panel.c:2718 msgid "Unselect" msgstr "" -#: src/filemanager/panel.c:2749 +#: src/filemanager/panel.c:2748 msgid "Filter" msgstr "" @@ -4646,12 +4647,12 @@ msgid "Do you really want to execute?" msgstr "" -#: src/filemanager/panel.c:3430 src/filemanager/panel.c:4607 -#: src/filemanager/panel.c:4655 src/viewer/actions_cmd.c:314 +#: src/filemanager/panel.c:3432 src/filemanager/panel.c:4609 +#: src/filemanager/panel.c:4657 src/viewer/actions_cmd.c:310 msgid "Cannot read directory contents" msgstr "" -#: src/filemanager/panel.c:4709 +#: src/filemanager/panel.c:4711 msgid "User supplied format looks invalid, reverting to default." msgstr "" @@ -4744,23 +4745,23 @@ msgid "Delete %s?" msgstr "" -#: src/filemanager/tree.c:981 src/filemanager/tree.c:1172 +#: src/filemanager/tree.c:981 src/filemanager/tree.c:1179 msgid "ButtonBar|Static" msgstr "" -#: src/filemanager/tree.c:981 src/filemanager/tree.c:1173 +#: src/filemanager/tree.c:981 src/filemanager/tree.c:1180 msgid "ButtonBar|Dynamc" msgstr "" -#: src/filemanager/tree.c:1170 +#: src/filemanager/tree.c:1177 msgid "ButtonBar|Rescan" msgstr "" -#: src/filemanager/tree.c:1171 +#: src/filemanager/tree.c:1178 msgid "ButtonBar|Forget" msgstr "" -#: src/filemanager/tree.c:1182 +#: src/filemanager/tree.c:1189 msgid "ButtonBar|Rmdir" msgstr "" @@ -4771,28 +4772,28 @@ "%s\n" msgstr "" -#: src/help.c:325 +#: src/help.c:327 msgid "Help file format error\n" msgstr "" -#: src/help.c:363 +#: src/help.c:365 msgid "Internal bug: Double start of link area" msgstr "" -#: src/help.c:635 src/help.c:1120 +#: src/help.c:642 src/help.c:1127 #, c-format msgid "Cannot find node %s in help file" msgstr "" -#: src/help.c:1135 +#: src/help.c:1142 msgid "Help" msgstr "" -#: src/help.c:1165 +#: src/help.c:1171 msgid "ButtonBar|Index" msgstr "" -#: src/help.c:1166 +#: src/help.c:1172 msgid "ButtonBar|Prev" msgstr "" @@ -4861,7 +4862,7 @@ "%s\n" msgstr "" -#: src/main.c:287 +#: src/main.c:294 msgid "Home directory path is not absolute" msgstr "" @@ -5038,57 +5039,57 @@ msgid "Cache directory:" msgstr "" -#: src/usermenu.c:330 +#: src/usermenu.c:334 msgid "Debug" msgstr "" -#: src/usermenu.c:347 +#: src/usermenu.c:351 msgid "ERROR:" msgstr "" -#: src/usermenu.c:351 +#: src/usermenu.c:355 msgid "True:" msgstr "" -#: src/usermenu.c:353 +#: src/usermenu.c:357 msgid "False:" msgstr "" -#: src/usermenu.c:586 +#: src/usermenu.c:596 msgid "Error calling program" msgstr "" -#: src/usermenu.c:614 +#: src/usermenu.c:624 msgid "Warning -- ignoring file" msgstr "" -#: src/usermenu.c:615 +#: src/usermenu.c:625 #, c-format msgid "" "File %s is not owned by root or you or is world writable.\n" "Using it may compromise your security" msgstr "" -#: src/usermenu.c:727 +#: src/usermenu.c:737 msgid "Format error on file Extensions File" msgstr "" -#: src/usermenu.c:728 +#: src/usermenu.c:738 #, c-format msgid "The %%var macro has no default" msgstr "" -#: src/usermenu.c:729 +#: src/usermenu.c:739 #, c-format msgid "The %%var macro has no variable" msgstr "" -#: src/usermenu.c:1132 +#: src/usermenu.c:1145 #, c-format msgid "No suitable entries found in %s" msgstr "" -#: src/usermenu.c:1146 +#: src/usermenu.c:1159 msgid "User menu" msgstr "" @@ -5147,93 +5148,35 @@ "%s" msgstr "" -#: src/vfs/extfs/extfs.c:753 src/vfs/extfs/extfs.c:951 -#: src/vfs/extfs/extfs.c:961 src/vfs/extfs/extfs.c:966 +#: src/vfs/extfs/extfs.c:753 src/vfs/extfs/extfs.c:979 +#: src/vfs/extfs/extfs.c:989 src/vfs/extfs/extfs.c:994 #, c-format msgid "" "EXTFS virtual file system:\n" "%s" msgstr "" -#: src/vfs/extfs/extfs.c:1549 -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#: src/vfs/fish/fish.c:384 -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -#: src/vfs/fish/fish.c:569 -msgid "fish: Waiting for initial line..." -msgstr "" - -#: src/vfs/fish/fish.c:579 -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#: src/vfs/fish/fish.c:587 -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -#: src/vfs/fish/fish.c:595 -msgid "fish: Sending password..." -msgstr "" - -#: src/vfs/fish/fish.c:632 -msgid "fish: Sending initial line..." -msgstr "" - -#: src/vfs/fish/fish.c:643 -msgid "fish: Handshaking version..." -msgstr "" - -#: src/vfs/fish/fish.c:654 -msgid "fish: Getting host info..." -msgstr "" - -#: src/vfs/fish/fish.c:933 -#, c-format -msgid "fish: Reading directory %s..." +#: src/vfs/extfs/extfs.c:932 +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#: src/vfs/fish/fish.c:978 src/vfs/ftpfs/ftpfs.c:1914 -#: src/vfs/undelfs/undelfs.c:382 -#, c-format -msgid "%s: done." +#: src/vfs/extfs/extfs.c:945 +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#: src/vfs/fish/fish.c:985 src/vfs/ftpfs/ftpfs.c:1862 -#: src/vfs/undelfs/undelfs.c:385 -#, c-format -msgid "%s: failure" +#: src/vfs/extfs/extfs.c:969 +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" -#: src/vfs/fish/fish.c:1043 +#: src/vfs/extfs/extfs.c:1577 #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -#: src/vfs/fish/fish.c:1067 -msgid "fish: Local read failed, sending zeros" -msgstr "" - -#: src/vfs/fish/fish.c:1086 -msgid "fish: storing file" -msgstr "" - -#: src/vfs/fish/fish.c:1156 -msgid "Aborting transfer..." -msgstr "" - -#: src/vfs/fish/fish.c:1172 -msgid "Error reported after abort." -msgstr "" - -#: src/vfs/fish/fish.c:1174 -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #: src/vfs/ftpfs/ftpfs.c:588 @@ -5378,6 +5321,18 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#: src/vfs/ftpfs/ftpfs.c:1862 src/vfs/shell/shell.c:979 +#: src/vfs/undelfs/undelfs.c:385 +#, c-format +msgid "%s: failure" +msgstr "" + +#: src/vfs/ftpfs/ftpfs.c:1914 src/vfs/shell/shell.c:972 +#: src/vfs/undelfs/undelfs.c:382 +#, c-format +msgid "%s: done." +msgstr "" + #: src/vfs/ftpfs/ftpfs.c:2004 msgid "ftpfs: storing file" msgstr "" @@ -5423,42 +5378,42 @@ msgid "sftp: Unable to get current user name." msgstr "" -#: src/vfs/sftpfs/connection.c:116 src/vfs/sftpfs/sftpfs.c:745 +#: src/vfs/sftpfs/connection.c:147 src/vfs/sftpfs/sftpfs.c:745 msgid "sftp: Invalid host name." msgstr "" -#: src/vfs/sftpfs/connection.c:148 src/vfs/sftpfs/connection.c:188 +#: src/vfs/sftpfs/connection.c:179 src/vfs/sftpfs/connection.c:219 #, c-format msgid "sftp: %s" msgstr "" -#: src/vfs/sftpfs/connection.c:176 +#: src/vfs/sftpfs/connection.c:207 msgid "sftp: failed to convert remote host IP address into text form" msgstr "" -#: src/vfs/sftpfs/connection.c:193 +#: src/vfs/sftpfs/connection.c:224 #, c-format msgid "sftp: making connection to %s" msgstr "" -#: src/vfs/sftpfs/connection.c:203 +#: src/vfs/sftpfs/connection.c:234 msgid "sftp: connection interrupted by user" msgstr "" -#: src/vfs/sftpfs/connection.c:205 +#: src/vfs/sftpfs/connection.c:236 #, c-format msgid "sftp: connection to server failed: %s" msgstr "" -#: src/vfs/sftpfs/connection.c:321 +#: src/vfs/sftpfs/connection.c:355 msgid "sftp: found host key of unsupported type: RSA1" msgstr "" -#: src/vfs/sftpfs/connection.c:324 +#: src/vfs/sftpfs/connection.c:358 msgid "sftp: unknown host key type:" msgstr "" -#: src/vfs/sftpfs/connection.c:381 +#: src/vfs/sftpfs/connection.c:422 #, c-format msgid "" "Permanently added\n" @@ -5466,19 +5421,19 @@ "to the list of known hosts." msgstr "" -#: src/vfs/sftpfs/connection.c:445 +#: src/vfs/sftpfs/connection.c:486 msgid "sftp: cannot get the remote host key" msgstr "" -#: src/vfs/sftpfs/connection.c:485 +#: src/vfs/sftpfs/connection.c:526 msgid "sftp: unsupported key type, can't check remote host key" msgstr "" -#: src/vfs/sftpfs/connection.c:492 +#: src/vfs/sftpfs/connection.c:533 msgid "sftp: can't compute host key fingerprint hash" msgstr "" -#: src/vfs/sftpfs/connection.c:514 +#: src/vfs/sftpfs/connection.c:555 #, c-format msgid "" "The authenticity of host\n" @@ -5489,7 +5444,7 @@ "Do you want to add it to the list of known hosts and continue connecting?" msgstr "" -#: src/vfs/sftpfs/connection.c:527 +#: src/vfs/sftpfs/connection.c:568 #, c-format msgid "" "%s (%s)\n" @@ -5499,29 +5454,29 @@ "connecting?" msgstr "" -#: src/vfs/sftpfs/connection.c:554 +#: src/vfs/sftpfs/connection.c:595 msgid "sftp: host key verification failed" msgstr "" -#: src/vfs/sftpfs/connection.c:690 +#: src/vfs/sftpfs/connection.c:731 #, c-format msgid "sftp: Enter passphrase for %s " msgstr "" -#: src/vfs/sftpfs/connection.c:695 +#: src/vfs/sftpfs/connection.c:736 msgid "sftp: Passphrase is empty." msgstr "" -#: src/vfs/sftpfs/connection.c:800 +#: src/vfs/sftpfs/connection.c:841 #, c-format msgid "sftp: Enter password for %s " msgstr "" -#: src/vfs/sftpfs/connection.c:805 +#: src/vfs/sftpfs/connection.c:846 msgid "sftp: Password is empty." msgstr "" -#: src/vfs/sftpfs/connection.c:886 +#: src/vfs/sftpfs/connection.c:927 msgid "sftp: failure establishing SSH session" msgstr "" @@ -5543,30 +5498,90 @@ msgid "sftp: Listing done." msgstr "" -#: src/vfs/tar/tar.c:661 src/vfs/tar/tar.c:734 src/vfs/tar/tar.c:829 -#: src/vfs/tar/tar-internal.c:411 +#: src/vfs/shell/shell.c:385 +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +#: src/vfs/shell/shell.c:570 +msgid "shell: Waiting for initial line..." +msgstr "" + +#: src/vfs/shell/shell.c:580 +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#: src/vfs/shell/shell.c:588 +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +#: src/vfs/shell/shell.c:597 +msgid "shell: Sending password..." +msgstr "" + +#: src/vfs/shell/shell.c:634 +msgid "shell: Sending initial line..." +msgstr "" + +#: src/vfs/shell/shell.c:643 +msgid "shell: Getting host info..." +msgstr "" + +#: src/vfs/shell/shell.c:926 +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#: src/vfs/shell/shell.c:1037 +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +#: src/vfs/shell/shell.c:1061 +msgid "shell: Local read failed, sending zeros" +msgstr "" + +#: src/vfs/shell/shell.c:1080 +msgid "shell: storing file" +msgstr "" + +#: src/vfs/shell/shell.c:1150 +msgid "Aborting transfer..." +msgstr "" + +#: src/vfs/shell/shell.c:1166 +msgid "Error reported after abort." +msgstr "" + +#: src/vfs/shell/shell.c:1168 +msgid "Aborted transfer would be successful." +msgstr "" + +#: src/vfs/tar/tar.c:655 src/vfs/tar/tar.c:728 src/vfs/tar/tar.c:823 +#: src/vfs/tar/tar-internal.c:418 msgid "Inconsistent tar archive" msgstr "" -#: src/vfs/tar/tar.c:691 src/vfs/tar/tar.c:714 +#: src/vfs/tar/tar.c:685 src/vfs/tar/tar.c:708 msgid "Unexpected EOF on archive file" msgstr "" -#: src/vfs/tar/tar.c:916 src/vfs/tar/tar.c:938 +#: src/vfs/tar/tar.c:910 src/vfs/tar/tar.c:932 #, c-format msgid "" "Cannot open tar archive\n" "%s" msgstr "" -#: src/vfs/tar/tar.c:998 src/vfs/tar/tar.c:1023 +#: src/vfs/tar/tar.c:992 src/vfs/tar/tar.c:1017 #, c-format msgid "" "%s\n" "doesn't look like a tar archive" msgstr "" -#: src/vfs/tar/tar-internal.c:166 +#: src/vfs/tar/tar-internal.c:165 msgid "tar: mc_lseek not stopped at a record boundary" msgstr "" @@ -5659,19 +5674,19 @@ msgid "Ext2lib error" msgstr "" -#: src/viewer/actions_cmd.c:444 +#: src/viewer/actions_cmd.c:434 msgid "Invalid value" msgstr "" -#: src/viewer/actions_cmd.c:643 +#: src/viewer/actions_cmd.c:633 msgid "File was modified. Save with exit?" msgstr "" -#: src/viewer/actions_cmd.c:644 +#: src/viewer/actions_cmd.c:634 msgid "&Cancel quit" msgstr "" -#: src/viewer/actions_cmd.c:649 +#: src/viewer/actions_cmd.c:639 msgid "" "Midnight Commander is being shut down.\n" "Save modified file?" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/mn.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/mn.gmo differ diff -Nru mc-4.8.30/po/mn.po mc-4.8.31/po/mn.po --- mc-4.8.30/po/mn.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/mn.po 2024-01-27 08:33:42.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Shuree Nyam-Oidov <99shuree@gmail.com>, 2020\n" "Language-Team: Mongolian (http://app.transifex.com/mc/mc/language/mn/)\n" @@ -707,7 +707,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1543,7 +1544,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3934,67 +3935,25 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: %s аас салгагдаж байна" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Эхлэл мөрийг хүлээж байна..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Уучлаарай, Бид энэ холболтод нууц үг ашиглаж чадахгүй байна." - -#, c-format -msgid "fish: Password is required for %s" +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -msgid "fish: Sending password..." -msgstr "fish: Нууц үгийг илгээж байна..." - -msgid "fish: Sending initial line..." -msgstr "fish: эхлэл мөрийг илгээж байна..." - -msgid "fish: Handshaking version..." -msgstr "fish: Handshaking version..." - -msgid "fish: Getting host info..." +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: %s лавлахыг уншиж байна..." - -#, c-format -msgid "%s: done." -msgstr "%s: дууссан." - -#, c-format -msgid "%s: failure" -msgstr "%s: алдаа" - -#, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: %s сэргээх: командыг илгээж байна..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: локал уншилт бүтсэнгүй, тэгийг илгээж байна" - -msgid "fish: storing file" +msgid "Warning: cannot open %s directory\n" msgstr "" -msgid "Aborting transfer..." -msgstr "Дамжуулалтыг таслаж байна..." - -msgid "Error reported after abort." -msgstr "Таслалтын дараа алдаа илтгэгдлээ." - -msgid "Aborted transfer would be successful." -msgstr "Таслагдсан дамжуулалт дууссан ч байж магадгүй." - #, c-format msgid "ftpfs: Disconnecting from %s" msgstr "ftpfs: %s ээс салгагдаж байна" @@ -4105,6 +4064,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: алдаа; ослын горимд хаашаа ч шилжих боломжгүй" +#, c-format +msgid "%s: failure" +msgstr "%s: алдаа" + +#, c-format +msgid "%s: done." +msgstr "%s: дууссан." + msgid "ftpfs: storing file" msgstr "" @@ -4242,6 +4209,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Уучлаарай, Бид энэ холболтод нууц үг ашиглаж чадахгүй байна." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Дамжуулалтыг таслаж байна..." + +msgid "Error reported after abort." +msgstr "Таслалтын дараа алдаа илтгэгдлээ." + +msgid "Aborted transfer would be successful." +msgstr "Таслагдсан дамжуулалт дууссан ч байж магадгүй." + msgid "Inconsistent tar archive" msgstr "Алдаатай архив tar" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/nb.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/nb.gmo differ diff -Nru mc-4.8.30/po/nb.po mc-4.8.31/po/nb.po --- mc-4.8.30/po/nb.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/nb.po 2024-01-27 08:33:42.000000000 +0000 @@ -3,16 +3,17 @@ # This file is distributed under the same license as the mc package. # # Translators: -# heskjestad , 2021-2023 -# heskjestad , 2019-2021 +# heskjestad , 2021-2023 +# heskjestad , 2024 +# heskjestad , 2019-2021 # Slava Zanko , 2011 msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" -"Last-Translator: heskjestad , 2021-2023\n" +"Last-Translator: heskjestad , 2024\n" "Language-Team: Norwegian Bokmål (http://app.transifex.com/mc/mc/language/" "nb/)\n" "Language: nb\n" @@ -740,30 +741,32 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors NØKKELORD={FORGR},{BAKGR},{ATTR}:NØKKELORD2=...\n" +"--colors NØKKELORD={FORAN},{BAK},{ATTR}:NØKKELORD2=...\n" "\n" -"{FORGR}, {BAKGR} og {ATTR} kan utelates for å bruke forvalgte verdier\n" +"{FORAN}, {BAK} and {ATTR} kan utelates for å ta i bruk standardverdier\n" "\n" " Nøkkelord:\n" -" Globale: errors, disabled, reverse, gauge, header\n" +" Globale: errors, disabled, reverse, gauge, header\n" " input, inputmark, inputunchanged, commandlinemark\n" " bbarhotkey, bbarbutton, statusbar\n" -" Filvisning: normal, selected, marked, markselect\n" -" Dialogbokser: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" +" Filvisning: normal, selected, marked, markselect\n" +" Dialogvinduer: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" " errdhotfocus\n" -" Menyer: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Sprettoppmenyer: pmenunormal, pmenusel, pmenutitle\n" -" Tekstprogram: editnormal, editbold, editmarked, editwhitespace,\n" +" Menyer: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" +" Sprettoppmenyer: pmenunormal, pmenusel, pmenutitle\n" +" Redigering: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" -" Tekstviser: viewnormal,viewbold, viewunderline, viewselected\n" -" Hjelp: helpnormal, helpitalic, helpbold, helplink, helpslink\n" +" Visning: viewnormal,viewbold, viewunderline, viewselected\n" +" Hjelp: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1634,8 +1637,8 @@ "Et brukervennlig skriveprogram\n" "skrevet for Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Opphavsrett (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "Opphavsrett (C) 1996-2024 Free Software Foundation" msgid "About" msgstr "Om" @@ -4172,66 +4175,30 @@ "EXTFS virtuelt filsystem:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Advarsel: Klarte ikke åpne mappa %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Kobler fra %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Venter på innledende linje ..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Passordautentisering av tilkoblinger støttes ikke per i dag." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Trenger passord for %s" - -msgid "fish: Sending password..." -msgstr "fish: Sender passord ..." - -msgid "fish: Sending initial line..." -msgstr "fish: Sender innledende linje ..." - -msgid "fish: Handshaking version..." -msgstr "fish: Avklarer versjon ..." - -msgid "fish: Getting host info..." -msgstr "fish: Henter vertsinformasjon ..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Leser mappa %s ..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" +"EXTFS virtuelt filsystem:\n" +"feil filnavn" -#, c-format -msgid "%s: done." -msgstr "%s: ferdig." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" +"EXTFS virtuelt filsystem:\n" +"feil arkivnavn" -#, c-format -msgid "%s: failure" -msgstr " %s: mislyktes" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" +"EXTFS virtuelt filsystem:\n" +"kan ikke kjøre kommando" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: lagre %s: sender kommando ..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Lokal lesekommando mislyktes, sender nuller" - -msgid "fish: storing file" -msgstr "fish: lagrer fil" - -msgid "Aborting transfer..." -msgstr "Avbryter overføring ..." - -msgid "Error reported after abort." -msgstr "Feil rapportert etter avbrudd." - -msgid "Aborted transfer would be successful." -msgstr "Avbrutt overføring ville vært i orden." +msgid "Warning: cannot open %s directory\n" +msgstr "Advarsel: Klarte ikke åpne mappa %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4343,6 +4310,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: mislyktes; ingen retrettmuligheter" +#, c-format +msgid "%s: failure" +msgstr " %s: mislyktes" + +#, c-format +msgid "%s: done." +msgstr "%s: ferdig." + msgid "ftpfs: storing file" msgstr "ftpfs: lagrer fil" @@ -4501,6 +4476,52 @@ msgid "sftp: Listing done." msgstr "sftp: Utlisting ferdig." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "skall: Kobler fra %s" + +msgid "shell: Waiting for initial line..." +msgstr "skall: Venter på innledende linje ..." + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Passordautentisering av tilkoblinger støttes ikke per i dag." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "skall: Trenger passord for %s" + +msgid "shell: Sending password..." +msgstr "skall: Sender passord ..." + +msgid "shell: Sending initial line..." +msgstr "skall: Sender innledende linje ..." + +msgid "shell: Getting host info..." +msgstr "skall: Henter vertsinformasjon ..." + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "skall: Leser mappa %s ..." + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "skall: lagre %s: sender kommando ..." + +msgid "shell: Local read failed, sending zeros" +msgstr "skall: Lokal lesekommando mislyktes, sender nuller" + +msgid "shell: storing file" +msgstr "skall: lagrer fil" + +msgid "Aborting transfer..." +msgstr "Avbryter overføring ..." + +msgid "Error reported after abort." +msgstr "Feil rapportert etter avbrudd." + +msgid "Aborted transfer would be successful." +msgstr "Avbrutt overføring ville vært i orden." + msgid "Inconsistent tar archive" msgstr "Inkonsistent tar-arkiv" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/nl.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/nl.gmo differ diff -Nru mc-4.8.30/po/nl.po mc-4.8.31/po/nl.po --- mc-4.8.30/po/nl.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/nl.po 2024-01-27 08:33:42.000000000 +0000 @@ -15,7 +15,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Jaap Kramer , 2023\n" "Language-Team: Dutch (http://app.transifex.com/mc/mc/language/nl/)\n" @@ -739,30 +739,13 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"\n" -"{FORE}, {BACK} and {ATTR} can be omitted, and the default will be used\n" -"\n" -" Keywords:\n" -" Global: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" File display: normal, selected, marked, markselect\n" -" Dialog boxes: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Viewer: viewnormal,viewbold, viewunderline, viewselected\n" -" Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1627,7 +1610,7 @@ "Een gebruikersvriendelijke tekstbewerker\n" "geschreven voor de Midnight Commander" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4157,67 +4140,24 @@ "EXTFS virtueel bestandssysteem:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Waarschuwing: kan map %s niet openen\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Verbinding verbreken met %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Wachten op initiële lijn..." - -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"Helaas, wachtwoord-beveiligde verbindingen zijn op dit moment niet mogelijk." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Wachtwoord is verplicht voor %s" - -msgid "fish: Sending password..." -msgstr "fish: Wachtwoord wordt verstuurd..." - -msgid "fish: Sending initial line..." -msgstr "fish: Initiële lijn wordt verstuurd..." - -msgid "fish: Handshaking version..." -msgstr "fish: Versie handshaking..." - -msgid "fish: Getting host info..." -msgstr "fish: Verkrijgen van host-informatie..." -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Map %s wordt gelezen..." - -#, c-format -msgid "%s: done." -msgstr "%s: voltooid." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr " %s: fout " +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: bewaar %s: opdracht verzenden..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fisch: Lokale leesopdracht mislukt, nullen worden verzonden" - -msgid "fish: storing file" -msgstr "fish: opslaan van bestand" - -msgid "Aborting transfer..." -msgstr "Overdracht wordt verbroken..." - -msgid "Error reported after abort." -msgstr "Fout gemeld na verbreking." - -msgid "Aborted transfer would be successful." -msgstr "Verbroken transfer zou een success zijn." +msgid "Warning: cannot open %s directory\n" +msgstr "Waarschuwing: kan map %s niet openen\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4329,6 +4269,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: mislukt; geen terugvalmogelijkheid " +#, c-format +msgid "%s: failure" +msgstr " %s: fout " + +#, c-format +msgid "%s: done." +msgstr "%s: voltooid." + msgid "ftpfs: storing file" msgstr "ftpfs: bestand opslaan" @@ -4485,6 +4433,53 @@ msgid "sftp: Listing done." msgstr "sftp: Klaar met opsomming." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"Helaas, wachtwoord-beveiligde verbindingen zijn op dit moment niet mogelijk." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Overdracht wordt verbroken..." + +msgid "Error reported after abort." +msgstr "Fout gemeld na verbreking." + +msgid "Aborted transfer would be successful." +msgstr "Verbroken transfer zou een success zijn." + msgid "Inconsistent tar archive" msgstr "Inconsistent tar-archief" diff -Nru mc-4.8.30/po/nl_BE.po mc-4.8.31/po/nl_BE.po --- mc-4.8.30/po/nl_BE.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/nl_BE.po 2024-01-27 08:33:42.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Dutch (Belgium) (http://app.transifex.com/mc/mc/language/" @@ -704,7 +704,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1540,7 +1541,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3901,65 +3902,23 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4072,6 +4031,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4205,6 +4172,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/pl.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/pl.gmo differ diff -Nru mc-4.8.30/po/pl.po mc-4.8.31/po/pl.po --- mc-4.8.30/po/pl.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/pl.po 2024-01-27 08:33:42.000000000 +0000 @@ -3,16 +3,16 @@ # This file is distributed under the same license as the mc package. # # Translators: -# Piotr Drąg , 2011-2023 +# Piotr Drąg , 2011-2024 # Slava Zanko , 2011 # Waldemar Stoczkowski, 2021 msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" -"Last-Translator: Piotr Drąg , 2011-2023\n" +"Last-Translator: Piotr Drąg , 2011-2024\n" "Language-Team: Polish (http://app.transifex.com/mc/mc/language/pl/)\n" "Language: pl\n" "MIME-Version: 1.0\n" @@ -743,15 +743,16 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={TEKST},{TŁO},{ATR}:SŁOWO_KLUCZOWE2=…\n" +"--colors SŁOWO_KLUCZOWE={TEKST},{TŁO},{ATR}:SŁOWO_KLUCZOWE2=…\n" "\n" -"{TEKST}, {TŁO} i {ATR} można pominąć, zostaną użyte wartości domyślne\n" +"{TEKST}, {TŁO} i {ATR} można pominąć, zostaną użyte wartości domyślne\n" "\n" " Słowa kluczowe:\n" " Globalne: errors, disabled, reverse, gauge, header\n" @@ -761,8 +762,9 @@ " Okna dialogowe: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" " errdhotfocus\n" " Menu: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Menu wyskakujące: pmenunormal, pmenusel, pmenutitle\n" -" Edytor: editnormal, editbold, editmarked, editwhitespace,\n" +" Menu wyskakujące: pmenunormal, pmenusel, pmenutitle\n" +" Edytor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Przeglądarka: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1637,8 +1639,8 @@ "Łatwy w obsłudze edytor tekstu,\n" "napisany dla programu Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Copyright © 1996-2023 Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "Copyright © 1996-2024 Free Software Foundation" msgid "About" msgstr "O programie" @@ -4186,66 +4188,30 @@ "Wirtualny system plików EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Ostrzeżenie: nie można utworzyć katalogu %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: rozłączanie z %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: oczekiwanie na wiersz początkowy…" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Połączenia uwierzytelniane hasłem nie są na razie obsługiwane." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: wymagane jest hasło dla %s" - -msgid "fish: Sending password..." -msgstr "fish: wysyłanie hasła…" - -msgid "fish: Sending initial line..." -msgstr "fish: wysyłanie wiersza początkowego…" - -msgid "fish: Handshaking version..." -msgstr "fish: ustalanie wersji…" - -msgid "fish: Getting host info..." -msgstr "fish: pobieranie informacji o komputerze…" - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: odczytywanie katalogu %s…" +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" +"Wirtualny system plików EXTFS:\n" +"błędna nazwa pliku" -#, c-format -msgid "%s: done." -msgstr "%s: ukończono." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" +"Wirtualny system plików EXTFS:\n" +"błędna nazwa archiwum" -#, c-format -msgid "%s: failure" -msgstr "%s: niepowodzenie" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" +"Wirtualny system plików EXTFS:\n" +"nie można zbudować polecenia" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: zapis %s: wysyłanie polecenia…" - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: lokalny odczyt się nie powiódł, wysyłanie zer" - -msgid "fish: storing file" -msgstr "fish: wysyłanie pliku" - -msgid "Aborting transfer..." -msgstr "Przerywanie przesyłania…" - -msgid "Error reported after abort." -msgstr "Zgłoszono błąd po przerwaniu." - -msgid "Aborted transfer would be successful." -msgstr "Przerwane przesyłanie zostałoby pomyślnie zakończone." +msgid "Warning: cannot open %s directory\n" +msgstr "Ostrzeżenie: nie można utworzyć katalogu %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4357,6 +4323,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: niepowodzenie; brak możliwości wycofania" +#, c-format +msgid "%s: failure" +msgstr "%s: niepowodzenie" + +#, c-format +msgid "%s: done." +msgstr "%s: ukończono." + msgid "ftpfs: storing file" msgstr "ftpfs: wysyłanie pliku" @@ -4515,6 +4489,52 @@ msgid "sftp: Listing done." msgstr "sftp: ukończono wyświetlanie listy." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "powłoka: rozłączanie z %s" + +msgid "shell: Waiting for initial line..." +msgstr "powłoka: oczekiwanie na wiersz początkowy…" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Połączenia uwierzytelniane hasłem nie są na razie obsługiwane." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "powłoka: wymagane jest hasło dla %s" + +msgid "shell: Sending password..." +msgstr "powłoka: wysyłanie hasła…" + +msgid "shell: Sending initial line..." +msgstr "powłoka: wysyłanie wiersza początkowego…" + +msgid "shell: Getting host info..." +msgstr "powłoka: pobieranie informacji o komputerze…" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "powłoka: odczytywanie katalogu %s…" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "powłoka: zapis %s: wysyłanie polecenia…" + +msgid "shell: Local read failed, sending zeros" +msgstr "powłoka: lokalny odczyt się nie powiódł, wysyłanie zer" + +msgid "shell: storing file" +msgstr "powłoka: wysyłanie pliku" + +msgid "Aborting transfer..." +msgstr "Przerywanie przesyłania…" + +msgid "Error reported after abort." +msgstr "Zgłoszono błąd po przerwaniu." + +msgid "Aborted transfer would be successful." +msgstr "Przerwane przesyłanie zostałoby pomyślnie zakończone." + msgid "Inconsistent tar archive" msgstr "Niespójne archiwum tar" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/pt.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/pt.gmo differ diff -Nru mc-4.8.30/po/pt.po mc-4.8.31/po/pt.po --- mc-4.8.30/po/pt.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/pt.po 2024-01-27 08:33:42.000000000 +0000 @@ -5,16 +5,16 @@ # Translators: # Gilberto J <2101458@my.ipleiria.pt>, 2012 # Gilberto Jorge , 2012-2013 -# Gilberto Jorge , 2013-2023 +# Gilberto Jorge , 2013-2024 # Peter J. Mello , 2021 # Slava Zanko , 2011 msgid "" msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" -"Last-Translator: Gilberto Jorge , 2013-2023\n" +"Last-Translator: Gilberto Jorge , 2013-2024\n" "Language-Team: Portuguese (http://app.transifex.com/mc/mc/language/pt/)\n" "Language: pt\n" "MIME-Version: 1.0\n" @@ -742,7 +742,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -750,23 +751,23 @@ msgstr "" "--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" "\n" -"{FORE}, {BACK} e {ATTR} pode ser omitido, e o valor por omissão será usado\n" +"{FORE}, {BACK} e {ATTR} podem ser omitidos, o valor por omissão será usado\n" "\n" -" Palavras chave (Keywords):\n" +" Keywords:\n" " Global: errors, disabled, reverse, gauge, header\n" " input, inputmark, inputunchanged, commandlinemark\n" " bbarhotkey, bbarbutton, statusbar\n" -" Visualização de ficheiro: normal, selected, marked, markselect\n" -" Caixas de diálogo: dnormal, dfocus, dhotnormal, dhotfocus, " -"errdhotnormal,\n" +" File display: normal, selected, marked, markselect\n" +" Dialog boxes: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Menus popup: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Popup menus: pmenunormal, pmenusel, pmenutitle\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" -" Visualizador: viewnormal,viewbold, viewunderline, viewselected\n" -" Ajuda: helpnormal, helpitalic, helpbold, helplink, helpslink\n" +" Viewer: viewnormal,viewbold, viewunderline, viewselected\n" +" Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1636,8 +1637,8 @@ "Um editor de texto amigo do utilizador\n" "escrito para o Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "Copyright (C) 1996-2024 the Free Software Foundation" msgid "About" msgstr "Acerca" @@ -4181,66 +4182,30 @@ "Sistema de ficheiro virtual EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Aviso: não é possível abrir o diretório %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: A desligar de %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: A aguardar por linha inicial..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Desculpe, por ora ligações com senha autenticada não são possíveis." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: É necessário senha para %s" - -msgid "fish: Sending password..." -msgstr "fish: A enviar senha..." - -msgid "fish: Sending initial line..." -msgstr "fish: A enviar linha inicial..." - -msgid "fish: Handshaking version..." -msgstr "fish: Versão de protocolo (handshacking)..." - -msgid "fish: Getting host info..." -msgstr "fish: A obter informação de host..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: A ler directório %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" +"Sistema de ficheiros virtual EXTFS:\n" +"nome de ficheiro errado" -#, c-format -msgid "%s: done." -msgstr "%s: terminado." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" +"Sistema de ficheiros virtual EXTFS:\n" +"nome de arquivo errado" -#, c-format -msgid "%s: failure" -msgstr "%s: falha" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" +"Sistema de ficheiros virtual EXTFS:\n" +"não é possível construir comando" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: armazenar %s: a enviar comando..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Leitura local falhou, a enviar zeros" - -msgid "fish: storing file" -msgstr "fish: a guardar ficheiro" - -msgid "Aborting transfer..." -msgstr "A abortar transferência..." - -msgid "Error reported after abort." -msgstr "Erro reportado após abortar." - -msgid "Aborted transfer would be successful." -msgstr "Transferência abortada teria tido sucesso." +msgid "Warning: cannot open %s directory\n" +msgstr "Aviso: não é possível abrir o diretório %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4352,6 +4317,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: falhou; nenhum local para onde ir" +#, c-format +msgid "%s: failure" +msgstr "%s: falha" + +#, c-format +msgid "%s: done." +msgstr "%s: terminado." + msgid "ftpfs: storing file" msgstr "ftpfs: a guardar ficheiro" @@ -4508,6 +4481,52 @@ msgid "sftp: Listing done." msgstr "sftp: Listagem efetuada." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "shell: A desligar de %s" + +msgid "shell: Waiting for initial line..." +msgstr "shell: À espera da linha inicial..." + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Desculpe, por ora ligações com senha autenticada não são possíveis." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "shell: É necessário password para %s" + +msgid "shell: Sending password..." +msgstr "shell: A enviar password..." + +msgid "shell: Sending initial line..." +msgstr "shell: A enviar linha inicial..." + +msgid "shell: Getting host info..." +msgstr "shell: A obter informação do host..." + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "shell: A ler directório %s..." + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "shell: guardar %s: a enviar comando..." + +msgid "shell: Local read failed, sending zeros" +msgstr "shell: Leitura local falhou, a enviar zeros" + +msgid "shell: storing file" +msgstr "shell: a guardar ficheiro" + +msgid "Aborting transfer..." +msgstr "A abortar transferência..." + +msgid "Error reported after abort." +msgstr "Erro reportado após abortar." + +msgid "Aborted transfer would be successful." +msgstr "Transferência abortada teria tido sucesso." + msgid "Inconsistent tar archive" msgstr "Arquivo tar inconsistente" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/pt_BR.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/pt_BR.gmo differ diff -Nru mc-4.8.30/po/pt_BR.po mc-4.8.31/po/pt_BR.po --- mc-4.8.30/po/pt_BR.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/pt_BR.po 2024-01-27 08:33:42.000000000 +0000 @@ -5,7 +5,7 @@ # Translators: # Enrico Nicoletto , 2013 # Heitor Adão Júnior , 2017 -# marcelo cripe , 2022-2023 +# marcelo cripe , 2022-2024 # Mauro Hemerly Gazzani , 2017 # Rafael Fontenelle , 2012 # Slava Zanko , 2011 @@ -14,9 +14,9 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" -"Last-Translator: marcelo cripe , 2022-2023\n" +"Last-Translator: marcelo cripe , 2022-2024\n" "Language-Team: Portuguese (Brazil) (http://app.transifex.com/mc/mc/language/" "pt_BR/)\n" "Language: pt_BR\n" @@ -755,7 +755,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -763,22 +764,26 @@ msgstr "" "--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" "\n" -"{FORE}, {BACK} e {ATTR} podem ser omitidos e o padrão será utilizado\n" +"{FORE}, {BACK} e {ATTR} pode ser omitido e o padrão será utilizado\n" "\n" -" Palavras-chave:\n" -" Global: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Exibição de arquivo: normal, selected, marked, markselect\n" +" Keywords (Palavras-chave):\n" +" Global: erros, desativado, reverso, medidor, entrada do\n" +" cabeçalho, marca de entrada, entrada inalterada,\n" +" tecla de atalho da marca da linha de comando da\n" +" barra, botão da barra, estado da barra\n" +"\n" +"\n" +" Exibição do arquivo: normal, selecionado, marcado, marca da seleção\n" " Caixas de diálogo: dnormal, dfocus, dhotnormal, dhotfocus, " "errdhotnormal,\n" " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Caixas de diálogo dos menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Menus de contexto pmenunormal, pmenusel, pmenutitle\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" -" Visualizador: viewnormal,viewbold, viewunderline, viewselected\n" +" Visualização: viewnormal,viewbold, viewunderline, viewselected\n" " Ajuda: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes @@ -1658,8 +1663,8 @@ "Um editor de texto amigável\n" "escrito para o Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Direitos de Autor (c) 1996-2023 a Fundação Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "Direitos de Autor (C) 1996-2024 a Fundação ‘Free Software Foundation’" msgid "About" msgstr "Sobre" @@ -4231,69 +4236,32 @@ "Sistema de arquivos virtual EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"Aviso:\n" -"Não foi possível abrir o diretório %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "O fish foi desconectado de %s" - -msgid "fish: Waiting for initial line..." -msgstr "O fish está aguardando a linha inicial..." +"Sistema de arquivos virtual EXTFS:\n" +"O nome do arquivo não está correto" -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -"Desculpe-me, não é possível fazer a autenticação por senha neste momento." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "O fish necessita da senha para %s" - -msgid "fish: Sending password..." -msgstr "O fish está enviando a senha..." +"Sistema de arquivos virtuais EXTFS:\n" +"O nome do arquivo está errado" -msgid "fish: Sending initial line..." -msgstr "O fish está enviando a linha inicial..." - -msgid "fish: Handshaking version..." -msgstr "A versão de protocolo(handshacking) do fish..." - -msgid "fish: Getting host info..." -msgstr "O fish está obtendo as informações do hospedeiro..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "O fish está lendo o diretório %s..." - -#, c-format -msgid "%s: done." -msgstr "%s: foi concluído com sucesso." - -#, c-format -msgid "%s: failure" -msgstr "%s: falhou durante o processo" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" +"Sistema de arquivos virtuais EXTFS:\n" +"Não foi possível construir o comando" #, c-format -msgid "fish: store %s: sending command..." -msgstr "O fish armazenou %s e está enviando o comando..." - -msgid "fish: Local read failed, sending zeros" -msgstr "Ocorreu um erro no fish durante a leitura local e será enviado zeros" - -msgid "fish: storing file" -msgstr "O fish está armazenando o(s) arquivo(s)" - -msgid "Aborting transfer..." -msgstr "Interrompendo a transferência..." - -msgid "Error reported after abort." -msgstr "O erro foi reportado depois será finalizado." - -msgid "Aborted transfer would be successful." -msgstr "A transferência foi interrompida, mas poderia ser bem sucedida." +msgid "Warning: cannot open %s directory\n" +msgstr "" +"Aviso:\n" +"Não foi possível abrir o diretório %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4409,6 +4377,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "Ocorreu uma falha no ftpfs e não é possível voltar" +#, c-format +msgid "%s: failure" +msgstr "%s: falhou durante o processo" + +#, c-format +msgid "%s: done." +msgstr "%s: foi concluído com sucesso." + msgid "ftpfs: storing file" msgstr "O ftpfs está armazenando os arquivos" @@ -4578,6 +4554,53 @@ msgid "sftp: Listing done." msgstr "A listagem do sftp foi concluída com sucesso." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "Shell: Desconectando de %s" + +msgid "shell: Waiting for initial line..." +msgstr "Shell: Aguardando a linha inicial..." + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"Desculpe-me, não é possível fazer a autenticação por senha neste momento." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "Shell: A senha é necessária para %s" + +msgid "shell: Sending password..." +msgstr "Shell: Enviando a senha..." + +msgid "shell: Sending initial line..." +msgstr "Shell: Enviando a linha inicial..." + +msgid "shell: Getting host info..." +msgstr "Shell: Obtendo as informações do hospedeiro..." + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "Shell: Lendo o diretório %s..." + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "Shell: Armazenar %s: Enviando o comando..." + +msgid "shell: Local read failed, sending zeros" +msgstr "Shell: Ocorreu uma falha na leitura local, enviando zeros" + +msgid "shell: storing file" +msgstr "Shell: Armazenando o arquivo" + +msgid "Aborting transfer..." +msgstr "Interrompendo a transferência..." + +msgid "Error reported after abort." +msgstr "O erro foi reportado depois será finalizado." + +msgid "Aborted transfer would be successful." +msgstr "A transferência foi interrompida, mas poderia ser bem sucedida." + msgid "Inconsistent tar archive" msgstr "O arquivo tar não é consistente" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/ro.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/ro.gmo differ diff -Nru mc-4.8.30/po/ro.po mc-4.8.31/po/ro.po --- mc-4.8.30/po/ro.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/ro.po 2024-01-27 08:33:42.000000000 +0000 @@ -16,7 +16,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Simona Iacob , 2021-2023\n" "Language-Team: Romanian (http://app.transifex.com/mc/mc/language/ro/)\n" @@ -744,30 +744,13 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"\n" -"{FORE}, {BACK} and {ATTR} can be omitted, and the default will be used\n" -"\n" -" Keywords:\n" -" Global: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" File display: normal, selected, marked, markselect\n" -" Dialog boxes: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Viewer: viewnormal,viewbold, viewunderline, viewselected\n" -" Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1637,8 +1620,8 @@ "Un editor de text ușor de utilizat\n" "creat pentru Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Copyright (C) 1996-2023 Fundația pentru Software Liber" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "" msgid "About" msgstr "Despre" @@ -4178,68 +4161,24 @@ "Sistem de fișiere virtuale EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Atenție: nu se poate deschide dosarul %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Se deconectează de la %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Se așteptă linia inițială..." - -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"Ne pare rău, deocamdată nu se pot efectua conectări autentificate prin " -"parolă." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Este necesară o parolă pentru %s" - -msgid "fish: Sending password..." -msgstr "fish: Se trimite parola..." - -msgid "fish: Sending initial line..." -msgstr "fish: Se trimite linia inițială..." - -msgid "fish: Handshaking version..." -msgstr "fish: Se negociază versiunea..." -msgid "fish: Getting host info..." -msgstr "fish: Se obțin informații despre gazdă..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Citesc dosarul %s..." - -#, c-format -msgid "%s: done." -msgstr "%s: efectuat." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: eșec" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: stochează %s: trimit comanda..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Citirea locală a eșuat, trimit zero-uri" - -msgid "fish: storing file" -msgstr "fish: se stochează fișierul" - -msgid "Aborting transfer..." -msgstr "Abandonez transferul..." - -msgid "Error reported after abort." -msgstr "S-a raportat o eroare după abandon." - -msgid "Aborted transfer would be successful." -msgstr "Transferul abandonat va reuși." +msgid "Warning: cannot open %s directory\n" +msgstr "Atenție: nu se poate deschide dosarul %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4351,6 +4290,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: eșec; nu mai există nici o variantă la care să revin" +#, c-format +msgid "%s: failure" +msgstr "%s: eșec" + +#, c-format +msgid "%s: done." +msgstr "%s: efectuat." + msgid "ftpfs: storing file" msgstr "ftpfs: se stochează fișierul" @@ -4509,6 +4456,54 @@ msgid "sftp: Listing done." msgstr "sftp: Afișarea a fost efectuată." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"Ne pare rău, deocamdată nu se pot efectua conectări autentificate prin " +"parolă." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Abandonez transferul..." + +msgid "Error reported after abort." +msgstr "S-a raportat o eroare după abandon." + +msgid "Aborted transfer would be successful." +msgstr "Transferul abandonat va reuși." + msgid "Inconsistent tar archive" msgstr "Arhivă tar trunchiată" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/ru.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/ru.gmo differ diff -Nru mc-4.8.30/po/ru.po mc-4.8.31/po/ru.po --- mc-4.8.30/po/ru.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/ru.po 2024-01-27 08:33:42.000000000 +0000 @@ -8,6 +8,7 @@ # Alex Tkachenko , 1998 # and Alex Tkachenko , 1998 # Andrei Stepanov, 2023 +# Andrei Stepanov, 2023 # Andrew Borodin , 2009-2012 # Andrew V. Samoilov , 1999,2014 # Anton Sergeevich Chumak , 2005 @@ -18,6 +19,7 @@ # Mr.GreyWolf, 2016 # NaiLi (aka jamesjames) Rootaerc , 2012 # Pavel Suravezhkin, 2022 +# Pavel Suravezhkin, 2022 # Piotr Drąg , 2018 # Sergey Panov , 1999 # Simple88, 2016 @@ -28,7 +30,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Andrei Stepanov, 2023\n" "Language-Team: Russian (http://app.transifex.com/mc/mc/language/ru/)\n" @@ -187,7 +189,7 @@ msgstr "True Color не поддерживается ncurses." msgid "Your terminal doesn't even seem to support 256 colors." -msgstr "Кажется, ваш терминал не поддерживает даже 256 цветов." +msgstr "Похоже, ваш терминал не поддерживает даже 256 цветов." msgid "True color not supported in this slang version." msgstr "True Color не поддерживается в этой версии slang." @@ -759,34 +761,13 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors КЛЮЧЕВОЕ_СЛОВО={ТЕКСТ},{ФОН},{АТРИБУТ}:КЛЮЧЕВОЕ_СЛОВО2=...\n" -"\n" -"{ТЕКСТ}, {ФОН} и {АТРИБУТ} можно опустить, чтобы использовать значения по " -"умолчанию\n" -"\n" -"Ключевые слова:\n" -" Общие: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Отображение файлов: normal, selected, marked, markselect\n" -" Диалоги: dnormal, dfocus, dhotnormal, dhotfocus, " -"errdhotnormal,\n" -" errdhotfocus\n" -" Меню: menunormal, menuhot, menusel, menuhotsel, " -"menuinactive\n" -" Всплывающие меню: pmenunormal, pmenusel, pmenutitle\n" -" Редактор: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Просмотрщик: viewnormal, viewbold, viewunderline, viewselected\n" -" Справка: helpnormal, helpitalic, helpbold, helplink, " -"helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -977,7 +958,7 @@ msgstr "Помощь" msgid "ButtonBar|Save" -msgstr "Сохранить" +msgstr "Сохран" msgid "ButtonBar|Edit" msgstr "Правка" @@ -989,7 +970,7 @@ msgstr "Поиск" msgid "ButtonBar|Options" -msgstr "Настройки" +msgstr "Настр" msgid "ButtonBar|Quit" msgstr "Выход" @@ -1546,10 +1527,10 @@ msgstr "Не&т" msgid "&Dynamic paragraphing" -msgstr "Динамический" +msgstr "&Динамический" msgid "Type &writer wrap" -msgstr "Автоматический перенос" +msgstr "&Автоматический перенос" msgid "Wrap mode" msgstr "Режим переноса строк" @@ -1573,13 +1554,13 @@ msgstr "Прочие настройки" msgid "&Return does autoindent" -msgstr "&Автоотступ \"Вводом\"" +msgstr "А&втоотступ \"Вводом\"" msgid "Confir&m before saving" -msgstr "П&одтверждать запись файла" +msgstr "Подтверждать запись &файла" msgid "Save file &position" -msgstr "Со&хранять позицию в файле" +msgstr "Сох&ранять позицию в файле" msgid "&Visible trailing spaces" msgstr "Отображать проб&елы" @@ -1654,8 +1635,8 @@ "Текстовый редактор с дружественным интерфейсом пользователя.\n" "Создан для Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "" msgid "About" msgstr "О программе" @@ -1928,7 +1909,7 @@ msgstr "Одино&чное нажатие" msgid "Timeout:" -msgstr "Интервал:" +msgstr "Период:" msgid "Pause after run" msgstr "Пауза после выполнения" @@ -1985,10 +1966,10 @@ msgstr "Без &учёта регистра" msgid "Use panel sort mo&de" -msgstr "&Использовать сортировку панели" +msgstr "И&спользовать сортировку панели" msgid "Show mi&ni-status" -msgstr "Показывать &мини-статус" +msgstr "&Показывать строку состояния" msgid "Use SI si&ze units" msgstr "Вывод в единицах &СИ" @@ -2006,7 +1987,7 @@ msgstr "&Быстрая загрузка каталога" msgid "Ma&rk moves down" -msgstr "&Отметка перемещает курсор" +msgstr "Отметка переме&щает курсор" msgid "Re&verse files only" msgstr "Обрат&ить только файлы" @@ -2071,22 +2052,22 @@ msgstr "&Расширенный" msgid "&User defined:" -msgstr "&Определённый пользователем" +msgstr "&Заданный пользователем:" msgid "columns" msgstr "столбцы" msgid "User &mini status" -msgstr "Строка &мини-статуса в формате пользователя" +msgstr "&Пользовательская строка состояния" msgid "Listing format" msgstr "Формат списка файлов" msgid "Executable &first" -msgstr "Исполняемые &вначале" +msgstr "Сперва испо&лняемые" msgid "&Reverse" -msgstr "&Обратный" +msgstr "Обра&тный" msgid "Sort order" msgstr "Порядок сортировки" @@ -2108,7 +2089,7 @@ msgstr "Удаление списка &каталогов" msgid "Confirmation|&History cleanup" -msgstr "&Очистка истории" +msgstr "О&чистка истории" msgid "Confirmation" msgstr "Подтверждение" @@ -2194,6 +2175,9 @@ "%s\n" "%s" msgstr "" +"Не удалось сменить каталог на\n" +"%s\n" +"%s" msgid "Secure deletion" msgstr "Надёжное удаление" @@ -2455,7 +2439,7 @@ msgstr "По &размеру" msgid "&Thorough" -msgstr "По&байтный" +msgstr "Поб&айтный" msgid "" "Both panels should be in the listing mode\n" @@ -2510,11 +2494,11 @@ #, c-format msgid "Setup saved to %s" -msgstr "Параметры сохранены в %s" +msgstr "Настройки сохранены в %s" #, c-format msgid "Unable to save setup to %s" -msgstr "Не удалось сохранить параметры в %s" +msgstr "Не удалось сохранить настройки в %s" msgid "Cannot execute commands on non-local filesystems" msgstr "Не удалось выполнить команды на нелокальных файловых системах" @@ -2620,7 +2604,7 @@ "Cannot stat hardlink source file \"%s\"\n" "%s" msgstr "" -"Не удалось получить свойства исходного файла жёст. ссылки\"%s\"\n" +"Не удалось получить свойства исходного файла жёст. ссылки \"%s\"\n" "%s" #, c-format @@ -3084,13 +3068,13 @@ msgstr "Инфо&рмация" msgid "&Tree" -msgstr "Дерев&о" +msgstr "&Дерево" msgid "&Listing format..." msgstr "Фор&мат списка..." msgid "&Sort order..." -msgstr "Порядок &сортировки..." +msgstr "Порядок сор&тировки..." msgid "&Filter..." msgstr "&Фильтр..." @@ -3111,7 +3095,7 @@ msgstr "Па&нелизация" msgid "&Rescan" -msgstr "&Перепроверить" +msgstr "&Обновить" msgid "&View" msgstr "П&росмотр" @@ -3339,7 +3323,7 @@ msgstr "Вс&е кодировки" msgid "Fir&st hit" -msgstr "До первого в&хождения" +msgstr "До первого вхо&ждения" msgid "Find File" msgstr "Поиск файла" @@ -3485,7 +3469,7 @@ msgstr "Нет информации об узле" msgid "Free nodes:" -msgstr "Свободно узлов:" +msgstr "Своб. узлов:" msgid "No space information" msgstr "Нет информации о пространстве" @@ -3511,7 +3495,7 @@ #, c-format msgid "Accessed: %s" -msgstr "Обращение: %s" +msgstr "Доступ: %s" #, c-format msgid "Modified: %s" @@ -3652,7 +3636,7 @@ msgstr "м" msgid "&Modify time" -msgstr "Время &правки" +msgstr "Дата &правки" #. TRANSLATORS: one single character to represent 'Access time' sort mode #. TRANSLATORS: no need to translate 'sort', it's just a context prefix @@ -3660,7 +3644,7 @@ msgstr "д" msgid "&Access time" -msgstr "Время &доступа" +msgstr "Дата &доступа" #. TRANSLATORS: one single character to represent 'Change time' sort mode #. TRANSLATORS: no need to translate 'sort', it's just a context prefix @@ -3668,7 +3652,7 @@ msgstr "п" msgid "C&hange time" -msgstr "В&ремя правки атрибутов" +msgstr "Дата &смены" msgid "Perm" msgstr "Права" @@ -3726,7 +3710,7 @@ msgstr "Неизвестный тег в формате отображения:" msgid "&Files only" -msgstr "Только файлы" +msgstr "Только &файлы" msgid "&Case sensitive" msgstr "С учётом ре&гистра" @@ -3836,7 +3820,7 @@ msgstr "Динамч" msgid "ButtonBar|Rescan" -msgstr "Пересм" +msgstr "Обновить" msgid "ButtonBar|Forget" msgstr "Забыть" @@ -3875,7 +3859,7 @@ msgstr "Определение клавиш" msgid "Teach me a key" -msgstr "Обучите меня клавише" +msgstr "Привязка клавиши" #, c-format msgid "" @@ -3930,9 +3914,9 @@ "which keys are not marked with OK. Press space on the missing\n" "key, or click with the mouse to define it. Move around with Tab." msgstr "" -"Нажмите все перечисленные выше клавиши. После нажатий найдите,\n" -"какие клавиши не имеют пометки \"OK\". Для обучения клавише выберите\n" -"её при помощи Tab или мышкой и нажмите пробел." +"Нажмите все перечисленные выше клавиши. После найдите\n" +"клавиши без пометки \"OK\". Для привязки клавиши выберите\n" +"её через Tab и нажмите пробел, или щёлкните мышкой." #, c-format msgid "" @@ -4199,66 +4183,30 @@ "Виртуальная файловая система EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Внимание: не удалось открыть каталог %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: отсоединение от %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: ожидается начальная строка..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Извините, не удалось создать авторизованные паролем соединения." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: требуется пароль для %s" - -msgid "fish: Sending password..." -msgstr "fish: посылается пароль..." - -msgid "fish: Sending initial line..." -msgstr "fish: посылается начальная строка..." - -msgid "fish: Handshaking version..." -msgstr "fish: версия подтверждения связи..." - -msgid "fish: Getting host info..." -msgstr "fish: собирается информация об удалённой машине..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Чтение каталога %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" +"Виртуальная файловая система EXTFS:\n" +"неправильное имя файла" -#, c-format -msgid "%s: done." -msgstr "%s: готово." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" +"Виртуальная файловая система EXTFS:\n" +"неправильное имя архива" -#, c-format -msgid "%s: failure" -msgstr "%s: ошибка" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" +"Виртуальная файловая система EXTFS:\n" +"не удаётся собрать команду" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: запись %s: посылается команда..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: сбой локального чтения, посылаются нули" - -msgid "fish: storing file" -msgstr "fish: запись файла" - -msgid "Aborting transfer..." -msgstr "Прерывание передачи..." - -msgid "Error reported after abort." -msgstr "Отмечена ошибка после прерывания." - -msgid "Aborted transfer would be successful." -msgstr "Передача успешно прервана." +msgid "Warning: cannot open %s directory\n" +msgstr "Внимание: не удалось открыть каталог %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4370,6 +4318,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: ошибка; некуда перейти на аварийный режим" +#, c-format +msgid "%s: failure" +msgstr "%s: ошибка" + +#, c-format +msgid "%s: done." +msgstr "%s: готово." + msgid "ftpfs: storing file" msgstr "ftpfs: запись файла" @@ -4527,6 +4483,52 @@ msgid "sftp: Listing done." msgstr "sftp: Чтение списка файлов завершено." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "shell: Отключение от %s" + +msgid "shell: Waiting for initial line..." +msgstr "shell: Ожидание начальное строки..." + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Извините, не удалось создать авторизованные паролем соединения." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "shell: Требуется пароль для %s" + +msgid "shell: Sending password..." +msgstr "shell: Отправляется пароль..." + +msgid "shell: Sending initial line..." +msgstr "shell: Отправляется начальная строка..." + +msgid "shell: Getting host info..." +msgstr "shell: Получение данных хоста..." + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "shell: Чтение каталога %s..." + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "shell: хранилище %s: отправляется команда..." + +msgid "shell: Local read failed, sending zeros" +msgstr "shell: Локальное чтение не удалось, отправляются нули" + +msgid "shell: storing file" +msgstr "shell: сохранение файла" + +msgid "Aborting transfer..." +msgstr "Прерывание передачи..." + +msgid "Error reported after abort." +msgstr "Отмечена ошибка после прерывания." + +msgid "Aborted transfer would be successful." +msgstr "Передача успешно прервана." + msgid "Inconsistent tar archive" msgstr "Несогласованный архив tar" @@ -4546,9 +4548,11 @@ "%s\n" "doesn't look like a tar archive" msgstr "" +"%s\n" +"не похож на архив tar" msgid "tar: mc_lseek not stopped at a record boundary" -msgstr "" +msgstr "tar: mc_lseek не остановился границе записи" msgid "undelfs: error" msgstr "undelfs: ошибка" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/sk.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/sk.gmo differ diff -Nru mc-4.8.30/po/sk.po mc-4.8.31/po/sk.po --- mc-4.8.30/po/sk.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/sk.po 2024-01-27 08:33:42.000000000 +0000 @@ -15,7 +15,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: hualahyja, 2019\n" "Language-Team: Slovak (http://app.transifex.com/mc/mc/language/sk/)\n" @@ -735,30 +735,13 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KĽÚČ_SLOVO={POPRED},{POZAD},{ATRIB}:KĽÚČ_SLOVO2=...\n" -"\n" -"{POPRED}, {POZAD} a {ATRIB} je možné vynechať a použijú sa predvolené\n" -"\n" -"Kľúčové slová:\n" -" Globálne: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Zobr. súbor.: normal, selected, marked, markselect\n" -" Dialóg. okná: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Menu: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Rolet. menu: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Prehliadač: viewnormal,viewbold, viewunderline, viewselected\n" -" Pomocník: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1625,7 +1608,7 @@ "Používateľsky prívetivý textový editor\n" "napísaný pre Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4135,66 +4118,24 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Upozornenie: nepodarilo sa otvoriť adresár %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Odpája sa z %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Čaká sa na inicializačný riadok..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Ľutujeme, zatiaľ nedokážeme pracovať s autentifikovanými spojeniami." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: %s vyžaduje heslo" - -msgid "fish: Sending password..." -msgstr "fish: Posiela sa heslo..." - -msgid "fish: Sending initial line..." -msgstr "fish: Posiela sa inicializačný riadok..." - -msgid "fish: Handshaking version..." -msgstr "fish: Dohaduje sa verzia..." - -msgid "fish: Getting host info..." -msgstr "fish: Získavajú sa informácie o hostiteľovi" - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Načítava sa adresár %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" -#, c-format -msgid "%s: done." -msgstr "%s: hotovo." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: chyba" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: store %s: posiela sa príkaz..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Miestne čítanie zlyhalo, posielajú sa nuly" - -msgid "fish: storing file" -msgstr "fish: ukladá sa súbor" - -msgid "Aborting transfer..." -msgstr "Prerušuje sa prenos..." - -msgid "Error reported after abort." -msgstr "Chyba hlásená po prerušení." - -msgid "Aborted transfer would be successful." -msgstr "Prerušenie prenosu bolo úspešné." +msgid "Warning: cannot open %s directory\n" +msgstr "Upozornenie: nepodarilo sa otvoriť adresár %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4306,6 +4247,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: chyba; niet kam sa vrátiť" +#, c-format +msgid "%s: failure" +msgstr "%s: chyba" + +#, c-format +msgid "%s: done." +msgstr "%s: hotovo." + msgid "ftpfs: storing file" msgstr "ftpfs: ukladám súbor" @@ -4445,6 +4394,52 @@ msgid "sftp: Listing done." msgstr "sftp: Výpis - hotovo." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Ľutujeme, zatiaľ nedokážeme pracovať s autentifikovanými spojeniami." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Prerušuje sa prenos..." + +msgid "Error reported after abort." +msgstr "Chyba hlásená po prerušení." + +msgid "Aborted transfer would be successful." +msgstr "Prerušenie prenosu bolo úspešné." + msgid "Inconsistent tar archive" msgstr "Poškodený archív .tar" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/sl.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/sl.gmo differ diff -Nru mc-4.8.30/po/sl.po mc-4.8.31/po/sl.po --- mc-4.8.30/po/sl.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/sl.po 2024-01-27 08:33:42.000000000 +0000 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Matej Urbančič <>, 2012\n" "Language-Team: Slovenian (http://app.transifex.com/mc/mc/language/sl/)\n" @@ -716,7 +716,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1552,7 +1553,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3952,68 +3953,25 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Prekinjam povezavo z %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Čakam na inicializacijsko vrstico..." - -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"Oprostite, zaenkrat ne znamo ustvarjati z geslom avtentificiranih povezav." -#, c-format -msgid "fish: Password is required for %s" +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -msgid "fish: Sending password..." -msgstr "fish: Pošiljam geslo..." - -msgid "fish: Sending initial line..." -msgstr "fish: Pošiljam inicializacijsko vrstico..." - -msgid "fish: Handshaking version..." -msgstr "fish: Rovanje različic..." - -msgid "fish: Getting host info..." +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Berem imenik %s..." - -#, c-format -msgid "%s: done." -msgstr "%s: opravljeno." - -#, c-format -msgid "%s: failure" -msgstr "%s: napaka" - -#, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: shranjujem %s: pošiljnam ukaz..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Krajevno branje ni uspelo, pošiljam nule" - -msgid "fish: storing file" +msgid "Warning: cannot open %s directory\n" msgstr "" -msgid "Aborting transfer..." -msgstr "Prekinjam prenos..." - -msgid "Error reported after abort." -msgstr "Napaka sporočena po prekinitvi." - -msgid "Aborted transfer would be successful." -msgstr "Prekinjen prenos bi bil uspešen." - #, c-format msgid "ftpfs: Disconnecting from %s" msgstr "ftpfs: Prekinjam povezavo z %s" @@ -4124,6 +4082,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: spodletel; ni več možnih rešitev" +#, c-format +msgid "%s: failure" +msgstr "%s: napaka" + +#, c-format +msgid "%s: done." +msgstr "%s: opravljeno." + msgid "ftpfs: storing file" msgstr "" @@ -4261,6 +4227,53 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"Oprostite, zaenkrat ne znamo ustvarjati z geslom avtentificiranih povezav." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Prekinjam prenos..." + +msgid "Error reported after abort." +msgstr "Napaka sporočena po prekinitvi." + +msgid "Aborted transfer would be successful." +msgstr "Prekinjen prenos bi bil uspešen." + msgid "Inconsistent tar archive" msgstr "Nekonsistenten tar arhiv" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/sr.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/sr.gmo differ diff -Nru mc-4.8.30/po/sr.po mc-4.8.31/po/sr.po --- mc-4.8.30/po/sr.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/sr.po 2024-01-27 08:33:42.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Slava Zanko , 2011\n" "Language-Team: Serbian (http://app.transifex.com/mc/mc/language/sr/)\n" @@ -722,30 +722,13 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"\n" -"{FORE}, {BACK} и {ATTR} могу да се изоставе, а биће коришћене основности\n" -"\n" -" Кључне речи:\n" -" Опште: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Приказивање датотека: normal, selected, marked, markselect\n" -" Поља прозорчета: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Изборници: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Искачући изборници: pmenunormal, pmenusel, pmenutitle\n" -" Уређивач: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Прегледач: viewnormal,viewbold, viewunderline, viewselected\n" -" Помоћ: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1612,7 +1595,7 @@ "Уређивач текста наклоњен кориснику\n" "написан за Поноћног наредника." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4111,66 +4094,24 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Упозорење: не могу да отворим директоријум „%s“\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Прекидам везу са „%s“" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Чекам почетни ред..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Извините, али за сад не можемо да се повезујемо уз потврду лозинке." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Потребна је лозинка за „%s“" - -msgid "fish: Sending password..." -msgstr "fish: Шаљем лозинку..." - -msgid "fish: Sending initial line..." -msgstr "fish: Шаљем почетни ред..." - -msgid "fish: Handshaking version..." -msgstr "fish: Преговарам о издању..." - -msgid "fish: Getting host info..." -msgstr "fish: Добављам податке о домаћину..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Читам директоријум „%s“..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" -#, c-format -msgid "%s: done." -msgstr "%s: готово." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: неуспех" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: складиште „%s“: шаљем наредбу..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Месно читање није успело, шаљем нуле" - -msgid "fish: storing file" -msgstr "fish: смештам датотеку" - -msgid "Aborting transfer..." -msgstr "Прекидам пренос..." - -msgid "Error reported after abort." -msgstr "Пријављена је грешка после прекида." - -msgid "Aborted transfer would be successful." -msgstr "Прекинути пренос би био успешан." +msgid "Warning: cannot open %s directory\n" +msgstr "Упозорење: не могу да отворим директоријум „%s“\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4282,6 +4223,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: нисам успео; немам решења" +#, c-format +msgid "%s: failure" +msgstr "%s: неуспех" + +#, c-format +msgid "%s: done." +msgstr "%s: готово." + msgid "ftpfs: storing file" msgstr "ftpfs: смештам датотеку" @@ -4421,6 +4370,52 @@ msgid "sftp: Listing done." msgstr "sftp: Исписивање је готово." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Извините, али за сад не можемо да се повезујемо уз потврду лозинке." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Прекидам пренос..." + +msgid "Error reported after abort." +msgstr "Пријављена је грешка после прекида." + +msgid "Aborted transfer would be successful." +msgstr "Прекинути пренос би био успешан." + msgid "Inconsistent tar archive" msgstr "Недоследна тар архива" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/sv.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/sv.gmo differ diff -Nru mc-4.8.30/po/sv.po mc-4.8.31/po/sv.po --- mc-4.8.30/po/sv.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/sv.po 2024-01-27 08:33:42.000000000 +0000 @@ -18,7 +18,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Alexander Kilian , 2022\n" "Language-Team: Swedish (http://app.transifex.com/mc/mc/language/sv/)\n" @@ -740,30 +740,13 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors NYCKELORD={FÖRGR},{BAKGR},{ATTR}:NYCKELORD2=...\n" -"\n" -"Om {FÖRGR}, {BAKGR} eller {ATTR} utelämnas används förinställt värde\n" -"\n" -" Nyckelord:\n" -" Globalt: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Filvisning: normal, selected, marked, markselect\n" -" Dialogrutor: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Menyer: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Popupmenyer: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Textvisare: viewnormal,viewbold, viewunderline, viewselected\n" -" Hjälp: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1630,7 +1613,7 @@ "En användarvänlig texteditor\n" "skriven för Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4135,66 +4118,24 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Varning: Öppning av katalogen %s misslyckades\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Kopplar ned från %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Väntar på första raden..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Kan inte göra lösenords autentiserade anslutningar för närvarande." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: Lösenord krävs för %s" - -msgid "fish: Sending password..." -msgstr "fish: Sänder lösenord..." - -msgid "fish: Sending initial line..." -msgstr "fish: Sänder första raden..." - -msgid "fish: Handshaking version..." -msgstr "fish: Handskakning version..." - -msgid "fish: Getting host info..." -msgstr "fish: Mottar värd-info..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Läser katalog %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" -#, c-format -msgid "%s: done." -msgstr "%s: klar." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: fel" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: lagrar %s: sänder kommando..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Lokal läsning misslyckades, sänder nollor" - -msgid "fish: storing file" -msgstr "fish: sparar fil" - -msgid "Aborting transfer..." -msgstr "Avbryter överföringen..." - -msgid "Error reported after abort." -msgstr "Fel rapporterades efter avslutningen." - -msgid "Aborted transfer would be successful." -msgstr "Avbruten överföring skulle ha varit lyckad." +msgid "Warning: cannot open %s directory\n" +msgstr "Varning: Öppning av katalogen %s misslyckades\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4306,6 +4247,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: misslyckades: det finns ingenstans att falla tillbaka på" +#, c-format +msgid "%s: failure" +msgstr "%s: fel" + +#, c-format +msgid "%s: done." +msgstr "%s: klar." + msgid "ftpfs: storing file" msgstr "ftpfs: sparar fil" @@ -4445,6 +4394,52 @@ msgid "sftp: Listing done." msgstr "sftp: Listning klar." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Kan inte göra lösenords autentiserade anslutningar för närvarande." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Avbryter överföringen..." + +msgid "Error reported after abort." +msgstr "Fel rapporterades efter avslutningen." + +msgid "Aborted transfer would be successful." +msgstr "Avbruten överföring skulle ha varit lyckad." + msgid "Inconsistent tar archive" msgstr "Inkonsistensfel i tararkivet" diff -Nru mc-4.8.30/po/szl.po mc-4.8.31/po/szl.po --- mc-4.8.30/po/szl.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/szl.po 2024-01-27 08:33:42.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Silesian (http://app.transifex.com/mc/mc/language/szl/)\n" @@ -704,7 +704,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1540,7 +1541,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3905,65 +3906,23 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4076,6 +4035,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4209,6 +4176,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff -Nru mc-4.8.30/po/ta.po mc-4.8.31/po/ta.po --- mc-4.8.30/po/ta.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/ta.po 2024-01-27 08:33:42.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Slava Zanko , 2011\n" "Language-Team: Tamil (http://app.transifex.com/mc/mc/language/ta/)\n" @@ -704,7 +704,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1540,7 +1541,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3901,65 +3902,23 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4072,6 +4031,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4205,6 +4172,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" diff -Nru mc-4.8.30/po/te.po mc-4.8.31/po/te.po --- mc-4.8.30/po/te.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/te.po 2024-01-27 08:33:42.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Telugu (http://app.transifex.com/mc/mc/language/te/)\n" @@ -703,7 +703,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1539,7 +1540,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3900,65 +3901,23 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4071,6 +4030,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4204,6 +4171,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/tr.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/tr.gmo differ diff -Nru mc-4.8.30/po/tr.po mc-4.8.31/po/tr.po --- mc-4.8.30/po/tr.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/tr.po 2024-01-27 08:33:42.000000000 +0000 @@ -15,7 +15,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Mehmet Akif 9oglu, 2023\n" "Language-Team: Turkish (http://app.transifex.com/mc/mc/language/tr/)\n" @@ -741,31 +741,13 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"\n" -"{FORE}, {BACK} ve {ATTR} kaldırılabilir, ve varsayılan kullanılacaktır\n" -"\n" -" Keywords:\n" -" Genel: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Dosya görüntüsü: normal, selected, marked, markselect\n" -" İletişim kutucukları: dnormal, dfocus, dhotnormal, dhotfocus, " -"errdhotnormal,\n" -" errdhotfocus\n" -" Menüler: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Açılır pencere menüleri: pmenunormal, pmenusel, pmenutitle\n" -" Düzenleyici: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Görüntüleyici: viewnormal,viewbold, viewunderline, viewselected\n" -" Yardım: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1636,8 +1618,8 @@ "Kullanıcı dostu bir metin düzenleyici\n" "Midnight Commander için yazıldı" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" -msgstr "Telif Hakkı (C) 1996-2023 Özgür Yazılım Vakfı" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" +msgstr "" msgid "About" msgstr "Hakkında" @@ -4141,67 +4123,24 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Uyarı: %s dizini açılamadı\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: %s bağlantısı kapanıyor" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Kendi satırı için bekliyor..." - -msgid "Sorry, we cannot do password authenticated connections for now." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -"Üzgünüm, şimdilik parola ile kimlik bildirimi yapılan bağlantılar yapılamıyor" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: %s için parola gerekli" - -msgid "fish: Sending password..." -msgstr "fish: Parola gönderimi..." - -msgid "fish: Sending initial line..." -msgstr "fish: Satır gönderimi..." -msgid "fish: Handshaking version..." -msgstr "fish: Sürüm anlaşması..." - -msgid "fish: Getting host info..." -msgstr "fish: İstemci bilgisi alınıyor" - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: %s dizini okunuyor..." - -#, c-format -msgid "%s: done." -msgstr "%s: bitti." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: başarısız" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: %s kaydet: komut gönderiliyor..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Yerel okuma başarısız, sıfırlar gönderiliyor" - -msgid "fish: storing file" -msgstr "fish: dosya saklama" - -msgid "Aborting transfer..." -msgstr "Aktarım durduruluyor..." - -msgid "Error reported after abort." -msgstr "Durdurma sonra hata raporlandı." - -msgid "Aborted transfer would be successful." -msgstr "Aktarımın durdurulması başarıldı." +msgid "Warning: cannot open %s directory\n" +msgstr "Uyarı: %s dizini açılamadı\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4313,6 +4252,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: başarısız; son çare yok" +#, c-format +msgid "%s: failure" +msgstr "%s: başarısız" + +#, c-format +msgid "%s: done." +msgstr "%s: bitti." + msgid "ftpfs: storing file" msgstr "ftpfs: dosya saklama" @@ -4452,6 +4399,53 @@ msgid "sftp: Listing done." msgstr "sftp: Listeleme yapıldı." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" +"Üzgünüm, şimdilik parola ile kimlik bildirimi yapılan bağlantılar yapılamıyor" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Aktarım durduruluyor..." + +msgid "Error reported after abort." +msgstr "Durdurma sonra hata raporlandı." + +msgid "Aborted transfer would be successful." +msgstr "Aktarımın durdurulması başarıldı." + msgid "Inconsistent tar archive" msgstr "Tar arşivi düzgün değil" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/uk.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/uk.gmo differ diff -Nru mc-4.8.30/po/uk.po mc-4.8.31/po/uk.po --- mc-4.8.30/po/uk.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/uk.po 2024-01-27 08:33:42.000000000 +0000 @@ -19,7 +19,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Rostyslav Haitkulov , 2023\n" "Language-Team: Ukrainian (http://app.transifex.com/mc/mc/language/uk/)\n" @@ -750,31 +750,13 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors КЛЮЧ={ТЕКСТ},{ФОН},{АТРИБУТ}:KEYWORD2=...\n" -"\n" -"{ТЕКСТ}, {ФОН} та {АТРИБУТ} можна не вказувати, в такому випадку будуть " -"використовуватись стандартні значення\n" -"\n" -"Ключі :\n" -" Глобальні: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -" Відображення файлів: normal, selected, marked, markselect\n" -" Діалогові вікна: dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal,\n" -" errdhotfocus\n" -" Меню: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -" Контекстні меню: pmenunormal, pmenusel, pmenutitle\n" -" Редактор: editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -" Переглядач: viewnormal,viewbold, viewunderline, viewselected\n" -" Довідка: helpnormal, helpitalic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1641,7 +1623,7 @@ "Дружній до користувача редактор тексту\n" "написаний для Midnight Commander." -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4172,66 +4154,24 @@ "Віртуальна файлова система EXTFS:\n" "%s" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "Попередження: не вдалося відкрити каталог %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: триває від’єднання від %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: очікується початковий рядок…" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Зараз немає змоги створювати з’єднання, авторизовані паролем." - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: вимагається пароль для %s" - -msgid "fish: Sending password..." -msgstr "fish: триває надсилання пароля…" - -msgid "fish: Sending initial line..." -msgstr "fish: триває надсилання початкового рядка…" - -msgid "fish: Handshaking version..." -msgstr "fish: тривають переговори про версію…" - -msgid "fish: Getting host info..." -msgstr "fish: триває отримання відомостей про вузол…" - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: триває читання каталога %s…" +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" -#, c-format -msgid "%s: done." -msgstr "%s: завершено." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: сталася помилка" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: запис %s: триває надсилання команди…" - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: сталася помилка локального читання, надсилаються нулі" - -msgid "fish: storing file" -msgstr "fish: триває зберігання файлу" - -msgid "Aborting transfer..." -msgstr "Триває переривання перенесення…" - -msgid "Error reported after abort." -msgstr "Сталася помилка після переривання." - -msgid "Aborted transfer would be successful." -msgstr "Перерване перенесення могло завершитися успішно." +msgid "Warning: cannot open %s directory\n" +msgstr "Попередження: не вдалося відкрити каталог %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4343,6 +4283,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: сталася помилка; нікуди перейти на аварійний режим" +#, c-format +msgid "%s: failure" +msgstr "%s: сталася помилка" + +#, c-format +msgid "%s: done." +msgstr "%s: завершено." + msgid "ftpfs: storing file" msgstr "ftpfs: триває зберігання файлу" @@ -4502,6 +4450,52 @@ msgid "sftp: Listing done." msgstr "sftp: Створення списку завершено." +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Зараз немає змоги створювати з’єднання, авторизовані паролем." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Триває переривання перенесення…" + +msgid "Error reported after abort." +msgstr "Сталася помилка після переривання." + +msgid "Aborted transfer would be successful." +msgstr "Перерване перенесення могло завершитися успішно." + msgid "Inconsistent tar archive" msgstr "Виявлено неузгоджений архів tar" diff -Nru mc-4.8.30/po/uz.po mc-4.8.31/po/uz.po --- mc-4.8.30/po/uz.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/uz.po 2024-01-27 08:33:42.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Uzbek (http://app.transifex.com/mc/mc/language/uz/)\n" @@ -703,7 +703,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1539,7 +1540,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3896,65 +3897,23 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "" - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." -msgstr "" - -msgid "fish: Getting host info..." -msgstr "" - -#, c-format -msgid "fish: Reading directory %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "%s: failure" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4067,6 +4026,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4200,6 +4167,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/vi.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/vi.gmo differ diff -Nru mc-4.8.30/po/vi.po mc-4.8.31/po/vi.po --- mc-4.8.30/po/vi.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/vi.po 2024-01-27 08:33:42.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Slava Zanko , 2011\n" "Language-Team: Vietnamese (http://app.transifex.com/mc/mc/language/vi/)\n" @@ -706,7 +706,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1542,7 +1543,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3930,67 +3931,25 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Ngừng kết nối từ %s" - -msgid "fish: Waiting for initial line..." -msgstr "fish: Đang chời dòng đầu tiên..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "Xin lỗi, bây giờ không thể tạo kết nối xác thực theo mật khẩu." - -#, c-format -msgid "fish: Password is required for %s" +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -msgid "fish: Sending password..." -msgstr "fish: Đang gửi mật khẩu..." - -msgid "fish: Sending initial line..." -msgstr "fish: Đang gửi dòng đầu tiên..." - -msgid "fish: Handshaking version..." -msgstr "fish: Đang xác nhận phiên bản..." - -msgid "fish: Getting host info..." +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Đọc thư mục %s..." - -#, c-format -msgid "%s: done." -msgstr "%s: xong." - -#, c-format -msgid "%s: failure" -msgstr "%s: lỗi" - -#, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: bản ghi %s: đang gửi câu lệnh..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: Lỗi đọc nội bộ, đang gửi các số không" - -msgid "fish: storing file" +msgid "Warning: cannot open %s directory\n" msgstr "" -msgid "Aborting transfer..." -msgstr "Dừng truyền tải..." - -msgid "Error reported after abort." -msgstr "Có lỗi báo cáo sau khi dừng." - -msgid "Aborted transfer would be successful." -msgstr "Dừng truyền tải thành công." - #, c-format msgid "ftpfs: Disconnecting from %s" msgstr "ftpfs: Ngắt kết nối từ %s" @@ -4101,6 +4060,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: lỗi; không có nơi nào để quay lại về" +#, c-format +msgid "%s: failure" +msgstr "%s: lỗi" + +#, c-format +msgid "%s: done." +msgstr "%s: xong." + msgid "ftpfs: storing file" msgstr "" @@ -4238,6 +4205,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "Xin lỗi, bây giờ không thể tạo kết nối xác thực theo mật khẩu." + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "Dừng truyền tải..." + +msgid "Error reported after abort." +msgstr "Có lỗi báo cáo sau khi dừng." + +msgid "Aborted transfer would be successful." +msgstr "Dừng truyền tải thành công." + msgid "Inconsistent tar archive" msgstr "Tập tin tar không thích hợp" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/wa.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/wa.gmo differ diff -Nru mc-4.8.30/po/wa.po mc-4.8.31/po/wa.po --- mc-4.8.30/po/wa.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/wa.po 2024-01-27 08:33:42.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Slava Zanko , 2011\n" "Language-Team: Walloon (http://app.transifex.com/mc/mc/language/wa/)\n" @@ -704,7 +704,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1540,7 +1541,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3923,65 +3924,23 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: Dji m' disraloye di %s" - -msgid "fish: Waiting for initial line..." -msgstr "" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "" - -msgid "fish: Sending password..." -msgstr "fish: dj' evoye li scret di l' ûzeu..." - -msgid "fish: Sending initial line..." -msgstr "" - -msgid "fish: Handshaking version..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" msgstr "" -msgid "fish: Getting host info..." +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" msgstr "" -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: Dji lé li ridant FTP %s..." - -#, c-format -msgid "%s: done." +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" msgstr "" #, c-format -msgid "%s: failure" -msgstr "%s: berwete" - -#, c-format -msgid "fish: store %s: sending command..." -msgstr "" - -msgid "fish: Local read failed, sending zeros" -msgstr "" - -msgid "fish: storing file" -msgstr "" - -msgid "Aborting transfer..." -msgstr "" - -msgid "Error reported after abort." -msgstr "" - -msgid "Aborted transfer would be successful." +msgid "Warning: cannot open %s directory\n" msgstr "" #, c-format @@ -4094,6 +4053,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "" +#, c-format +msgid "%s: failure" +msgstr "%s: berwete" + +#, c-format +msgid "%s: done." +msgstr "" + msgid "ftpfs: storing file" msgstr "" @@ -4227,6 +4194,52 @@ msgid "sftp: Listing done." msgstr "" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "" + +msgid "Error reported after abort." +msgstr "" + +msgid "Aborted transfer would be successful." +msgstr "" + msgid "Inconsistent tar archive" msgstr "" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/zh_CN.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/zh_CN.gmo differ diff -Nru mc-4.8.30/po/zh_CN.po mc-4.8.31/po/zh_CN.po --- mc-4.8.30/po/zh_CN.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/zh_CN.po 2024-01-27 08:33:42.000000000 +0000 @@ -18,7 +18,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Gurbuzguven <6mehmet6@gmail.com>, 2021\n" "Language-Team: Chinese (China) (http://app.transifex.com/mc/mc/language/" @@ -736,30 +736,13 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" " Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n" msgstr "" -"--colors KEYWORD={FORE},{BACK},{ATTR}:KEYWORD2=...\n" -"\n" -"{FORE}, {BACK} 及 {ATTR} 可以省略,省略时使用默认值\n" -"\n" -"关键词: \n" -"全局: errors, disabled, reverse, gauge, header\n" -" input, inputmark, inputunchanged, commandlinemark\n" -" bbarhotkey, bbarbutton, statusbar\n" -"文件显示: normal, selected, marked, markselect\n" -"对话框窗口:dnormal, dfocus, dhotnormal, dhotfocus, errdhotnormal, " -"errdhotfocus\n" -"菜单: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" -"弹出菜单:pmenunormal, pmenusel, pmenutitle\n" -"编辑器:editnormal, editbold, editmarked, editwhitespace,\n" -" editlinestate, editbg, editframe, editframeactive\n" -" editframedrag\n" -"查看器:viewbold, viewunderline, viewselected\n" -"帮助:helpnormal, helpi talic, helpbold, helplink, helpslink\n" #. TRANSLATORS: don't translate color names and attributes msgid "" @@ -1625,7 +1608,7 @@ "为 Midnight Commander 编写的\n" "一个界面友好的文本编辑器。" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -4122,66 +4105,24 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "警告: 无法打开目录 %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: 正在从 %s 断开连接" - -msgid "fish: Waiting for initial line..." -msgstr "fish: 正在等待初始化行..." - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "抱歉,目前无法建立密码验证的连接。" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: %s 需要密码" - -msgid "fish: Sending password..." -msgstr "fish: 正在发送密码..." - -msgid "fish: Sending initial line..." -msgstr "fish: 正在发送初始化行..." - -msgid "fish: Handshaking version..." -msgstr "fish: 正在握手,协商版本..." - -msgid "fish: Getting host info..." -msgstr "fish: 正在获取主机信息..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish: 正在读取目录 %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" -#, c-format -msgid "%s: done." -msgstr "%s: 完成。" +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: 失败" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: 保存 %s: 正在发送命令..." - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: 本地读取失败,正在发送零" - -msgid "fish: storing file" -msgstr "fish: 正在保存文件" - -msgid "Aborting transfer..." -msgstr "正在中止传输..." - -msgid "Error reported after abort." -msgstr "中止后发生错误。" - -msgid "Aborted transfer would be successful." -msgstr "被中止的传输可能成功完成了。" +msgid "Warning: cannot open %s directory\n" +msgstr "警告: 无法打开目录 %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4293,6 +4234,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: 失败;没有后备" +#, c-format +msgid "%s: failure" +msgstr "%s: 失败" + +#, c-format +msgid "%s: done." +msgstr "%s: 完成。" + msgid "ftpfs: storing file" msgstr "ftpfs: 保存文件中" @@ -4432,6 +4381,52 @@ msgid "sftp: Listing done." msgstr "sftp: 列出完毕。" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "抱歉,目前无法建立密码验证的连接。" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "正在中止传输..." + +msgid "Error reported after abort." +msgstr "中止后发生错误。" + +msgid "Aborted transfer would be successful." +msgstr "被中止的传输可能成功完成了。" + msgid "Inconsistent tar archive" msgstr "不完整的 tar 档案文件" Binary files /tmp/tmpcx1pni69/4xCe8rUPeS/mc-4.8.30/po/zh_TW.gmo and /tmp/tmpcx1pni69/RH71agbTHH/mc-4.8.31/po/zh_TW.gmo differ diff -Nru mc-4.8.30/po/zh_TW.po mc-4.8.31/po/zh_TW.po --- mc-4.8.30/po/zh_TW.po 2023-08-13 19:07:38.000000000 +0000 +++ mc-4.8.31/po/zh_TW.po 2024-01-27 08:33:42.000000000 +0000 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: Midnight Commander\n" "Report-Msgid-Bugs-To: https://www.midnight-commander.org/\n" -"POT-Creation-Date: 2023-08-13 21:07+0200\n" +"POT-Creation-Date: 2024-01-27 09:33+0100\n" "PO-Revision-Date: 2010-12-29 10:19+0000\n" "Last-Translator: Meng Pang Wang, 2023\n" "Language-Team: Chinese (Taiwan) (http://app.transifex.com/mc/mc/language/" @@ -724,7 +724,8 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" -" Editor: editnormal, editbold, editmarked, editwhitespace,\n" +" Editor: editnormal, editbold, editmarked, editwhitespace, " +"editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" @@ -1569,7 +1570,7 @@ "written for the Midnight Commander." msgstr "" -msgid "Copyright (C) 1996-2023 the Free Software Foundation" +msgid "Copyright (C) 1996-2024 the Free Software Foundation" msgstr "" msgid "About" @@ -3985,66 +3986,24 @@ "%s" msgstr "" -#, c-format -msgid "Warning: cannot open %s directory\n" -msgstr "警告:無法開啟目錄 %s\n" - -#, c-format -msgid "fish: Disconnecting from %s" -msgstr "fish: 結束至 %s 的連線" - -msgid "fish: Waiting for initial line..." -msgstr "fish: 等待起始化訊息" - -msgid "Sorry, we cannot do password authenticated connections for now." -msgstr "不好意思,目前無法進行經過密碼認證的連線。" - -#, c-format -msgid "fish: Password is required for %s" -msgstr "fish: %s 要求輸入密碼" - -msgid "fish: Sending password..." -msgstr "fish: 正在送出登入密碼" - -msgid "fish: Sending initial line..." -msgstr "fish: 送出起始化訊息" - -msgid "fish: Handshaking version..." -msgstr "fish: 交握版本" - -msgid "fish: Getting host info..." -msgstr "fish: 取得主機資訊..." - -#, c-format -msgid "fish: Reading directory %s..." -msgstr "fish:正在讀取目錄 %s..." +msgid "" +"EXTFS virtual file system:\n" +"wrong file name" +msgstr "" -#, c-format -msgid "%s: done." -msgstr "%s: 完成。" +msgid "" +"EXTFS virtual file system:\n" +"wrong archive name" +msgstr "" -#, c-format -msgid "%s: failure" -msgstr "%s: 失敗" +msgid "" +"EXTFS virtual file system:\n" +"cannot build command" +msgstr "" #, c-format -msgid "fish: store %s: sending command..." -msgstr "fish: 儲存%s: 送出命令" - -msgid "fish: Local read failed, sending zeros" -msgstr "fish: 本地端讀取錯誤, 沒有送出" - -msgid "fish: storing file" -msgstr "fish: 儲存檔案" - -msgid "Aborting transfer..." -msgstr "放棄傳輸...." - -msgid "Error reported after abort." -msgstr "放棄後回報錯誤" - -msgid "Aborted transfer would be successful." -msgstr "將成功放棄傳輸" +msgid "Warning: cannot open %s directory\n" +msgstr "警告:無法開啟目錄 %s\n" #, c-format msgid "ftpfs: Disconnecting from %s" @@ -4156,6 +4115,14 @@ msgid "ftpfs: failed; nowhere to fallback to" msgstr "ftpfs: 失敗; 無法轉移到其它目錄" +#, c-format +msgid "%s: failure" +msgstr "%s: 失敗" + +#, c-format +msgid "%s: done." +msgstr "%s: 完成。" + msgid "ftpfs: storing file" msgstr "ftpfs: 儲存檔案" @@ -4293,6 +4260,52 @@ msgid "sftp: Listing done." msgstr "sftp: 列表完成。" +#, c-format +msgid "shell: Disconnecting from %s" +msgstr "" + +msgid "shell: Waiting for initial line..." +msgstr "" + +msgid "Sorry, we cannot do password authenticated connections for now." +msgstr "不好意思,目前無法進行經過密碼認證的連線。" + +#, c-format +msgid "shell: Password is required for %s" +msgstr "" + +msgid "shell: Sending password..." +msgstr "" + +msgid "shell: Sending initial line..." +msgstr "" + +msgid "shell: Getting host info..." +msgstr "" + +#, c-format +msgid "shell: Reading directory %s..." +msgstr "" + +#, c-format +msgid "shell: store %s: sending command..." +msgstr "" + +msgid "shell: Local read failed, sending zeros" +msgstr "" + +msgid "shell: storing file" +msgstr "" + +msgid "Aborting transfer..." +msgstr "放棄傳輸...." + +msgid "Error reported after abort." +msgstr "放棄後回報錯誤" + +msgid "Aborted transfer would be successful." +msgstr "將成功放棄傳輸" + msgid "Inconsistent tar archive" msgstr "不完整的 tar 檔案集" diff -Nru mc-4.8.30/src/Makefile.in mc-4.8.31/src/Makefile.in --- mc-4.8.30/src/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/src/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -148,7 +148,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/src/args.c mc-4.8.31/src/args.c --- mc-4.8.30/src/args.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/args.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Handle command line arguments. - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: @@ -345,7 +345,7 @@ " errdhotfocus\n" " Menus: menunormal, menuhot, menusel, menuhotsel, menuinactive\n" " Popup menus: pmenunormal, pmenusel, pmenutitle\n" - " Editor: editnormal, editbold, editmarked, editwhitespace,\n" + " Editor: editnormal, editbold, editmarked, editwhitespace, editnonprintable,\n" " editlinestate, editbg, editframe, editframeactive\n" " editframedrag\n" " Viewer: viewnormal,viewbold, viewunderline, viewselected\n" diff -Nru mc-4.8.30/src/background.c mc-4.8.31/src/background.c --- mc-4.8.30/src/background.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/background.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ /* Background support. - Copyright (C) 1996-2023 + Copyright (C) 1996-2024 Free Software Foundation, Inc. Written by: @@ -553,7 +553,10 @@ { int nullfd; + (void) close (comm[0]); parent_fd = comm[1]; + + (void) close (back_comm[1]); from_parent_fd = back_comm[0]; mc_global.we_are_background = TRUE; @@ -580,6 +583,8 @@ } else { + (void) close (comm[1]); + (void) close (back_comm[0]); ctx->pid = pid; register_task_running (ctx, pid, comm[0], back_comm[1], info); return 1; diff -Nru mc-4.8.30/src/clipboard.c mc-4.8.31/src/clipboard.c --- mc-4.8.30/src/clipboard.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/clipboard.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Util for external clipboard. - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/cons.handler.c mc-4.8.31/src/cons.handler.c --- mc-4.8.30/src/cons.handler.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/cons.handler.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Client interface for General purpose Linux console save/restore server - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff -Nru mc-4.8.30/src/consaver/Makefile.in mc-4.8.31/src/consaver/Makefile.in --- mc-4.8.30/src/consaver/Makefile.in 2023-08-13 19:07:02.000000000 +0000 +++ mc-4.8.31/src/consaver/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/src/consaver/cons.saver.c mc-4.8.31/src/consaver/cons.saver.c --- mc-4.8.30/src/consaver/cons.saver.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/consaver/cons.saver.c 2024-01-20 19:34:38.000000000 +0000 @@ -11,7 +11,7 @@ Partly rewritten by Jakub Jelinek . - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff -Nru mc-4.8.30/src/diffviewer/Makefile.in mc-4.8.31/src/diffviewer/Makefile.in --- mc-4.8.30/src/diffviewer/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/src/diffviewer/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/src/diffviewer/internal.h mc-4.8.31/src/diffviewer/internal.h --- mc-4.8.30/src/diffviewer/internal.h 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/diffviewer/internal.h 2024-01-20 19:34:38.000000000 +0000 @@ -108,7 +108,7 @@ gboolean new_frame; int skip_rows; int skip_cols; - int display_symbols; + gboolean display_symbols; int display_numbers; gboolean show_cr; int tab_size; diff -Nru mc-4.8.30/src/diffviewer/search.c mc-4.8.31/src/diffviewer/search.c --- mc-4.8.30/src/diffviewer/search.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/diffviewer/search.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Search functions for diffviewer. - Copyright (C) 2010-2023 + Copyright (C) 2010-2024 Free Software Foundation, Inc. Written by: @@ -85,7 +85,8 @@ quick_widget_t quick_widgets[] = { /* *INDENT-OFF* */ QUICK_LABELED_INPUT (N_("Enter search string:"), input_label_above, INPUT_LAST_TEXT, - MC_HISTORY_SHARED_SEARCH, &exp, NULL, FALSE, FALSE, INPUT_COMPLETE_NONE), + MC_HISTORY_SHARED_SEARCH, &exp, NULL, FALSE, FALSE, + INPUT_COMPLETE_NONE), QUICK_SEPARATOR (TRUE), QUICK_START_COLUMNS, QUICK_RADIO (num_of_types, (const char **) list_of_types, diff -Nru mc-4.8.30/src/diffviewer/ydiff.c mc-4.8.31/src/diffviewer/ydiff.c --- mc-4.8.30/src/diffviewer/ydiff.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/diffviewer/ydiff.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* File difference viewer - Copyright (C) 2007-2023 + Copyright (C) 2007-2024 Free Software Foundation, Inc. Written by: @@ -71,19 +71,6 @@ /*** file scope macro definitions ****************************************************************/ -#define g_array_foreach(a, TP, cbf) \ -do { \ - size_t g_array_foreach_i;\ - \ - for (g_array_foreach_i = 0; g_array_foreach_i < a->len; g_array_foreach_i++) \ - { \ - TP *g_array_foreach_var; \ - \ - g_array_foreach_var = &g_array_index (a, TP, g_array_foreach_i); \ - (*cbf) (g_array_foreach_var); \ - } \ -} while (0) - #define FILE_READ_BUF 4096 #define FILE_FLAG_TEMP (1 << 0) @@ -131,6 +118,23 @@ /* --------------------------------------------------------------------------------------------- */ +/** + * Fill buffer by spaces + * + * @param buf buffer + * @param n number of spaces + * @param zero_terminate add a nul after @n spaces + */ +static void +fill_by_space (char *buf, size_t n, gboolean zero_terminate) +{ + memset (buf, ' ', n); + if (zero_terminate) + buf[n] = '\0'; +} + +/* --------------------------------------------------------------------------------------------- */ + static gboolean rewrite_backup_content (const vfs_path_t * from_file_name_vpath, const char *to_file_name) { @@ -196,7 +200,7 @@ */ static FBUF * -f_dopen (int fd) +dview_fdopen (int fd) { FBUF *fs; @@ -232,11 +236,11 @@ */ static int -f_free (FBUF * fs) +dview_ffree (FBUF * fs) { int rv = 0; - if (fs->flags & FILE_FLAG_TEMP) + if ((fs->flags & FILE_FLAG_TEMP) != 0) { rv = unlink (fs->data); g_free (fs->data); @@ -255,19 +259,19 @@ * @return file structure */ static FBUF * -f_temp (void) +dview_ftemp (void) { int fd; FBUF *fs; - fs = f_dopen (0); + fs = dview_fdopen (0); if (fs == NULL) return NULL; fd = open_temp (&fs->data); if (fd < 0) { - f_free (fs); + dview_ffree (fs); return NULL; } @@ -288,19 +292,19 @@ */ static FBUF * -f_open (const char *filename, int flags) +dview_fopen (const char *filename, int flags) { int fd; FBUF *fs; - fs = f_dopen (0); + fs = dview_fdopen (0); if (fs == NULL) return NULL; fd = open (filename, flags); if (fd < 0) { - f_free (fs); + dview_ffree (fs); return NULL; } @@ -323,20 +327,20 @@ */ static size_t -f_gets (char *buf, size_t size, FBUF * fs) +dview_fgets (char *buf, size_t size, FBUF * fs) { size_t j = 0; do { int i; - int stop = 0; + gboolean stop = FALSE; for (i = fs->pos; j < size && i < fs->len && !stop; i++, j++) { buf[j] = fs->buf[i]; if (buf[j] == '\n') - stop = 1; + stop = TRUE; } fs->pos = i; @@ -365,11 +369,11 @@ */ static off_t -f_seek (FBUF * fs, off_t off, int whence) +dview_fseek (FBUF * fs, off_t off, int whence) { off_t rv; - if (fs->len && whence != SEEK_END) + if (fs->len != 0 && whence != SEEK_END) { rv = lseek (fs->fd, 0, SEEK_CUR); if (rv != -1) @@ -404,7 +408,7 @@ */ static off_t -f_reset (FBUF * fs) +dview_freset (FBUF * fs) { off_t rv; @@ -428,7 +432,7 @@ */ static ssize_t -f_write (FBUF * fs, const char *buf, size_t size) +dview_fwrite (FBUF * fs, const char *buf, size_t size) { ssize_t rv; @@ -450,7 +454,7 @@ */ static off_t -f_trunc (FBUF * fs) +dview_ftrunc (FBUF * fs) { off_t off; @@ -479,14 +483,14 @@ */ static int -f_close (FBUF * fs) +dview_fclose (FBUF * fs) { int rv = -1; if (fs != NULL) { rv = close (fs->fd); - f_free (fs); + dview_ffree (fs); } return rv; @@ -504,7 +508,7 @@ */ static FBUF * -p_open (const char *cmd, int flags) +dview_popen (const char *cmd, int flags) { FILE *f; FBUF *fs; @@ -518,14 +522,14 @@ if (type == NULL) return NULL; - fs = f_dopen (0); + fs = dview_fdopen (0); if (fs == NULL) return NULL; f = popen (cmd, type); if (f == NULL) { - f_free (fs); + dview_ffree (fs); return NULL; } @@ -544,14 +548,14 @@ */ static int -p_close (FBUF * fs) +dview_pclose (FBUF * fs) { int rv = -1; if (fs != NULL) { rv = pclose (fs->data); - f_free (fs); + dview_ffree (fs); } return rv; @@ -694,7 +698,7 @@ int f1, f2; int t1, t2; int cmd; - int range; + gboolean range = FALSE; /* handle the following cases: * NUMaNUM[,NUM] @@ -707,20 +711,19 @@ return -1; f2 = f1; - range = 0; if (*p == ',') { p++; if (scan_deci (&p, &f2) != 0 || f2 < f1) return -1; - range = 1; + range = TRUE; } cmd = *p++; if (cmd == 'a') { - if (range != 0) + if (range) return -1; } else if (cmd != 'c' && cmd != 'd') @@ -730,17 +733,17 @@ return -1; t2 = t1; - range = 0; + range = FALSE; if (*p == ',') { p++; if (scan_deci (&p, &t2) != 0 || t2 < t1) return -1; - range = 1; + range = TRUE; } - if (cmd == 'd' && range != 0) + if (cmd == 'd' && range) return -1; op.a[0][0] = f1; @@ -768,7 +771,7 @@ int sz; char buf[BUFSIZ]; - while ((sz = f_gets (buf, sizeof (buf) - 1, f)) != 0) + while ((sz = dview_fgets (buf, sizeof (buf) - 1, f)) != 0) { if (isdigit (buf[0])) { @@ -778,12 +781,10 @@ buf[sz] = '\0'; if (scan_line (buf, ops) != 0) return -1; - - continue; } - - while (buf[sz - 1] != '\n' && (sz = f_gets (buf, sizeof (buf), f)) != 0) - ; + else + while (buf[sz - 1] != '\n' && (sz = dview_fgets (buf, sizeof (buf), f)) != 0) + ; } return ops->len; @@ -829,14 +830,14 @@ if (cmd == NULL) return -1; - f = p_open (cmd, O_RDONLY); + f = dview_popen (cmd, O_RDONLY); g_free (cmd); if (f == NULL) return -1; rv = scan_diff (f, ops); - code = p_close (f); + code = dview_pclose (f); if (rv < 0 || code == -1 || !WIFEXITED (code) || WEXITSTATUS (code) == 2) rv = -1; @@ -846,6 +847,38 @@ /* --------------------------------------------------------------------------------------------- */ +static gboolean +printer_for (char ch, DFUNC printer, void *ctx, FBUF * f, int *line, off_t * off) +{ + size_t sz; + char buf[BUFSIZ]; + + sz = dview_fgets (buf, sizeof (buf), f); + if (sz == 0) + return FALSE; + + (*line)++; + printer (ctx, ch, *line, *off, sz, buf); + *off += sz; + + while (buf[sz - 1] != '\n') + { + sz = dview_fgets (buf, sizeof (buf), f); + if (sz == 0) + { + printer (ctx, 0, 0, 0, 1, "\n"); + break; + } + + printer (ctx, 0, 0, 0, sz, buf); + *off += sz; + } + + return TRUE; +} + +/* --------------------------------------------------------------------------------------------- */ + /** * Reparse and display file according to diff statements. * @@ -863,29 +896,30 @@ { size_t i; FBUF *f; - size_t sz; - char buf[BUFSIZ]; int line = 0; off_t off = 0; const DIFFCMD *op; diff_place_t eff; - int add_cmd; - int del_cmd; + int add_cmd, del_cmd; - f = f_open (filename, O_RDONLY); + f = dview_fopen (filename, O_RDONLY); if (f == NULL) return -1; - ord &= 1; + if (ord != DIFF_LEFT) + ord = DIFF_RIGHT; eff = ord; - add_cmd = 'a'; - del_cmd = 'd'; - if (ord != 0) + if (ord != DIFF_LEFT) { add_cmd = 'd'; del_cmd = 'a'; } + else + { + add_cmd = 'a'; + del_cmd = 'd'; + } #define F1 a[eff][0] #define F2 a[eff][1] #define T1 a[ ord^1 ][0] @@ -895,60 +929,26 @@ int n; op = &g_array_index (ops, DIFFCMD, i); - n = op->F1 - (op->cmd != add_cmd); - while (line < n && (sz = f_gets (buf, sizeof (buf), f)) != 0) - { - line++; - printer (ctx, EQU_CH, line, off, sz, buf); - off += sz; - while (buf[sz - 1] != '\n') - { - sz = f_gets (buf, sizeof (buf), f); - if (sz == 0) - { - printer (ctx, 0, 0, 0, 1, "\n"); - break; - } - printer (ctx, 0, 0, 0, sz, buf); - off += sz; - } - } + n = op->F1; + if (op->cmd != add_cmd) + n--; + + while (line < n && printer_for (EQU_CH, printer, ctx, f, &line, &off)) + ; if (line != n) goto err; if (op->cmd == add_cmd) - { - n = op->T2 - op->T1 + 1; - while (n != 0) - { + for (n = op->T2 - op->T1 + 1; n != 0; n--) printer (ctx, DEL_CH, 0, 0, 1, "\n"); - n--; - } - } if (op->cmd == del_cmd) { - n = op->F2 - op->F1 + 1; - while (n != 0 && (sz = f_gets (buf, sizeof (buf), f)) != 0) - { - line++; - printer (ctx, ADD_CH, line, off, sz, buf); - off += sz; - while (buf[sz - 1] != '\n') - { - sz = f_gets (buf, sizeof (buf), f); - if (sz == 0) - { - printer (ctx, 0, 0, 0, 1, "\n"); - break; - } - printer (ctx, 0, 0, 0, sz, buf); - off += sz; - } - n--; - } + for (n = op->F2 - op->F1 + 1; + n != 0 && printer_for (ADD_CH, printer, ctx, f, &line, &off); n--) + ; if (n != 0) goto err; @@ -956,35 +956,15 @@ if (op->cmd == 'c') { - n = op->F2 - op->F1 + 1; - while (n != 0 && (sz = f_gets (buf, sizeof (buf), f)) != 0) - { - line++; - printer (ctx, CHG_CH, line, off, sz, buf); - off += sz; - while (buf[sz - 1] != '\n') - { - sz = f_gets (buf, sizeof (buf), f); - if (sz == 0) - { - printer (ctx, 0, 0, 0, 1, "\n"); - break; - } - printer (ctx, 0, 0, 0, sz, buf); - off += sz; - } - n--; - } + for (n = op->F2 - op->F1 + 1; + n != 0 && printer_for (CHG_CH, printer, ctx, f, &line, &off); n--) + ; if (n != 0) goto err; - n = op->T2 - op->T1 - (op->F2 - op->F1); - while (n > 0) - { + for (n = op->T2 - op->T1 - (op->F2 - op->F1); n > 0; n--) printer (ctx, CHG_CH, 0, 0, 1, "\n"); - n--; - } } } #undef T2 @@ -992,29 +972,14 @@ #undef F2 #undef F1 - while ((sz = f_gets (buf, sizeof (buf), f)) != 0) - { - line++; - printer (ctx, EQU_CH, line, off, sz, buf); - off += sz; - while (buf[sz - 1] != '\n') - { - sz = f_gets (buf, sizeof (buf), f); - if (sz == 0) - { - printer (ctx, 0, 0, 0, 1, "\n"); - break; - } - printer (ctx, 0, 0, 0, sz, buf); - off += sz; - } - } + while (printer_for (EQU_CH, printer, ctx, f, &line, &off)) + ; - f_close (f); + dview_fclose (f); return 0; err: - f_close (f); + dview_fclose (f); return -1; } @@ -1145,8 +1110,6 @@ int len; ret = g_array_new (FALSE, TRUE, sizeof (PAIR)); - if (ret == NULL) - return FALSE; len = lcsubstr (s + bracket[DIFF_LEFT].off, bracket[DIFF_LEFT].len, t + bracket[DIFF_RIGHT].off, bracket[DIFF_RIGHT].len, ret, min); @@ -1295,9 +1258,8 @@ j = TAB_SKIP (ts, i + base); i += j - 1; - while (j-- > 0) - *dst++ = ' '; - dst--; + fill_by_space (dst, j, FALSE); + dst += j - 1; } } return i + base; @@ -1339,9 +1301,8 @@ if (j > dstsize - i) j = dstsize - i; i += j - 1; - while (j-- > 0) - *dst++ = ' '; - dst--; + fill_by_space (dst, j, FALSE); + dst += j - 1; } } *_src = src; @@ -1435,12 +1396,9 @@ } sz = dst - tmp; } - while (dstsize != 0) - { - dstsize--; - *dst++ = ' '; - } - *dst = '\0'; + + fill_by_space (dst, dstsize, TRUE); + return sz; } @@ -1538,13 +1496,10 @@ } sz = dst - tmp; } - while (dstsize != 0) - { - dstsize--; - *att++ = '\0'; - *dst++ = ' '; - } - *dst = '\0'; + + memset (att, '\0', dstsize); + fill_by_space (dst, dstsize, TRUE); + return sz; } @@ -1581,17 +1536,16 @@ if (sizeof (tmp) < amount || sizeof (tmp) <= dstsize || sizeof (cvt) < 8 * amount) { /* abnormal, but avoid buffer overflow */ - memset (dst, ' ', dstsize); - dst[dstsize] = '\0'; + fill_by_space (dst, dstsize, TRUE); return 0; } - f_seek (f, off, SEEK_SET); + dview_fseek (f, off, SEEK_SET); while (skip > base) { old_base = base; - sz = f_gets (tmp, amount, f); + sz = dview_fgets (tmp, amount, f); if (sz == 0) break; @@ -1606,8 +1560,7 @@ if (base < skip) { - memset (dst, ' ', dstsize); - dst[dstsize] = '\0'; + fill_by_space (dst, dstsize, TRUE); return 0; } @@ -1621,7 +1574,7 @@ if (q == NULL) { - sz = f_gets (tmp, dstsize - useful + 1, f); + sz = dview_fgets (tmp, dstsize - useful + 1, f); if (sz != 0) { const char *ptr = tmp; @@ -1642,7 +1595,6 @@ dst[sz] = lastch; for (i = 0; i < sz && dst[i] != '\n'; i++) - { if (dst[i] == '\r' && dst[i + 1] == '\n') { if (show_cr) @@ -1653,17 +1605,13 @@ dst[i++] = 'M'; } else - { dst[i++] = '*'; - } } break; } - } - for (; i < dstsize; i++) - dst[i] = ' '; - dst[i] = '\0'; + fill_by_space (dst, dstsize, TRUE); + return sz; } @@ -1671,9 +1619,9 @@ /* diff printers et al ****************************************************** */ static void -cc_free_elt (void *elt) +cc_free_elt (gpointer elt) { - DIFFLN *p = elt; + DIFFLN *p = (DIFFLN *) elt; if (p != NULL) g_free (p->p); @@ -1727,7 +1675,7 @@ if (dsrc == DATA_SRC_TMP && (line != 0 || ch == 0)) { FBUF *f = ((PRINTER_CTX *) ctx)->f; - f_write (f, str, sz); + dview_fwrite (f, str, sz); } return 0; } @@ -1741,8 +1689,8 @@ PRINTER_CTX ctx; GArray *ops; int ndiff; - int rv; - char extra[256]; + int rv = 0; + char extra[BUF_MEDIUM]; extra[0] = '\0'; if (dview->opt.quality == 2) @@ -1762,8 +1710,8 @@ if (dview->dsrc != DATA_SRC_MEM) { - f_reset (f[DIFF_LEFT]); - f_reset (f[DIFF_RIGHT]); + dview_freset (f[DIFF_LEFT]); + dview_freset (f[DIFF_RIGHT]); } ops = g_array_new (FALSE, FALSE, sizeof (DIFFCMD)); @@ -1776,8 +1724,6 @@ } ctx.dsrc = dview->dsrc; - - rv = 0; ctx.a = dview->a[DIFF_LEFT]; ctx.f = f[DIFF_LEFT]; rv |= dff_reparse (DIFF_LEFT, dview->file[DIFF_LEFT], ops, printer, &ctx); @@ -1794,44 +1740,40 @@ if (dview->dsrc == DATA_SRC_TMP) { - f_trunc (f[DIFF_LEFT]); - f_trunc (f[DIFF_RIGHT]); + dview_ftrunc (f[DIFF_LEFT]); + dview_ftrunc (f[DIFF_RIGHT]); } if (dview->dsrc == DATA_SRC_MEM && HDIFF_ENABLE) { + size_t i; + dview->hdiff = g_ptr_array_new (); - if (dview->hdiff != NULL) + + for (i = 0; i < dview->a[DIFF_LEFT]->len; i++) { - size_t i; + GArray *h = NULL; + const DIFFLN *p; + const DIFFLN *q; - for (i = 0; i < dview->a[DIFF_LEFT]->len; i++) + p = &g_array_index (dview->a[DIFF_LEFT], DIFFLN, i); + q = &g_array_index (dview->a[DIFF_RIGHT], DIFFLN, i); + if (p->line != 0 && q->line != 0 && p->ch == CHG_CH) { - GArray *h = NULL; - const DIFFLN *p; - const DIFFLN *q; + gboolean runresult; - p = &g_array_index (dview->a[DIFF_LEFT], DIFFLN, i); - q = &g_array_index (dview->a[DIFF_RIGHT], DIFFLN, i); - if (p->line && q->line && p->ch == CHG_CH) - { - h = g_array_new (FALSE, FALSE, sizeof (BRACKET)); - if (h != NULL) - { - gboolean runresult; + h = g_array_new (FALSE, FALSE, sizeof (BRACKET)); - runresult = - hdiff_scan (p->p, p->u.len, q->p, q->u.len, HDIFF_MINCTX, h, - HDIFF_DEPTH); - if (!runresult) - { - g_array_free (h, TRUE); - h = NULL; - } - } + runresult = + hdiff_scan (p->p, p->u.len, q->p, q->u.len, HDIFF_MINCTX, h, HDIFF_DEPTH); + if (!runresult) + { + g_array_free (h, TRUE); + h = NULL; } - g_ptr_array_add (dview->hdiff, h); } + + g_ptr_array_add (dview->hdiff, h); } } return ndiff; @@ -1874,7 +1816,7 @@ { int d = 1; - while (n /= 10) + while ((n /= 10) != 0) d++; return d; } @@ -1935,19 +1877,19 @@ find_prev_hunk (const GArray * a, int pos) { #if 1 - while (pos > 0 && ((DIFFLN *) & g_array_index (a, DIFFLN, pos))->ch != EQU_CH) - pos--; - while (pos > 0 && ((DIFFLN *) & g_array_index (a, DIFFLN, pos))->ch == EQU_CH) - pos--; - while (pos > 0 && ((DIFFLN *) & g_array_index (a, DIFFLN, pos))->ch != EQU_CH) - pos--; + for (; pos > 0 && ((DIFFLN *) & g_array_index (a, DIFFLN, pos))->ch != EQU_CH; pos--) + ; + for (; pos > 0 && ((DIFFLN *) & g_array_index (a, DIFFLN, pos))->ch == EQU_CH; pos--) + ; + for (; pos > 0 && ((DIFFLN *) & g_array_index (a, DIFFLN, pos))->ch != EQU_CH; pos--) + ; if (pos > 0 && (size_t) pos < a->len) pos++; #else - while (pos > 0 && ((DIFFLN *) & g_array_index (a, DIFFLN, pos - 1))->ch == EQU_CH) - pos--; - while (pos > 0 && ((DIFFLN *) & g_array_index (a, DIFFLN, pos - 1))->ch != EQU_CH) - pos--; + for (; pos > 0 && ((DIFFLN *) & g_array_index (a, DIFFLN, pos - 1))->ch == EQU_CH; pos--) + ; + for (; pos > 0 && ((DIFFLN *) & g_array_index (a, DIFFLN, pos - 1))->ch != EQU_CH; pos--) + ; #endif return pos; @@ -1958,10 +1900,10 @@ static size_t find_next_hunk (const GArray * a, size_t pos) { - while (pos < a->len && ((DIFFLN *) & g_array_index (a, DIFFLN, pos))->ch != EQU_CH) - pos++; - while (pos < a->len && ((DIFFLN *) & g_array_index (a, DIFFLN, pos))->ch == EQU_CH) - pos++; + for (; pos < a->len && ((DIFFLN *) & g_array_index (a, DIFFLN, pos))->ch != EQU_CH; pos++) + ; + for (; pos < a->len && ((DIFFLN *) & g_array_index (a, DIFFLN, pos))->ch == EQU_CH; pos++) + ; return pos; } @@ -2009,15 +1951,17 @@ default: break; } - while (pos > 0 && ((DIFFLN *) & g_array_index (a0, DIFFLN, pos))->ch != EQU_CH) - pos--; + + for (; pos > 0 && ((DIFFLN *) & g_array_index (a0, DIFFLN, pos))->ch != EQU_CH; pos--) + ; if (pos > 0) { *start_line1 = ((DIFFLN *) & g_array_index (a0, DIFFLN, pos))->line + 1; *start_line2 = ((DIFFLN *) & g_array_index (a1, DIFFLN, pos))->line + 1; } - pos = dview->skip_rows; - while (pos < a0->len && ((DIFFLN *) & g_array_index (a0, DIFFLN, pos))->ch != EQU_CH) + + for (pos = dview->skip_rows; + pos < a0->len && ((DIFFLN *) & g_array_index (a0, DIFFLN, pos))->ch != EQU_CH; pos++) { int l0, l1; @@ -2027,7 +1971,6 @@ *end_line1 = MAX (*start_line1, l0); if (l1 > 0) *end_line2 = MAX (*start_line2, l1); - pos++; } } return res; @@ -2057,12 +2000,9 @@ else f0 = fopen (dview->file[DIFF_LEFT], "r"); - line = 0; - while (fgets (buf, sizeof (buf), f0) != NULL && line < from1 - 1) - { - line++; + for (line = 0; fgets (buf, sizeof (buf), f0) != NULL && line < from1 - 1; line++) fputs (buf, merge_file); - } + while (fgets (buf, sizeof (buf), f0) != NULL) { line++; @@ -2090,8 +2030,7 @@ { int line; char buf[BUF_10K]; - FILE *f0; - FILE *f1; + FILE *f0, *f1; if (merge_direction == FROM_RIGHT_TO_LEFT) { @@ -2104,14 +2043,9 @@ f1 = fopen (dview->file[DIFF_RIGHT], "r"); } - line = 0; - while (fgets (buf, sizeof (buf), f0) != NULL && line < from1 - 1) - { - line++; + for (line = 0; fgets (buf, sizeof (buf), f0) != NULL && line < from1 - 1; line++) fputs (buf, merge_file); - } - line = 0; - while (fgets (buf, sizeof (buf), f1) != NULL && line <= to2) + for (line = 0; fgets (buf, sizeof (buf), f1) != NULL && line <= to2;) { line++; if (line >= from2) @@ -2141,10 +2075,9 @@ dview_replace_hunk (WDiff * dview, FILE * merge_file, int from1, int to1, int from2, int to2, action_direction_t merge_direction) { - int line1 = 0, line2 = 0; + int line1, line2; char buf[BUF_10K]; - FILE *f0; - FILE *f1; + FILE *f0, *f1; if (merge_direction == FROM_RIGHT_TO_LEFT) { @@ -2157,12 +2090,9 @@ f1 = fopen (dview->file[DIFF_RIGHT], "r"); } - while (fgets (buf, sizeof (buf), f0) != NULL && line1 < from1 - 1) - { - line1++; + for (line1 = 0; fgets (buf, sizeof (buf), f0) != NULL && line1 < from1 - 1; line1++) fputs (buf, merge_file); - } - while (fgets (buf, sizeof (buf), f1) != NULL && line2 <= to2) + for (line2 = 0; fgets (buf, sizeof (buf), f1) != NULL && line2 <= to2;) { line2++; if (line2 >= from2) @@ -2295,18 +2225,14 @@ destroy_hdiff (dview); if (dview->a[DIFF_LEFT] != NULL) - { - g_array_foreach (dview->a[DIFF_LEFT], DIFFLN, cc_free_elt); g_array_free (dview->a[DIFF_LEFT], TRUE); - } if (dview->a[DIFF_RIGHT] != NULL) - { - g_array_foreach (dview->a[DIFF_RIGHT], DIFFLN, cc_free_elt); g_array_free (dview->a[DIFF_RIGHT], TRUE); - } dview->a[DIFF_LEFT] = g_array_new (FALSE, FALSE, sizeof (DIFFLN)); + g_array_set_clear_func (dview->a[DIFF_LEFT], cc_free_elt); dview->a[DIFF_RIGHT] = g_array_new (FALSE, FALSE, sizeof (DIFFLN)); + g_array_set_clear_func (dview->a[DIFF_RIGHT], cc_free_elt); ndiff = redo_diff (dview); if (ndiff >= 0) @@ -2358,15 +2284,14 @@ static void dview_load_options (WDiff * dview) { - gboolean show_numbers, show_symbols; + gboolean show_numbers; int tab_size; - show_symbols = mc_config_get_bool (mc_global.main_config, "DiffView", "show_symbols", FALSE); - if (show_symbols) - dview->display_symbols = 1; + dview->display_symbols = + mc_config_get_bool (mc_global.main_config, "DiffView", "show_symbols", FALSE); show_numbers = mc_config_get_bool (mc_global.main_config, "DiffView", "show_numbers", FALSE); if (show_numbers) - dview->display_numbers = calc_nwidth ((const GArray * const *) dview->a); + dview->display_numbers = 1; tab_size = mc_config_get_int (mc_global.main_config, "DiffView", "tab_size", 8); if (tab_size > 0 && tab_size < 9) dview->tab_size = tab_size; @@ -2394,8 +2319,7 @@ static void dview_save_options (WDiff * dview) { - mc_config_set_bool (mc_global.main_config, "DiffView", "show_symbols", - dview->display_symbols != 0); + mc_config_set_bool (mc_global.main_config, "DiffView", "show_symbols", dview->display_symbols); mc_config_set_bool (mc_global.main_config, "DiffView", "show_numbers", dview->display_numbers != 0); mc_config_set_int (mc_global.main_config, "DiffView", "tab_size", dview->tab_size); @@ -2468,27 +2392,27 @@ if (dsrc == DATA_SRC_TMP) { - f[DIFF_LEFT] = f_temp (); + f[DIFF_LEFT] = dview_ftemp (); if (f[DIFF_LEFT] == NULL) return -1; - f[DIFF_RIGHT] = f_temp (); + f[DIFF_RIGHT] = dview_ftemp (); if (f[DIFF_RIGHT] == NULL) { - f_close (f[DIFF_LEFT]); + dview_fclose (f[DIFF_LEFT]); return -1; } } else if (dsrc == DATA_SRC_ORG) { - f[DIFF_LEFT] = f_open (file1, O_RDONLY); + f[DIFF_LEFT] = dview_fopen (file1, O_RDONLY); if (f[DIFF_LEFT] == NULL) return -1; - f[DIFF_RIGHT] = f_open (file2, O_RDONLY); + f[DIFF_RIGHT] = dview_fopen (file2, O_RDONLY); if (f[DIFF_RIGHT] == NULL) { - f_close (f[DIFF_LEFT]); + dview_fclose (f[DIFF_LEFT]); return -1; } } @@ -2499,7 +2423,7 @@ dview->new_frame = TRUE; dview->skip_rows = 0; dview->skip_cols = 0; - dview->display_symbols = 0; + dview->display_symbols = FALSE; dview->display_numbers = 0; dview->show_cr = TRUE; dview->tab_size = 8; @@ -2529,14 +2453,16 @@ dview_set_codeset (dview); #endif dview->a[DIFF_LEFT] = g_array_new (FALSE, FALSE, sizeof (DIFFLN)); + g_array_set_clear_func (dview->a[DIFF_LEFT], cc_free_elt); dview->a[DIFF_RIGHT] = g_array_new (FALSE, FALSE, sizeof (DIFFLN)); + g_array_set_clear_func (dview->a[DIFF_RIGHT], cc_free_elt); ndiff = redo_diff (dview); if (ndiff < 0) { /* goto MSG_DESTROY stage: dview_fini() */ - f_close (f[DIFF_LEFT]); - f_close (f[DIFF_RIGHT]); + dview_fclose (f[DIFF_LEFT]); + dview_fclose (f[DIFF_RIGHT]); return -1; } @@ -2554,8 +2480,8 @@ { if (dview->dsrc != DATA_SRC_MEM) { - f_close (dview->f[DIFF_RIGHT]); - f_close (dview->f[DIFF_LEFT]); + dview_fclose (dview->f[DIFF_RIGHT]); + dview_fclose (dview->f[DIFF_LEFT]); } #ifdef HAVE_CHARSET @@ -2566,13 +2492,11 @@ destroy_hdiff (dview); if (dview->a[DIFF_LEFT] != NULL) { - g_array_foreach (dview->a[DIFF_LEFT], DIFFLN, cc_free_elt); g_array_free (dview->a[DIFF_LEFT], TRUE); dview->a[DIFF_LEFT] = NULL; } if (dview->a[DIFF_RIGHT] != NULL) { - g_array_foreach (dview->a[DIFF_RIGHT], DIFFLN, cc_free_elt); g_array_free (dview->a[DIFF_RIGHT], TRUE); dview->a[DIFF_RIGHT] = NULL; } @@ -2591,7 +2515,7 @@ char buf[BUFSIZ]; FBUF *f = dview->f[ord]; int skip = dview->skip_cols; - int display_symbols = dview->display_symbols; + gboolean display_symbols = dview->display_symbols; int display_numbers = dview->display_numbers; gboolean show_cr = dview->show_cr; int tab_size = 8; @@ -2599,7 +2523,9 @@ int nwidth = display_numbers; int xwidth; - xwidth = display_symbols + display_numbers; + xwidth = display_numbers; + if (display_symbols) + xwidth++; if (dview->tab_size > 0 && dview->tab_size < 9) tab_size = dview->tab_size; @@ -2608,9 +2534,9 @@ if (xwidth > width && display_symbols) { xwidth--; - display_symbols = 0; + display_symbols = FALSE; } - if (xwidth > width && display_numbers) + if (xwidth > width && display_numbers != 0) { xwidth = width; display_numbers = width; @@ -2631,7 +2557,9 @@ for (i = dview->skip_rows, j = 0; i < dview->a[ord]->len && j < height; j++, i++) { - int ch, next_ch = 0, col; + int ch; + int next_ch = 0; + int col; size_t cnt; p = (DIFFLN *) & g_array_index (dview->a[ord], DIFFLN, i); @@ -2644,7 +2572,7 @@ } if (p->line != 0) { - if (display_numbers) + if (display_numbers != 0) { tty_gotoyx (r + j, c - xwidth); g_snprintf (buf, display_numbers + 1, "%*d", nwidth, p->line); @@ -2734,19 +2662,17 @@ } else { - if (display_numbers) + if (display_numbers != 0) { tty_gotoyx (r + j, c - xwidth); - memset (buf, ' ', display_numbers); - buf[display_numbers] = '\0'; + fill_by_space (buf, display_numbers, TRUE); tty_print_string (buf); } if (ch == DEL_CH) tty_setcolor (DFF_DEL_COLOR); if (ch == CHG_CH) tty_setcolor (DFF_CHD_COLOR); - memset (buf, ' ', width); - buf[width] = '\0'; + fill_by_space (buf, width, TRUE); } tty_gotoyx (r + j, c); /* tty_print_nstring (buf, width); */ @@ -2776,10 +2702,8 @@ if (mc_global.utf8_display) { if (!dview->utf8) - { next_ch = convert_from_8bit_to_utf_c ((unsigned char) next_ch, dview->converter); - } } else if (dview->utf8) next_ch = convert_from_utf_to_current_c (next_ch, dview->converter); @@ -2796,8 +2720,7 @@ k = width; if (width < xwidth - 1) k = xwidth - 1; - memset (buf, ' ', k); - buf[k] = '\0'; + fill_by_space (buf, k, TRUE); for (; j < height; j++) { if (xwidth != 0) @@ -2852,7 +2775,7 @@ static void dview_redo (WDiff * dview) { - if (dview->display_numbers) + if (dview->display_numbers != 0) { int old; @@ -2869,8 +2792,7 @@ dview_update (WDiff * dview) { int height = dview->height; - int width1; - int width2; + int width1, width2; int last; last = dview->a[DIFF_LEFT]->len - 1; @@ -2885,6 +2807,10 @@ if (height < 2) return; + /* use an actual length of dview->a */ + if (dview->display_numbers != 0) + dview->display_numbers = calc_nwidth ((const GArray * const *) dview->a); + width1 = dview->half1 + dview->bias; width2 = dview->half2 - dview->bias; if (dview->full) @@ -2898,7 +2824,9 @@ int xwidth; tty_setcolor (NORMAL_COLOR); - xwidth = dview->display_symbols + dview->display_numbers; + xwidth = dview->display_numbers; + if (dview->display_symbols) + xwidth++; if (width1 > 1) tty_draw_box (1, 0, height, width1, FALSE); if (width2 > 1) @@ -2934,8 +2862,11 @@ } if (width2 > 2) { - dview_status (dview, dview->ord ^ 1, width2, width1); - dview_display_file (dview, dview->ord ^ 1, 2, width1 + 1, height - 2, width2 - 2); + diff_place_t ord; + + ord = dview->ord == DIFF_LEFT ? DIFF_RIGHT : DIFF_LEFT; + dview_status (dview, ord, width2, width1); + dview_display_file (dview, ord, 2, width1 + 1, height - 2, width2 - 2); } } @@ -3004,7 +2935,6 @@ size_t i = 0; if (newline > 0) - { for (; i < dview->a[ord]->len; i++) { const DIFFLN *p; @@ -3013,9 +2943,10 @@ if (p->line == newline) break; } - } + dview->skip_rows = dview->search.last_accessed_num_line = (ssize_t) i; } + g_free (input); } @@ -3125,7 +3056,7 @@ switch (command) { case CK_ShowSymbols: - dview->display_symbols ^= 1; + dview->display_symbols = !dview->display_symbols; dview->new_frame = TRUE; break; case CK_ShowNumbers: @@ -3502,9 +3433,9 @@ #define UNGET_FILE(n) \ do \ { \ - if (use_copy##n) \ + if (use_copy##n != 0) \ { \ - int changed = 0; \ + gboolean changed = FALSE; \ if (use_copy##n > 0) \ { \ time_t mtime; \ @@ -3534,8 +3465,7 @@ /* run from panels */ const WPanel *panel0 = (const WPanel *) f0; const WPanel *panel1 = (const WPanel *) f1; - const file_entry_t *fe0; - const file_entry_t *fe1; + const file_entry_t *fe0, *fe1; fe0 = panel_current_entry (panel0); file0 = vfs_path_append_new (panel0->cwd_vpath, fe0->fname->str, (char *) NULL); @@ -3613,12 +3543,9 @@ rv = -1; if (file0 != NULL && file1 != NULL) { - int use_copy0; - int use_copy1; - struct stat st0; - struct stat st1; - vfs_path_t *real_file0; - vfs_path_t *real_file1; + int use_copy0, use_copy1; + struct stat st0, st1; + vfs_path_t *real_file0, *real_file1; GET_FILE_AND_STAMP (0); GET_FILE_AND_STAMP (1); diff -Nru mc-4.8.30/src/editor/Makefile.in mc-4.8.31/src/editor/Makefile.in --- mc-4.8.30/src/editor/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/src/editor/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -137,7 +137,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/src/editor/bookmark.c mc-4.8.31/src/editor/bookmark.c --- mc-4.8.30/src/editor/bookmark.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/editor/bookmark.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Editor book mark handling - Copyright (C) 2001-2023 + Copyright (C) 2001-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/editor/edit-impl.h mc-4.8.31/src/editor/edit-impl.h --- mc-4.8.30/src/editor/edit-impl.h 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/editor/edit-impl.h 2024-01-20 19:34:38.000000000 +0000 @@ -141,7 +141,7 @@ gboolean edit_widget_is_editor (const Widget * w); gboolean edit_drop_hotkey_menu (WDialog * h, int key); void edit_menu_cmd (WDialog * h); -void user_menu (WEdit * edit, const char *menu_file, int selected_entry); +void edit_user_menu (WEdit * edit, const char *menu_file, int selected_entry); void edit_init_menu (WMenuBar * menubar); void edit_save_mode_cmd (void); off_t edit_move_forward3 (const WEdit * edit, off_t current, long cols, off_t upto); @@ -163,7 +163,7 @@ void edit_block_copy_cmd (WEdit * edit); void edit_block_move_cmd (WEdit * edit); -int edit_block_delete_cmd (WEdit * edit); +gboolean edit_block_delete_cmd (WEdit * edit); void edit_delete_line (WEdit * edit); int edit_delete (WEdit * edit, gboolean byte_delete); diff -Nru mc-4.8.30/src/editor/edit.c mc-4.8.31/src/editor/edit.c --- mc-4.8.30/src/editor/edit.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/editor/edit.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Editor low level data handling and cursor fundamentals. - Copyright (C) 1996-2023 + Copyright (C) 1996-2024 Free Software Foundation, Inc. Written by: @@ -142,6 +142,7 @@ { "lz4 -cd %s 2>&1", "lz4 > %s", ".lz4" }, { "lzip -cd %s 2>&1", "lzip > %s", ".lz"}, { "lzma -cd %s 2>&1", "lzma > %s", ".lzma" }, + { "lzop -cd %s 2>&1", "lzop > %s", ".lzo"}, { "bzip2 -cd %s 2>&1", "bzip2 > %s", ".bz2" }, { "gzip -cd %s 2>&1", "gzip > %s", ".gz" }, { "gzip -cd %s 2>&1", "gzip > %s", ".Z" } @@ -262,15 +263,20 @@ edit_get_filter (const vfs_path_t * filename_vpath) { int i; - char *p, *quoted_name; + char *quoted_name; + char *p = NULL; i = edit_find_filter (filename_vpath); if (i < 0) return NULL; quoted_name = name_quote (vfs_path_as_str (filename_vpath), FALSE); - p = g_strdup_printf (all_filters[i].read, quoted_name); - g_free (quoted_name); + if (quoted_name != NULL) + { + p = g_strdup_printf (all_filters[i].read, quoted_name); + g_free (quoted_name); + } + return p; } @@ -479,6 +485,7 @@ { long line, column; off_t offset; + off_t b; if (edit->filename_vpath == NULL || *(vfs_path_get_by_index (edit->filename_vpath, 0)->path) == '\0') @@ -503,7 +510,8 @@ edit->search_start = edit->buffer.curs1; } - edit_move_to_prev_col (edit, edit_buffer_get_current_bol (&edit->buffer)); + b = edit_buffer_get_current_bol (&edit->buffer); + edit_move_to_prev_col (edit, b); edit_move_display (edit, line - (WIDGET (edit)->rect.lines / 2)); } @@ -637,7 +645,7 @@ edit->caches_valid = FALSE; /* raise lock when file modified */ - if (!edit->modified && !edit->delete_file) + if (edit->modified == 0 && edit->delete_file == 0) edit->locked = lock_file (edit->filename_vpath); edit->modified = 1; } @@ -679,12 +687,12 @@ off_t s, f; s = edit_buffer_get_bol (buf, offset); - f = edit_buffer_get_eol (buf, offset) - 1; - while (s <= f) + f = edit_buffer_get_eol (buf, offset); + for (; s < f; s++) { int c; - c = edit_buffer_get_byte (buf, s++); + c = edit_buffer_get_byte (buf, s); if (!isspace (c)) return FALSE; } @@ -697,7 +705,8 @@ static off_t edit_find_line (WEdit * edit, long line) { - long i, j = 0; + long i; + long j = 0; long m = 2000000000; /* what is the magic number? */ if (!edit->caches_valid) @@ -874,7 +883,10 @@ static void edit_cursor_to_bol (WEdit * edit) { - edit_cursor_move (edit, edit_buffer_get_current_bol (&edit->buffer) - edit->buffer.curs1); + off_t b; + + b = edit_buffer_get_current_bol (&edit->buffer); + edit_cursor_move (edit, b - edit->buffer.curs1); edit->search_start = edit->buffer.curs1; edit->prev_col = edit_get_col (edit); edit->over_col = 0; @@ -886,7 +898,10 @@ static void edit_cursor_to_eol (WEdit * edit) { - edit_cursor_move (edit, edit_buffer_get_current_eol (&edit->buffer) - edit->buffer.curs1); + off_t b; + + b = edit_buffer_get_current_eol (&edit->buffer); + edit_cursor_move (edit, b - edit->buffer.curs1); edit->search_start = edit->buffer.curs1; edit->prev_col = edit_get_col (edit); edit->over_col = 0; @@ -897,8 +912,8 @@ static unsigned long my_type_of (int c) { - unsigned long x, r = 0; - const char *p, *q; + unsigned long r = 0; + const char *q; const char chars_move_whole_word[] = "!=&|<>^~ !:;, !'!`!.?!\"!( !) !{ !} !Aa0 !+-*/= |<> ![ !] !\\#! "; @@ -918,16 +933,21 @@ else if (isspace (c)) c = ' '; q = strchr (chars_move_whole_word, c); - if (!q) + if (q == NULL) return 0xFFFFFFFFUL; + do { + unsigned long x; + const char *p; + for (x = 1, p = chars_move_whole_word; p < q; p++) if (*p == '!') x <<= 1; r |= x; } - while ((q = strchr (q + 1, c))); + while ((q = strchr (q + 1, c)) != NULL); + return r; } @@ -949,8 +969,10 @@ if (edit->buffer.curs1 == 0) break; c1 = edit_buffer_get_previous_byte (&edit->buffer); + if (c1 == '\n') + break; c2 = edit_buffer_get_current_byte (&edit->buffer); - if (c1 == '\n' || c2 == '\n') + if (c2 == '\n') break; if ((my_type_of (c1) & my_type_of (c2)) == 0) break; @@ -988,8 +1010,10 @@ if (edit->buffer.curs1 >= edit->buffer.size) break; c1 = edit_buffer_get_previous_byte (&edit->buffer); + if (c1 == '\n') + break; c2 = edit_buffer_get_current_byte (&edit->buffer); - if (c1 == '\n' || c2 == '\n') + if (c2 == '\n') break; if ((my_type_of (c1) & my_type_of (c2)) == 0) break; @@ -1118,8 +1142,10 @@ int c1, c2; c1 = edit_delete (edit, TRUE); + if (c1 == '\n') + break; c2 = edit_buffer_get_current_byte (&edit->buffer); - if (c1 == '\n' || c2 == '\n') + if (c2 == '\n') break; if ((isspace (c1) == 0) != (isspace (c2) == 0)) break; @@ -1138,8 +1164,10 @@ int c1, c2; c1 = edit_backspace (edit, TRUE); + if (c1 == '\n') + break; c2 = edit_buffer_get_previous_byte (&edit->buffer); - if (c1 == '\n' || c2 == '\n') + if (c2 == '\n') break; if ((isspace (c1) == 0) != (isspace (c2) == 0)) break; @@ -1162,8 +1190,11 @@ edit->undo_stack_disable = 1; /* don't record undo's onto undo stack! */ edit->over_col = 0; + while ((ac = edit_pop_undo_action (edit)) < KEY_PRESS) { + off_t b; + switch ((int) ac) { case STACK_BOTTOM: @@ -1199,16 +1230,14 @@ if (ac >= MARK_1 - 2 && ac < MARK_2 - 2) { edit->mark1 = ac - MARK_1; - edit->column1 = - (long) edit_move_forward3 (edit, edit_buffer_get_bol (&edit->buffer, edit->mark1), - 0, edit->mark1); + b = edit_buffer_get_bol (&edit->buffer, edit->mark1); + edit->column1 = (long) edit_move_forward3 (edit, b, 0, edit->mark1); } if (ac >= MARK_2 - 2 && ac < MARK_CURS - 2) { edit->mark2 = ac - MARK_2; - edit->column2 = - (long) edit_move_forward3 (edit, edit_buffer_get_bol (&edit->buffer, edit->mark2), - 0, edit->mark2); + b = edit_buffer_get_bol (&edit->buffer, edit->mark2); + edit->column2 = (long) edit_move_forward3 (edit, b, 0, edit->mark2); } else if (ac >= MARK_CURS - 2 && ac < KEY_PRESS) { @@ -1249,8 +1278,11 @@ return; edit->over_col = 0; + while ((ac = edit_pop_redo_action (edit)) < KEY_PRESS) { + off_t b; + switch ((int) ac) { case STACK_BOTTOM: @@ -1284,19 +1316,17 @@ if (ac >= MARK_1 - 2 && ac < MARK_2 - 2) { edit->mark1 = ac - MARK_1; - edit->column1 = - (long) edit_move_forward3 (edit, edit_buffer_get_bol (&edit->buffer, edit->mark1), - 0, edit->mark1); + b = edit_buffer_get_bol (&edit->buffer, edit->mark1); + edit->column1 = (long) edit_move_forward3 (edit, b, 0, edit->mark1); } else if (ac >= MARK_2 - 2 && ac < KEY_PRESS) { edit->mark2 = ac - MARK_2; - edit->column2 = - (long) edit_move_forward3 (edit, edit_buffer_get_bol (&edit->buffer, edit->mark2), - 0, edit->mark2); + b = edit_buffer_get_bol (&edit->buffer, edit->mark2); + edit->column2 = (long) edit_move_forward3 (edit, b, 0, edit->mark2); } /* more than one pop usually means something big */ - if (count++) + if (count++ != 0) edit->force |= REDRAW_PAGE; } @@ -1326,6 +1356,7 @@ { long ac = KEY_PRESS; long cur_ac = KEY_PRESS; + while (ac != STACK_BOTTOM && ac == cur_ac) { cur_ac = get_prev_undo_action (edit); @@ -1374,7 +1405,8 @@ static gboolean right_of_four_spaces (WEdit * edit) { - int i, ch = 0; + int i; + int ch = 0; for (i = 1; i <= HALF_TAB_SIZE; i++) ch |= edit_buffer_get_byte (&edit->buffer, edit->buffer.curs1 - i); @@ -1442,14 +1474,8 @@ if (half) i /= 2; if (i != 0) - { - i = ((edit->curs_col / i) + 1) * i - edit->curs_col; - while (i > 0) - { + for (i = ((edit->curs_col / i) + 1) * i - edit->curs_col; i > 0; i -= space_width) edit_insert (edit, ' '); - i -= space_width; - } - } } /* --------------------------------------------------------------------------------------------- */ @@ -1609,6 +1635,8 @@ do { + off_t b; + edit_cursor_move (edit, cur_bol - edit->buffer.curs1); if (!edit_line_is_blank (edit, edit->buffer.curs_line)) { @@ -1616,8 +1644,9 @@ insert_spaces_tab (edit, edit_options.fake_half_tabs); else edit_insert (edit, '\t'); - edit_cursor_move (edit, - edit_buffer_get_bol (&edit->buffer, cur_bol) - edit->buffer.curs1); + + b = edit_buffer_get_bol (&edit->buffer, cur_bol); + edit_cursor_move (edit, b - edit->buffer.curs1); } if (cur_bol == 0) @@ -1687,10 +1716,10 @@ static size_t edit_print_string (WEdit * e, const char *s) { - size_t i = 0; + size_t i; - while (s[i] != '\0') - edit_execute_cmd (e, CK_InsertChar, (unsigned char) s[i++]); + for (i = 0; s[i] != '\0'; i++) + edit_execute_cmd (e, CK_InsertChar, (unsigned char) s[i]); e->force |= REDRAW_COMPLETELY; edit_update_screen (e); return i; @@ -1772,10 +1801,10 @@ /** User edit menu, like user menu (F2) but only in editor. */ void -user_menu (WEdit * edit, const char *menu_file, int selected_entry) +edit_user_menu (WEdit * edit, const char *menu_file, int selected_entry) { char *block_file; - gboolean nomark; + gboolean mark; off_t curs; off_t start_mark, end_mark; struct stat status; @@ -1784,27 +1813,27 @@ block_file = mc_config_get_full_path (EDIT_HOME_BLOCK_FILE); block_file_vpath = vfs_path_from_str (block_file); curs = edit->buffer.curs1; - nomark = !eval_marks (edit, &start_mark, &end_mark); - if (!nomark) + mark = eval_marks (edit, &start_mark, &end_mark); + if (mark) edit_save_block (edit, block_file, start_mark, end_mark); /* run shell scripts from menu */ if (user_menu_cmd (CONST_WIDGET (edit), menu_file, selected_entry) && (mc_stat (block_file_vpath, &status) == 0) && (status.st_size != 0)) { - int rc = 0; + gboolean rc = FALSE; FILE *fd; /* i.e. we have marked block */ - if (!nomark) + if (mark) rc = edit_block_delete_cmd (edit); - if (rc == 0) + if (!rc) { off_t ins_len; ins_len = edit_insert_file (edit, block_file_vpath); - if (!nomark && ins_len > 0) + if (mark && ins_len > 0) edit_set_markers (edit, start_mark, start_mark + ins_len, 0, 0); } /* truncate block file */ @@ -1827,7 +1856,8 @@ { int i; const char *write_name; - char *p, *write_name_quoted; + char *write_name_quoted; + char *p = NULL; i = edit_find_filter (filename_vpath); if (i < 0) @@ -1835,8 +1865,11 @@ write_name = vfs_path_get_last_path_str (write_name_vpath); write_name_quoted = name_quote (write_name, FALSE); - p = g_strdup_printf (all_filters[i].write, write_name_quoted); - g_free (write_name_quoted); + if (write_name_quoted != NULL) + { + p = g_strdup_printf (all_filters[i].write, write_name_quoted); + g_free (write_name_quoted); + } return p; } @@ -1950,7 +1983,7 @@ gboolean is_break_char (char c) { - return (isspace (c) || strchr ("{}[]()<>=|/\\!?~-+`'\",.;:#$%^&*", c)); + return (isspace (c) || strchr ("{}[]()<>=|/\\!?~-+`'\",.;:#$%^&*", c) != NULL); } /* --------------------------------------------------------------------------------------------- */ @@ -2006,7 +2039,7 @@ { int file; off_t blocklen; - int vertical_insertion = 0; + gboolean vertical_insertion = FALSE; char *buf; file = mc_open (filename_vpath, O_RDONLY | O_BINARY); @@ -2019,7 +2052,7 @@ { /* if contain signature VERTICAL_MAGIC then it vertical block */ if (memcmp (buf, VERTICAL_MAGIC, sizeof (VERTICAL_MAGIC)) == 0) - vertical_insertion = 1; + vertical_insertion = TRUE; else mc_lseek (file, 0, SEEK_SET); } @@ -2377,6 +2410,7 @@ && ((sp - 2) & edit->undo_stack_size_mask) != edit->undo_stack_bottom) { long d; + if (edit->undo_stack[spm1] < 0) { d = edit->undo_stack[(sp - 2) & edit->undo_stack_size_mask]; @@ -2457,6 +2491,7 @@ && ((sp - 2) & edit->redo_stack_size_mask) != edit->redo_stack_bottom) { long d; + if (edit->redo_stack[spm1] < 0) { d = edit->redo_stack[(sp - 2) & edit->redo_stack_size_mask]; @@ -2848,8 +2883,10 @@ long edit_get_col (const WEdit * edit) { - return (long) edit_move_forward3 (edit, edit_buffer_get_current_bol (&edit->buffer), 0, - edit->buffer.curs1); + off_t b; + + b = edit_buffer_get_current_bol (&edit->buffer); + return (long) edit_move_forward3 (edit, b, 0, edit->buffer.curs1); } /* --------------------------------------------------------------------------------------------- */ @@ -2867,8 +2904,10 @@ void edit_update_curs_col (WEdit * edit) { - edit->curs_col = (long) edit_move_forward3 (edit, edit_buffer_get_current_bol (&edit->buffer), - 0, edit->buffer.curs1); + off_t b; + + b = edit_buffer_get_current_bol (&edit->buffer); + edit->curs_col = (long) edit_move_forward3 (edit, b, 0, edit->buffer.curs1); } /* --------------------------------------------------------------------------------------------- */ @@ -2900,7 +2939,6 @@ edit_update_curs_row (edit); } - /* --------------------------------------------------------------------------------------------- */ void @@ -2956,16 +2994,19 @@ { long prev = edit->prev_col; long over = edit->over_col; + off_t b; edit_cursor_move (edit, edit_move_forward3 (edit, p, prev + edit->over_col, 0) - edit->buffer.curs1); if (edit_options.cursor_beyond_eol) { + off_t e; long line_len; - line_len = (long) edit_move_forward3 (edit, edit_buffer_get_current_bol (&edit->buffer), 0, - edit_buffer_get_current_eol (&edit->buffer)); + b = edit_buffer_get_current_bol (&edit->buffer); + e = edit_buffer_get_current_eol (&edit->buffer); + line_len = (long) edit_move_forward3 (edit, b, 0, e); if (line_len < prev + edit->over_col) { edit->over_col = prev + over - line_len; @@ -2974,9 +3015,9 @@ } else { - edit->curs_col = prev + over; - edit->prev_col = edit->curs_col; edit->over_col = 0; + edit->prev_col = edit->curs_col; + edit->curs_col = prev + over; } } else @@ -2996,12 +3037,13 @@ q = edit->curs_col; edit->curs_col -= (edit->curs_col % fake_half_tabs); p = edit_buffer_get_current_bol (&edit->buffer); - edit_cursor_move (edit, - edit_move_forward3 (edit, p, edit->curs_col, - 0) - edit->buffer.curs1); + b = edit_move_forward3 (edit, p, edit->curs_col, 0); + edit_cursor_move (edit, b - edit->buffer.curs1); if (!left_of_four_spaces (edit)) - edit_cursor_move (edit, - edit_move_forward3 (edit, p, q, 0) - edit->buffer.curs1); + { + b = edit_move_forward3 (edit, p, q, 0); + edit_cursor_move (edit, b - edit->buffer.curs1); + } } } } @@ -3069,6 +3111,71 @@ edit->column2 = c2; } +/* --------------------------------------------------------------------------------------------- */ +/** + if mark2 is -1 then marking is from mark1 to the cursor. + Otherwise its between the markers. This handles this. + Returns FALSE if no text is marked. + */ + +gboolean +eval_marks (WEdit * edit, off_t * start_mark, off_t * end_mark) +{ + long end_mark_curs; + + if (edit->mark1 == edit->mark2) + { + *start_mark = *end_mark = 0; + edit->column2 = edit->column1 = 0; + return FALSE; + } + + if (edit->end_mark_curs < 0) + end_mark_curs = edit->buffer.curs1; + else + end_mark_curs = edit->end_mark_curs; + + if (edit->mark2 >= 0) + { + *start_mark = MIN (edit->mark1, edit->mark2); + *end_mark = MAX (edit->mark1, edit->mark2); + } + else + { + *start_mark = MIN (edit->mark1, end_mark_curs); + *end_mark = MAX (edit->mark1, end_mark_curs); + edit->column2 = edit->curs_col + edit->over_col; + } + + if (edit->column_highlight + && ((edit->mark1 > end_mark_curs && edit->column1 < edit->column2) + || (edit->mark1 < end_mark_curs && edit->column1 > edit->column2))) + { + off_t start_bol, start_eol; + off_t end_bol, end_eol; + long col1, col2; + off_t diff1, diff2; + + start_bol = edit_buffer_get_bol (&edit->buffer, *start_mark); + start_eol = edit_buffer_get_eol (&edit->buffer, start_bol - 1) + 1; + end_bol = edit_buffer_get_bol (&edit->buffer, *end_mark); + end_eol = edit_buffer_get_eol (&edit->buffer, *end_mark); + col1 = MIN (edit->column1, edit->column2); + col2 = MAX (edit->column1, edit->column2); + + diff1 = edit_move_forward3 (edit, start_bol, col2, 0) - + edit_move_forward3 (edit, start_bol, col1, 0); + diff2 = edit_move_forward3 (edit, end_bol, col2, 0) - + edit_move_forward3 (edit, end_bol, col1, 0); + + *start_mark -= diff1; + *end_mark += diff2; + *start_mark = MAX (*start_mark, start_eol); + *end_mark = MIN (*end_mark, end_eol); + } + + return TRUE; +} /* --------------------------------------------------------------------------------------------- */ /** highlight marker toggle */ @@ -3364,7 +3471,6 @@ if (!mc_global.utf8_display || edit->charpoint == 0) #endif if (edit_buffer_get_current_byte (&edit->buffer) != '\n') - edit_delete (edit, FALSE); } if (edit_options.cursor_beyond_eol && edit->over_col > 0) @@ -3378,7 +3484,7 @@ && !mc_global.utf8_display) { unsigned char str[UTF8_CHAR_LEN + 1]; - size_t i = 0; + size_t i; int res; res = g_unichar_to_utf8 (char_for_insertion, (char *) str); @@ -3388,14 +3494,12 @@ str[1] = '\0'; } else - { str[res] = '\0'; - } - while (i <= UTF8_CHAR_LEN && str[i] != '\0') + + for (i = 0; i <= UTF8_CHAR_LEN && str[i] != '\0'; i++) { char_for_insertion = str[i]; edit_insert (edit, char_for_insertion); - i++; } } else @@ -3920,7 +4024,7 @@ edit_goto_matching_bracket (edit); break; case CK_UserMenu: - user_menu (edit, NULL, -1); + edit_user_menu (edit, NULL, -1); break; case CK_Sort: edit_sort_cmd (edit); diff -Nru mc-4.8.30/src/editor/editbuffer.c mc-4.8.31/src/editor/editbuffer.c --- mc-4.8.30/src/editor/editbuffer.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/editor/editbuffer.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Editor text keep buffer. - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/editor/editcmd.c mc-4.8.31/src/editor/editcmd.c --- mc-4.8.30/src/editor/editcmd.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/editor/editcmd.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Editor high level editing commands - Copyright (C) 1996-2023 + Copyright (C) 1996-2024 Free Software Foundation, Inc. Written by: @@ -460,22 +460,23 @@ /* --------------------------------------------------------------------------------------------- */ static void -edit_delete_column_of_text (WEdit * edit) +edit_delete_column_of_text (WEdit * edit, off_t m1, off_t m2) { - off_t m1, m2; off_t n; + off_t r; long b, c, d; - eval_marks (edit, &m1, &m2); n = edit_buffer_get_forward_offset (&edit->buffer, m1, 0, m2) + 1; - c = (long) edit_move_forward3 (edit, edit_buffer_get_bol (&edit->buffer, m1), 0, m1); - d = (long) edit_move_forward3 (edit, edit_buffer_get_bol (&edit->buffer, m2), 0, m2); + r = edit_buffer_get_bol (&edit->buffer, m1); + c = (long) edit_move_forward3 (edit, r, 0, m1); + r = edit_buffer_get_bol (&edit->buffer, m2); + d = (long) edit_move_forward3 (edit, r, 0, m2); b = MAX (MIN (c, d), MIN (edit->column1, edit->column2)); c = MAX (c, MAX (edit->column1, edit->column2)); while (n-- != 0) { - off_t r, p, q; + off_t p, q; r = edit_buffer_get_current_bol (&edit->buffer); p = edit_move_forward3 (edit, r, b, 0); @@ -490,25 +491,22 @@ /* move to next line except on the last delete */ if (n != 0) - edit_cursor_move (edit, - edit_buffer_get_forward_offset (&edit->buffer, edit->buffer.curs1, 1, - 0) - edit->buffer.curs1); + { + r = edit_buffer_get_forward_offset (&edit->buffer, edit->buffer.curs1, 1, 0); + edit_cursor_move (edit, r - edit->buffer.curs1); + } } } /* --------------------------------------------------------------------------------------------- */ -/** if success return 0 */ +/** if success return TRUE */ -static int -edit_block_delete (WEdit * edit) +static gboolean +edit_block_delete (WEdit * edit, off_t start_mark, off_t end_mark) { - off_t start_mark, end_mark; off_t curs_pos; long curs_line, c1, c2; - if (!eval_marks (edit, &start_mark, &end_mark)) - return 0; - if (edit->column_highlight && edit->mark2 < 0) edit_mark_cmd (edit, FALSE); @@ -517,7 +515,7 @@ edit_query_dialog2 (_("Warning"), ("Block is large, you may not be able to undo this action"), _("C&ontinue"), _("&Cancel")) != 0) - return 1; + return FALSE; c1 = MIN (edit->column1, edit->column2); c2 = MAX (edit->column1, edit->column2); @@ -538,16 +536,18 @@ { if (edit->column_highlight) { + off_t b, e; off_t line_width; if (edit->mark2 < 0) edit_mark_cmd (edit, FALSE); - edit_delete_column_of_text (edit); + edit_delete_column_of_text (edit, start_mark, end_mark); /* move cursor to the saved position */ edit_move_to_line (edit, curs_line); /* calculate line width and cursor position before cut */ - line_width = edit_move_forward3 (edit, edit_buffer_get_current_bol (&edit->buffer), 0, - edit_buffer_get_current_eol (&edit->buffer)); + b = edit_buffer_get_current_bol (&edit->buffer); + e = edit_buffer_get_current_eol (&edit->buffer); + line_width = edit_move_forward3 (edit, b, 0, e); if (edit_options.cursor_beyond_eol && curs_pos > line_width) edit->over_col = curs_pos - line_width; } @@ -563,7 +563,7 @@ edit_set_markers (edit, 0, 0, 0, 0); edit->force |= REDRAW_PAGE; - return 0; + return TRUE; } /* --------------------------------------------------------------------------------------------- */ @@ -586,7 +586,8 @@ int c; off_t x; - x = edit_move_forward3 (edit, edit_buffer_get_bol (&edit->buffer, start), 0, start); + x = edit_buffer_get_bol (&edit->buffer, start); + x = edit_move_forward3 (edit, x, 0, start); c = edit_buffer_get_byte (&edit->buffer, start); if ((x >= edit->column1 && x < edit->column2) || (x >= edit->column2 && x < edit->column1) || c == '\n') @@ -631,15 +632,28 @@ pipe_mail (const edit_buffer_t * buf, char *to, char *subject, char *cc) { FILE *p = 0; - char *s; + char *s = NULL; to = name_quote (to, FALSE); - subject = name_quote (subject, FALSE); - cc = name_quote (cc, FALSE); - s = g_strconcat ("mail -s ", subject, *cc ? " -c " : "", cc, " ", to, (char *) NULL); - g_free (to); - g_free (subject); - g_free (cc); + if (to != NULL) + { + subject = name_quote (subject, FALSE); + if (subject != NULL) + { + cc = name_quote (cc, FALSE); + if (cc == NULL) + s = g_strdup_printf ("mail -s %s %s", subject, to); + else + { + s = g_strdup_printf ("mail -s %s -c %s %s", subject, cc, to); + g_free (cc); + } + + g_free (subject); + } + + g_free (to); + } if (s != NULL) { @@ -1256,72 +1270,6 @@ } /* --------------------------------------------------------------------------------------------- */ -/** - if mark2 is -1 then marking is from mark1 to the cursor. - Otherwise its between the markers. This handles this. - Returns FALSE if no text is marked. - */ - -gboolean -eval_marks (WEdit * edit, off_t * start_mark, off_t * end_mark) -{ - long end_mark_curs; - - if (edit->mark1 == edit->mark2) - { - *start_mark = *end_mark = 0; - edit->column2 = edit->column1 = 0; - return FALSE; - } - - if (edit->end_mark_curs < 0) - end_mark_curs = edit->buffer.curs1; - else - end_mark_curs = edit->end_mark_curs; - - if (edit->mark2 >= 0) - { - *start_mark = MIN (edit->mark1, edit->mark2); - *end_mark = MAX (edit->mark1, edit->mark2); - } - else - { - *start_mark = MIN (edit->mark1, end_mark_curs); - *end_mark = MAX (edit->mark1, end_mark_curs); - edit->column2 = edit->curs_col + edit->over_col; - } - - if (edit->column_highlight - && ((edit->mark1 > end_mark_curs && edit->column1 < edit->column2) - || (edit->mark1 < end_mark_curs && edit->column1 > edit->column2))) - { - off_t start_bol, start_eol; - off_t end_bol, end_eol; - long col1, col2; - off_t diff1, diff2; - - start_bol = edit_buffer_get_bol (&edit->buffer, *start_mark); - start_eol = edit_buffer_get_eol (&edit->buffer, start_bol - 1) + 1; - end_bol = edit_buffer_get_bol (&edit->buffer, *end_mark); - end_eol = edit_buffer_get_eol (&edit->buffer, *end_mark); - col1 = MIN (edit->column1, edit->column2); - col2 = MAX (edit->column1, edit->column2); - - diff1 = edit_move_forward3 (edit, start_bol, col2, 0) - - edit_move_forward3 (edit, start_bol, col1, 0); - diff2 = edit_move_forward3 (edit, end_bol, col2, 0) - - edit_move_forward3 (edit, end_bol, col1, 0); - - *start_mark -= diff1; - *end_mark += diff2; - *start_mark = MAX (*start_mark, start_eol); - *end_mark = MIN (*end_mark, end_eol); - } - - return TRUE; -} - -/* --------------------------------------------------------------------------------------------- */ void edit_block_copy_cmd (WEdit * edit) @@ -1398,6 +1346,7 @@ off_t size; long c1, c2, b_width; long x, x2; + off_t b1, b2; c1 = MIN (edit->column1, edit->column2); c2 = MAX (edit->column1, edit->column2); @@ -1409,8 +1358,9 @@ x2 = x + edit->over_col; /* do nothing when cursor inside first line of selected area */ - if ((edit_buffer_get_eol (&edit->buffer, edit->buffer.curs1) == - edit_buffer_get_eol (&edit->buffer, start_mark)) && x2 > c1 && x2 <= c2) + b1 = edit_buffer_get_eol (&edit->buffer, edit->buffer.curs1); + b2 = edit_buffer_get_eol (&edit->buffer, start_mark); + if (b1 == b2 && x2 > c1 && x2 <= c2) return; if (edit->buffer.curs1 > start_mark @@ -1429,7 +1379,8 @@ edit->over_col = MAX (0, edit->over_col - b_width); /* calculate the cursor pos after delete block */ - current = edit_move_forward3 (edit, edit_buffer_get_current_bol (&edit->buffer), x, 0); + b1 = edit_buffer_get_current_bol (&edit->buffer); + current = edit_move_forward3 (edit, b1, x, 0); edit_cursor_move (edit, current - edit->buffer.curs1); edit_scroll_screen_over_cursor (edit); @@ -1443,6 +1394,7 @@ else { off_t count, count_orig; + off_t x; current = edit->buffer.curs1; copy_buf = g_malloc0 (end_mark - start_mark); @@ -1453,9 +1405,8 @@ copy_buf[end_mark - count - 1] = edit_delete (edit, TRUE); edit_scroll_screen_over_cursor (edit); - edit_cursor_move (edit, - current - edit->buffer.curs1 - - (((current - edit->buffer.curs1) > 0) ? end_mark - start_mark : 0)); + x = current > edit->buffer.curs1 ? end_mark - start_mark : 0; + edit_cursor_move (edit, current - edit->buffer.curs1 - x); edit_scroll_screen_over_cursor (edit); count_orig = count; while (count-- > start_mark) @@ -1475,19 +1426,19 @@ } /* --------------------------------------------------------------------------------------------- */ -/** returns 1 if canceelled by user */ +/** returns FALSE if canceelled by user */ -int +gboolean edit_block_delete_cmd (WEdit * edit) { off_t start_mark, end_mark; if (eval_marks (edit, &start_mark, &end_mark)) - return edit_block_delete (edit); + return edit_block_delete (edit, start_mark, end_mark); edit_delete_line (edit); - return 0; + return TRUE; } /* --------------------------------------------------------------------------------------------- */ @@ -1859,7 +1810,7 @@ edit->force |= REDRAW_COMPLETELY; - if (edit_block_delete_cmd (edit)) + if (!edit_block_delete_cmd (edit)) return 1; { @@ -1934,7 +1885,7 @@ fname = g_strdup_printf ("%s.%i.sh", EDIT_HOME_MACRO_FILE, macro_number); macros_fname = g_build_filename (mc_config_get_data_path (), fname, (char *) NULL); - user_menu (edit, macros_fname, 0); + edit_user_menu (edit, macros_fname, 0); g_free (fname); g_free (macros_fname); edit->force |= REDRAW_COMPLETELY; diff -Nru mc-4.8.30/src/editor/editcomplete.c mc-4.8.31/src/editor/editcomplete.c --- mc-4.8.30/src/editor/editcomplete.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/editor/editcomplete.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Editor word completion engine - Copyright (C) 2021-2023 + Copyright (C) 2021-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/editor/editdraw.c mc-4.8.31/src/editor/editdraw.c --- mc-4.8.30/src/editor/editdraw.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/editor/editdraw.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Editor text drawing. - Copyright (C) 1996-2023 + Copyright (C) 1996-2024 Free Software Foundation, Inc. Written by: @@ -448,7 +448,6 @@ { int style; unsigned int textchar; - int color; if (cols_to_skip != 0) { @@ -458,8 +457,6 @@ style = p->style & 0xFF00; textchar = p->ch; - /* If non-printable - use black background */ - color = (style & MOD_ABNORMAL) != 0 ? 0 : p->style >> 16; if ((style & MOD_WHITESPACE) != 0) { @@ -475,8 +472,10 @@ tty_setcolor (EDITOR_BOLD_COLOR); else if ((style & MOD_MARKED) != 0) tty_setcolor (EDITOR_MARKED_COLOR); + else if ((style & MOD_ABNORMAL) != 0) + tty_setcolor (EDITOR_NONPRINTABLE_COLOR); else - tty_lowlevel_setcolor (color); + tty_lowlevel_setcolor (p->style >> 16); if (edit_options.show_right_margin) { @@ -951,9 +950,8 @@ if ((force & REDRAW_LINE_ABOVE) != 0 && curs_row >= 1) { row = curs_row - 1; - b = edit_buffer_get_backward_offset (&edit->buffer, - edit_buffer_get_current_bol (&edit->buffer), - 1); + b = edit_buffer_get_current_bol (&edit->buffer); + b = edit_buffer_get_backward_offset (&edit->buffer, b, 1); if (row >= start_row && row <= end_row) { if (key_pending (edit)) diff -Nru mc-4.8.30/src/editor/editmacros.c mc-4.8.31/src/editor/editmacros.c --- mc-4.8.30/src/editor/editmacros.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/editor/editmacros.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Editor macros engine - Copyright (C) 2001-2023 + Copyright (C) 2001-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff -Nru mc-4.8.30/src/editor/editmenu.c mc-4.8.31/src/editor/editmenu.c --- mc-4.8.30/src/editor/editmenu.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/editor/editmenu.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Editor menu definitions and initialisation - Copyright (C) 1996-2023 + Copyright (C) 1996-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/editor/editoptions.c mc-4.8.31/src/editor/editoptions.c --- mc-4.8.30/src/editor/editoptions.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/editor/editoptions.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Editor options dialog box - Copyright (C) 1996-2023 + Copyright (C) 1996-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/editor/editsearch.c mc-4.8.31/src/editor/editsearch.c --- mc-4.8.30/src/editor/editsearch.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/editor/editsearch.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Search & replace engine of MCEditor. - Copyright (C) 2021-2023 + Copyright (C) 2021-2024 Free Software Foundation, Inc. Written by: @@ -29,7 +29,7 @@ #include "lib/global.h" #include "lib/search.h" -#include "lib/mcconfig.h" /* mc_config_history_get */ +#include "lib/mcconfig.h" /* mc_config_history_get_recent_item() */ #ifdef HAVE_CHARSET #include "lib/charsets.h" /* cp_source */ #endif @@ -780,16 +780,12 @@ else { /* find last search string in history */ - GList *history; + char *s; - history = mc_config_history_get (MC_HISTORY_SHARED_SEARCH); - if (history != NULL) + s = mc_config_history_get_recent_item (MC_HISTORY_SHARED_SEARCH); + if (s != NULL) { - /* FIXME: is it possible that history->data == NULL? */ - edit->last_search_string = (char *) history->data; - history->data = NULL; - history = g_list_first (history); - g_list_free_full (history, g_free); + edit->last_search_string = s; if (edit_search_init (edit, edit->last_search_string)) { @@ -877,7 +873,8 @@ edit->search = NULL; } - input2_str = g_string_new (input2); + input2_str = g_string_new_take (input2); + input2 = NULL; if (edit->search == NULL) { diff -Nru mc-4.8.30/src/editor/editwidget.c mc-4.8.31/src/editor/editwidget.c --- mc-4.8.30/src/editor/editwidget.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/editor/editwidget.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Editor initialisation and callback handler. - Copyright (C) 1996-2023 + Copyright (C) 1996-2024 Free Software Foundation, Inc. Written by: @@ -152,7 +152,7 @@ QUICK_LABEL (N_("A user friendly text editor\n" "written for the Midnight Commander."), NULL), QUICK_SEPARATOR (FALSE), - QUICK_LABEL (N_("Copyright (C) 1996-2023 the Free Software Foundation"), NULL), + QUICK_LABEL (N_("Copyright (C) 1996-2024 the Free Software Foundation"), NULL), QUICK_START_BUTTONS (TRUE, TRUE), QUICK_BUTTON (N_("&OK"), B_ENTER, NULL, NULL), QUICK_END @@ -182,9 +182,10 @@ */ static void -edit_help (void) +edit_help (const WDialog * h) { - ev_help_t event_data = { NULL, "[Internal File Editor]" }; + ev_help_t event_data = { NULL, h->help_ctx }; + mc_event_raise (MCEVENT_GROUP_CORE, "help", &event_data); } @@ -426,8 +427,7 @@ dlg_close (h); break; case CK_Help: - edit_help (); - /* edit->force |= REDRAW_COMPLETELY; */ + edit_help (h); break; case CK_Menu: edit_menu_cmd (h); diff -Nru mc-4.8.30/src/editor/etags.c mc-4.8.31/src/editor/etags.c --- mc-4.8.30/src/editor/etags.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/editor/etags.c 2024-01-20 19:34:38.000000000 +0000 @@ -6,7 +6,7 @@ or, if etags utility not installed: $ find . -type f -name "*.[ch]" | ctags --c-kinds=+p --fields=+iaS --extra=+q -e -L- - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/editor/format.c mc-4.8.31/src/editor/format.c --- mc-4.8.30/src/editor/format.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/editor/format.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Dynamic paragraph formatting. - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Copyright (C) 1996 Paul Sheer diff -Nru mc-4.8.30/src/editor/spell.c mc-4.8.31/src/editor/spell.c --- mc-4.8.30/src/editor/spell.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/editor/spell.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Editor spell checker - Copyright (C) 2012-2023 + Copyright (C) 2012-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/editor/syntax.c mc-4.8.31/src/editor/syntax.c --- mc-4.8.30/src/editor/syntax.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/editor/syntax.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Editor syntax highlighting. - Copyright (C) 1996-2023 + Copyright (C) 1996-2024 Free Software Foundation, Inc. Written by: @@ -248,7 +248,8 @@ const unsigned char *p, *q; int c, d, j; - c = xx_tolower (edit, edit_buffer_get_byte (&edit->buffer, i - 1)); + c = edit_buffer_get_byte (&edit->buffer, i - 1); + c = xx_tolower (edit, c); if ((line_start && c != '\n') || (whole_left != NULL && strchr (whole_left, c) != NULL)) return -1; @@ -261,7 +262,8 @@ return -1; while (TRUE) { - c = xx_tolower (edit, edit_buffer_get_byte (&edit->buffer, i)); + c = edit_buffer_get_byte (&edit->buffer, i); + c = xx_tolower (edit, c); if (*p == '\0' && whole_right != NULL && strchr (whole_right, c) == NULL) break; if (c == *p) @@ -277,7 +279,8 @@ j = 0; while (TRUE) { - c = xx_tolower (edit, edit_buffer_get_byte (&edit->buffer, i)); + c = edit_buffer_get_byte (&edit->buffer, i); + c = xx_tolower (edit, c); if (c == *p) { j = i; @@ -308,7 +311,8 @@ while (TRUE) { d = c; - c = xx_tolower (edit, edit_buffer_get_byte (&edit->buffer, i)); + c = edit_buffer_get_byte (&edit->buffer, i); + c = xx_tolower (edit, c); for (j = 0; p[j] != SYNTAX_TOKEN_BRACKET && p[j] != '\0'; j++) if (c == p[j]) goto found_char2; @@ -327,7 +331,8 @@ case SYNTAX_TOKEN_BRACE: if (++p > q) return -1; - c = xx_tolower (edit, edit_buffer_get_byte (&edit->buffer, i)); + c = edit_buffer_get_byte (&edit->buffer, i); + c = xx_tolower (edit, c); for (; *p != SYNTAX_TOKEN_BRACE && *p != '\0'; p++) if (c == *p) goto found_char3; @@ -337,13 +342,18 @@ p++; break; default: - if (*p != xx_tolower (edit, edit_buffer_get_byte (&edit->buffer, i))) + c = edit_buffer_get_byte (&edit->buffer, i); + if (*p != xx_tolower (edit, c)) return -1; } } - return (whole_right != NULL && - strchr (whole_right, - xx_tolower (edit, edit_buffer_get_byte (&edit->buffer, i))) != NULL) ? -1 : i; + + if (whole_right == NULL) + return i; + + c = edit_buffer_get_byte (&edit->buffer, i); + c = xx_tolower (edit, c); + return strchr (whole_right, c) != NULL ? -1 : i; } /* --------------------------------------------------------------------------------------------- */ @@ -371,7 +381,8 @@ off_t end = 0; edit_syntax_rule_t _rule = edit->rule; - c = xx_tolower (edit, edit_buffer_get_byte (&edit->buffer, i)); + c = edit_buffer_get_byte (&edit->buffer, i); + c = xx_tolower (edit, c); if (c == 0) return; @@ -801,44 +812,44 @@ /* --------------------------------------------------------------------------------------------- */ static int -this_try_alloc_color_pair (const char *fg, const char *bg, const char *attrs) +this_try_alloc_color_pair (tty_color_pair_t * color) { char f[80], b[80], a[80], *p; - if (bg != NULL && *bg == '\0') - bg = NULL; - if (fg != NULL && *fg == '\0') - fg = NULL; - if (attrs != NULL && *attrs == '\0') - attrs = NULL; + if (color->bg != NULL && *color->bg == '\0') + color->bg = NULL; + if (color->fg != NULL && *color->fg == '\0') + color->fg = NULL; + if (color->attrs != NULL && *color->attrs == '\0') + color->attrs = NULL; - if ((fg == NULL) && (bg == NULL)) + if (color->fg == NULL && color->bg == NULL) return EDITOR_NORMAL_COLOR; - if (fg != NULL) + if (color->fg != NULL) { - g_strlcpy (f, fg, sizeof (f)); + g_strlcpy (f, color->fg, sizeof (f)); p = strchr (f, '/'); if (p != NULL) *p = '\0'; - fg = f; + color->fg = f; } - if (bg != NULL) + if (color->bg != NULL) { - g_strlcpy (b, bg, sizeof (b)); + g_strlcpy (b, color->bg, sizeof (b)); p = strchr (b, '/'); if (p != NULL) *p = '\0'; - bg = b; + color->bg = b; } - if ((fg == NULL) || (bg == NULL)) + if (color->fg == NULL || color->bg == NULL) { /* get colors from skin */ char *editnormal; editnormal = mc_skin_get ("editor", "_default_", "default;default"); - if (fg == NULL) + if (color->fg == NULL) { g_strlcpy (f, editnormal, sizeof (f)); p = strchr (f, ';'); @@ -846,24 +857,24 @@ *p = '\0'; if (f[0] == '\0') g_strlcpy (f, "default", sizeof (f)); - fg = f; + color->fg = f; } - if (bg == NULL) + if (color->bg == NULL) { p = strchr (editnormal, ';'); if ((p != NULL) && (*(++p) != '\0')) g_strlcpy (b, p, sizeof (b)); else g_strlcpy (b, "default", sizeof (b)); - bg = b; + color->bg = b; } g_free (editnormal); } - if (attrs != NULL) + if (color->attrs != NULL) { - g_strlcpy (a, attrs, sizeof (a)); + g_strlcpy (a, color->attrs, sizeof (a)); p = strchr (a, '/'); if (p != NULL) *p = '\0'; @@ -871,9 +882,10 @@ p = a; while ((p = strchr (p, SYNTAX_TOKEN_PLUS)) != NULL) *p++ = '+'; - attrs = a; + color->attrs = a; } - return tty_try_alloc_color_pair (fg, bg, attrs); + + return tty_try_alloc_color_pair (color, TRUE); } /* --------------------------------------------------------------------------------------------- */ @@ -923,7 +935,7 @@ edit_read_syntax_rules (WEdit * edit, FILE * f, char **args, int args_size) { FILE *g = NULL; - char *fg, *bg, *attrs; + tty_color_pair_t color; char last_fg[32] = "", last_bg[32] = "", last_attrs[64] = ""; char whole_right[512]; char whole_left[512]; @@ -1089,19 +1101,19 @@ g_ptr_array_add (c->keyword, k); no_words = FALSE; subst_defines (edit->defines, a, &args[ARGS_LEN]); - fg = *a; + color.fg = *a; if (*a != NULL) a++; - bg = *a; + color.bg = *a; if (*a != NULL) a++; - attrs = *a; + color.attrs = *a; if (*a != NULL) a++; - g_strlcpy (last_fg, fg != NULL ? fg : "", sizeof (last_fg)); - g_strlcpy (last_bg, bg != NULL ? bg : "", sizeof (last_bg)); - g_strlcpy (last_attrs, attrs != NULL ? attrs : "", sizeof (last_attrs)); - k->color = this_try_alloc_color_pair (fg, bg, attrs); + g_strlcpy (last_fg, color.fg != NULL ? color.fg : "", sizeof (last_fg)); + g_strlcpy (last_bg, color.bg != NULL ? color.bg : "", sizeof (last_bg)); + g_strlcpy (last_attrs, color.attrs != NULL ? color.attrs : "", sizeof (last_attrs)); + k->color = this_try_alloc_color_pair (&color); k->keyword = g_string_new (" "); check_not_a; } @@ -1153,22 +1165,22 @@ k->keyword = g_string_new (*a++); subst_defines (edit->defines, a, &args[ARGS_LEN]); - fg = *a; + color.fg = *a; if (*a != NULL) a++; - bg = *a; + color.bg = *a; if (*a != NULL) a++; - attrs = *a; + color.attrs = *a; if (*a != NULL) a++; - if (fg == NULL) - fg = last_fg; - if (bg == NULL) - bg = last_bg; - if (attrs == NULL) - attrs = last_attrs; - k->color = this_try_alloc_color_pair (fg, bg, attrs); + if (color.fg == NULL) + color.fg = last_fg; + if (color.bg == NULL) + color.bg = last_bg; + if (color.attrs == NULL) + color.attrs = last_attrs; + k->color = this_try_alloc_color_pair (&color); check_not_a; } else if (*(args[0]) == '#') @@ -1481,7 +1493,7 @@ g_ptr_array_free (edit->rules, TRUE); edit->rules = NULL; g_clear_slist (&edit->syntax_marker, g_free); - tty_color_free_all_tmp (); + tty_color_free_temp (); } /* --------------------------------------------------------------------------------------------- */ diff -Nru mc-4.8.30/src/events_init.c mc-4.8.31/src/events_init.c --- mc-4.8.30/src/events_init.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/events_init.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Event callbacks initialization - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/execute.c mc-4.8.31/src/execute.c --- mc-4.8.30/src/execute.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/execute.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Execution routines for GNU Midnight Commander - Copyright (C) 2003-2023 + Copyright (C) 2003-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/file_history.c mc-4.8.31/src/file_history.c --- mc-4.8.30/src/file_history.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/file_history.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Load and show history of edited and viewed files - Copyright (C) 2020-2023 + Copyright (C) 2020-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/filemanager/Makefile.am mc-4.8.31/src/filemanager/Makefile.am --- mc-4.8.30/src/filemanager/Makefile.am 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/Makefile.am 2024-01-20 19:34:38.000000000 +0000 @@ -35,6 +35,4 @@ if ENABLE_EXT2FS_ATTR libmcfilemanager_la_SOURCES += \ chattr.c - -AM_CPPFLAGS += @EXT2FS_CFLAGS@ @E2P_CFLAGS@ endif diff -Nru mc-4.8.30/src/filemanager/Makefile.in mc-4.8.31/src/filemanager/Makefile.in --- mc-4.8.30/src/filemanager/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/src/filemanager/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -91,7 +91,6 @@ @ENABLE_EXT2FS_ATTR_TRUE@am__append_1 = \ @ENABLE_EXT2FS_ATTR_TRUE@ chattr.c -@ENABLE_EXT2FS_ATTR_TRUE@am__append_2 = @EXT2FS_CFLAGS@ @E2P_CFLAGS@ subdir = src/filemanager ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ @@ -138,7 +137,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ @@ -467,7 +466,7 @@ # Unmaintained, unsupported, etc # listmode.c listmode.h -AM_CPPFLAGS = -I$(top_srcdir) $(GLIB_CFLAGS) $(am__append_2) +AM_CPPFLAGS = -I$(top_srcdir) $(GLIB_CFLAGS) all: all-am .SUFFIXES: diff -Nru mc-4.8.30/src/filemanager/achown.c mc-4.8.31/src/filemanager/achown.c --- mc-4.8.30/src/filemanager/achown.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/achown.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Chown-advanced command -- for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff -Nru mc-4.8.30/src/filemanager/boxes.c mc-4.8.31/src/filemanager/boxes.c --- mc-4.8.30/src/filemanager/boxes.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/boxes.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Some misc dialog boxes for the program. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/filemanager/cd.c mc-4.8.31/src/filemanager/cd.c --- mc-4.8.30/src/filemanager/cd.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/cd.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* cd_to() function. - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/filemanager/chattr.c mc-4.8.31/src/filemanager/chattr.c --- mc-4.8.30/src/filemanager/chattr.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/chattr.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Chattr command -- for the Midnight Commander - Copyright (C) 2020-2023 + Copyright (C) 2020-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/filemanager/chmod.c mc-4.8.31/src/filemanager/chmod.c --- mc-4.8.30/src/filemanager/chmod.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/chmod.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Chmod command -- for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff -Nru mc-4.8.30/src/filemanager/chown.c mc-4.8.31/src/filemanager/chown.c --- mc-4.8.30/src/filemanager/chown.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/chown.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Chown command -- for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff -Nru mc-4.8.30/src/filemanager/cmd.c mc-4.8.31/src/filemanager/cmd.c --- mc-4.8.30/src/filemanager/cmd.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/cmd.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Routines invoked by a function key They normally operate on the current panel. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -1199,15 +1199,15 @@ /* --------------------------------------------------------------------------------------------- */ -#ifdef ENABLE_VFS_FISH +#ifdef ENABLE_VFS_SHELL void -fishlink_cmd (void) +shelllink_cmd (void) { nice_cd (_("Shell link to machine"), _(machine_str), "[FIle transfer over SHell filesystem]", ":fishlink_cmd: Shell link to machine ", "sh://", 1, TRUE); } -#endif /* ENABLE_VFS_FISH */ +#endif /* ENABLE_VFS_SHELL */ /* --------------------------------------------------------------------------------------------- */ diff -Nru mc-4.8.30/src/filemanager/cmd.h mc-4.8.31/src/filemanager/cmd.h --- mc-4.8.30/src/filemanager/cmd.h 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/cmd.h 2024-01-20 19:34:38.000000000 +0000 @@ -35,8 +35,8 @@ #ifdef ENABLE_VFS_SFTP void sftplink_cmd (void); #endif -#ifdef ENABLE_VFS_FISH -void fishlink_cmd (void); +#ifdef ENABLE_VFS_SHELL +void shelllink_cmd (void); #endif void undelete_cmd (void); void help_cmd (void); diff -Nru mc-4.8.30/src/filemanager/command.c mc-4.8.31/src/filemanager/command.c --- mc-4.8.30/src/filemanager/command.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/command.c 2024-01-20 19:34:38.000000000 +0000 @@ -4,7 +4,7 @@ with all the magic of the command input line, we depend on some help from the program's callback. - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: @@ -139,8 +139,11 @@ char *s; s = expand_format (NULL, cmd[++i], TRUE); - g_string_append (command, s); - g_free (s); + if (s != NULL) + { + g_string_append (command, s); + g_free (s); + } } } @@ -248,8 +251,11 @@ char *quoted_text; quoted_text = name_quote (text, TRUE); - input_insert (in, quoted_text, insert_extra_space); - g_free (quoted_text); + if (quoted_text != NULL) + { + input_insert (in, quoted_text, insert_extra_space); + g_free (quoted_text); + } } /* --------------------------------------------------------------------------------------------- */ diff -Nru mc-4.8.30/src/filemanager/dir.c mc-4.8.31/src/filemanager/dir.c --- mc-4.8.30/src/filemanager/dir.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/dir.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Directory routines - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/filemanager/ext.c mc-4.8.31/src/filemanager/ext.c --- mc-4.8.30/src/filemanager/ext.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/ext.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Extension dependent execution. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -331,15 +331,19 @@ } } - if (!is_cd) - g_string_append (shell_string, text); - else + if (text != NULL) { - strcpy (pbuffer, text); - pbuffer = strchr (pbuffer, 0); + if (!is_cd) + g_string_append (shell_string, text); + else + { + strcpy (pbuffer, text); + pbuffer = strchr (pbuffer, '\0'); + } + + g_free (text); } - g_free (text); written_nonspace = TRUE; } } @@ -593,12 +597,15 @@ static int get_file_type_local (const vfs_path_t * filename_vpath, char *buf, int buflen) { - char *tmp; - int ret; + char *filename_quoted; + int ret = 0; - tmp = name_quote (vfs_path_get_last_path_str (filename_vpath), FALSE); - ret = get_popen_information (FILE_CMD, tmp, buf, buflen); - g_free (tmp); + filename_quoted = name_quote (vfs_path_get_last_path_str (filename_vpath), FALSE); + if (filename_quoted != NULL) + { + ret = get_popen_information (FILE_CMD, filename_quoted, buf, buflen); + g_free (filename_quoted); + } return ret; } @@ -613,18 +620,28 @@ static int get_file_encoding_local (const vfs_path_t * filename_vpath, char *buf, int buflen) { - char *tmp, *lang, *args; - int ret; + char *filename_quoted; + int ret = 0; + + filename_quoted = name_quote (vfs_path_get_last_path_str (filename_vpath), FALSE); + if (filename_quoted != NULL) + { + char *lang; + + lang = name_quote (autodetect_codeset, FALSE); + if (lang != NULL) + { + char *args; + + args = g_strdup_printf (" -L %s -i %s", lang, filename_quoted); + g_free (lang); - tmp = name_quote (vfs_path_get_last_path_str (filename_vpath), FALSE); - lang = name_quote (autodetect_codeset, FALSE); - args = g_strconcat (" -L", lang, " -i ", tmp, (char *) NULL); - - ret = get_popen_information ("enca", args, buf, buflen); - - g_free (args); - g_free (lang); - g_free (tmp); + ret = get_popen_information ("enca", args, buf, buflen); + g_free (args); + } + + g_free (filename_quoted); + } return ret; } diff -Nru mc-4.8.30/src/filemanager/file.c mc-4.8.31/src/filemanager/file.c --- mc-4.8.30/src/filemanager/file.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/file.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* File management. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -1521,7 +1521,7 @@ * * ATTENTION! Be careful when modifying this function (like commit 25e419ba0886f)! * Some implementations of readdir() in MC VFS (for example, vfs_s_readdir(), which is used - * in FISH) don't return "." and ".." entries. + * in SHELL) don't return "." and ".." entries. */ static int check_dir_is_empty (const vfs_path_t * vpath) @@ -2765,9 +2765,12 @@ /* Query to remove short file */ if (query_dialog (Q_ ("DialogTitle|Copy"), _("Incomplete file was retrieved"), D_ERROR, 2, _("&Delete"), _("&Keep")) == 0) - mc_unlink (dst_vpath); + dst_status = DEST_SHORT_DELETE; + else + dst_status = DEST_SHORT_KEEP; } - else if (dst_status == DEST_SHORT_DELETE) + + if (dst_status == DEST_SHORT_DELETE) mc_unlink (dst_vpath); else if (dst_status == DEST_FULL && !appending) { @@ -2812,9 +2815,11 @@ src_mode = 0100666 & ~src_mode; mc_chmod (dst_vpath, (src_mode & ctx->umask_kill)); } + } + /* Always sync timestamps */ + if (dst_status == DEST_FULL || dst_status == DEST_SHORT_KEEP) mc_utime (dst_vpath, ×); - } if (return_status == FILE_CONT) return_status = progress_update_one (tctx, ctx, file_size); diff -Nru mc-4.8.30/src/filemanager/filegui.c mc-4.8.31/src/filemanager/filegui.c --- mc-4.8.30/src/filemanager/filegui.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/filegui.c 2024-01-20 19:34:38.000000000 +0000 @@ -10,7 +10,7 @@ Janne Kukonlehto added much error recovery to them for being used in an interactive program. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/filemanager/filemanager.c mc-4.8.31/src/filemanager/filemanager.c --- mc-4.8.30/src/filemanager/filemanager.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/filemanager.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Main dialog (file panels) of the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -210,8 +210,8 @@ #ifdef ENABLE_VFS_FTP entries = g_list_prepend (entries, menu_entry_new (_("FT&P link..."), CK_ConnectFtp)); #endif -#ifdef ENABLE_VFS_FISH - entries = g_list_prepend (entries, menu_entry_new (_("S&hell link..."), CK_ConnectFish)); +#ifdef ENABLE_VFS_SHELL + entries = g_list_prepend (entries, menu_entry_new (_("S&hell link..."), CK_ConnectShell)); #endif #ifdef ENABLE_VFS_SFTP entries = g_list_prepend (entries, menu_entry_new (_("SFTP li&nk..."), CK_ConnectSftp)); @@ -1240,9 +1240,9 @@ case CK_Find: find_cmd (current_panel); break; -#ifdef ENABLE_VFS_FISH - case CK_ConnectFish: - fishlink_cmd (); +#ifdef ENABLE_VFS_SHELL + case CK_ConnectShell: + shelllink_cmd (); break; #endif #ifdef ENABLE_VFS_FTP diff -Nru mc-4.8.30/src/filemanager/filenot.c mc-4.8.31/src/filemanager/filenot.c --- mc-4.8.30/src/filemanager/filenot.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/filenot.c 2024-01-20 19:34:38.000000000 +0000 @@ -3,7 +3,7 @@ tree about the changes made to the directory structure. - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Author: diff -Nru mc-4.8.30/src/filemanager/fileopctx.c mc-4.8.31/src/filemanager/fileopctx.c --- mc-4.8.30/src/filemanager/fileopctx.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/fileopctx.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* File operation contexts for the Midnight Commander - Copyright (C) 1999-2023 + Copyright (C) 1999-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/filemanager/find.c mc-4.8.31/src/filemanager/find.c --- mc-4.8.30/src/filemanager/find.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/find.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Find file command for the Midnight Commander - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/filemanager/hotlist.c mc-4.8.31/src/filemanager/hotlist.c --- mc-4.8.30/src/filemanager/hotlist.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/hotlist.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Directory hotlist -- for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/filemanager/info.c mc-4.8.31/src/filemanager/info.c --- mc-4.8.30/src/filemanager/info.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/info.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Panel managing. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/filemanager/layout.c mc-4.8.31/src/filemanager/layout.c --- mc-4.8.30/src/filemanager/layout.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/layout.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Panel layout module for the Midnight Commander - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: @@ -1015,8 +1015,7 @@ #ifdef ENABLE_SUBSHELL if (mc_global.tty.use_subshell) { - subshell_prompt = g_string_new (tmp_prompt); - g_free (tmp_prompt); + subshell_prompt = g_string_new_take (tmp_prompt); mc_prompt = subshell_prompt->str; } #endif diff -Nru mc-4.8.30/src/filemanager/mountlist.c mc-4.8.31/src/filemanager/mountlist.c --- mc-4.8.30/src/filemanager/mountlist.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/mountlist.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Return a list of mounted file systems - Copyright (C) 1991-2023 + Copyright (C) 1991-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff -Nru mc-4.8.30/src/filemanager/panel.c mc-4.8.31/src/filemanager/panel.c --- mc-4.8.30/src/filemanager/panel.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/panel.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Panel managing. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -2353,8 +2353,7 @@ mc_build_filename (vfs_path_as_str (panel->panelized_descr->root_vpath), fname->str, (char *) NULL); - fname = g_string_new (fname2); - g_free (fname2); + fname = g_string_new_take (fname2); } bname = x_basename (fname->str); @@ -2923,6 +2922,7 @@ do_enter_on_file_entry (WPanel * panel, file_entry_t * fe) { const char *fname = fe->fname->str; + char *fname_quoted; vfs_path_t *full_name_vpath; gboolean ok; @@ -2973,12 +2973,14 @@ return confirm_execute || (ret == 0); } + fname_quoted = name_quote (fname, FALSE); + if (fname_quoted != NULL) { - char *tmp, *cmd; + char *cmd; + + cmd = g_strconcat ("." PATH_SEP_STR, fname_quoted, (char *) NULL); + g_free (fname_quoted); - tmp = name_quote (fname, FALSE); - cmd = g_strconcat (".", PATH_SEP_STR, tmp, (char *) NULL); - g_free (tmp); shell_execute (cmd, 0); g_free (cmd); } @@ -5240,8 +5242,7 @@ tmp_vpath = vfs_path_append_new (pdescr->root_vpath, plist->list[i].fname->str, (char *) NULL); - list->list[i].fname = g_string_new (vfs_path_as_str (tmp_vpath)); - vfs_path_free (tmp_vpath, TRUE); + list->list[i].fname = g_string_new_take (vfs_path_free (tmp_vpath, FALSE)); } list->list[i].f.link_to_dir = plist->list[i].f.link_to_dir; list->list[i].f.stale_link = plist->list[i].f.stale_link; diff -Nru mc-4.8.30/src/filemanager/panelize.c mc-4.8.31/src/filemanager/panelize.c --- mc-4.8.30/src/filemanager/panelize.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/panelize.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* External panelize - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/filemanager/tree.c mc-4.8.31/src/filemanager/tree.c --- mc-4.8.30/src/filemanager/tree.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/tree.c 2024-01-20 19:34:38.000000000 +0000 @@ -6,7 +6,7 @@ created and destroyed. This is required for the future vfs layer, it will be possible to have tree views over virtual file systems. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -985,6 +985,16 @@ /* --------------------------------------------------------------------------------------------- */ +static void +tree_help (void) +{ + ev_help_t event_data = { NULL, "[Directory Tree]" }; + + mc_event_raise (MCEVENT_GROUP_CORE, "help", &event_data); +} + +/* --------------------------------------------------------------------------------------------- */ + static cb_ret_t tree_execute_cmd (WTree * tree, long command) { @@ -996,10 +1006,7 @@ switch (command) { case CK_Help: - { - ev_help_t event_data = { NULL, "[Directory Tree]" }; - mc_event_raise (MCEVENT_GROUP_CORE, "help", &event_data); - } + tree_help (); break; case CK_Forget: tree_forget (tree); diff -Nru mc-4.8.30/src/filemanager/treestore.c mc-4.8.31/src/filemanager/treestore.c --- mc-4.8.30/src/filemanager/treestore.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/filemanager/treestore.c 2024-01-20 19:34:38.000000000 +0000 @@ -8,7 +8,7 @@ created and destroyed. This is required for the future vfs layer, it will be possible to have tree views over virtual file systems. - Copyright (C) 1999-2023 + Copyright (C) 1999-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/help.c mc-4.8.31/src/help.c --- mc-4.8.30/src/help.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/help.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Hypertext file browser. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. @@ -126,21 +126,20 @@ search_string (const char *start, const char *text) { const char *result = NULL; - char *local_text = g_strdup (text); - char *d = local_text; + char *local_text; + char *d; const char *e = start; + local_text = g_strdup (text); + /* fmt sometimes replaces a space with a newline in the help file */ /* Replace the newlines in the link name with spaces to correct the situation */ - while (*d != '\0') - { + for (d = local_text; *d != '\0'; str_next_char (&d)) if (*d == '\n') *d = ' '; - str_next_char (&d); - } /* Do search */ - for (d = local_text; *e; e++) + for (d = local_text; *e != '\0'; e++) { if (*d == *e) d++; @@ -166,11 +165,12 @@ static const char * search_string_node (const char *start, const char *text) { - const char *d = text; - const char *e = start; - if (start != NULL) - for (; *e && *e != CHAR_NODE_END; e++) + { + const char *d = text; + const char *e; + + for (e = start; *e != '\0' && *e != CHAR_NODE_END; e++) { if (*d == *e) d++; @@ -179,6 +179,7 @@ if (*d == '\0') return e + 1; } + } return NULL; } @@ -271,7 +272,7 @@ static void move_to_top (void) { - while (((int) (currentpoint > fdata) > 0) && (*currentpoint != CHAR_NODE_END)) + while (((int) (currentpoint - fdata) > 0) && (*currentpoint != CHAR_NODE_END)) currentpoint--; while (*currentpoint != ']') @@ -301,7 +302,7 @@ if (lc_selected_item == NULL) return start; - for (p = lc_selected_item; *p && *p != CHAR_NODE_END && *p != CHAR_LINK_POINTER; p++) + for (p = lc_selected_item; *p != '\0' && *p != CHAR_NODE_END && *p != CHAR_LINK_POINTER; p++) ; if (*p == CHAR_LINK_POINTER) { @@ -309,7 +310,8 @@ char link_name[MAXLINKNAME]; link_name[0] = '['; - for (i = 1; *p != CHAR_LINK_END && *p && *p != CHAR_NODE_END && i < MAXLINKNAME - 3;) + for (i = 1; + *p != CHAR_LINK_END && *p != '\0' && *p != CHAR_NODE_END && i < MAXLINKNAME - 3;) link_name[i++] = *++p; link_name[i - 1] = ']'; link_name[i] = '\0'; @@ -447,10 +449,7 @@ static void help_show (WDialog * h, const char *paint_start) { - const char *p, *n; - int col, line, c; gboolean painting = TRUE; - gboolean acs; /* Flag: Alternate character set active? */ gboolean repeat_paint; int active_col, active_line; /* Active link position */ char buff[MB_LEN_MAX + 1]; @@ -461,9 +460,15 @@ tty_setcolor (HELP_NORMAL_COLOR); do { - line = col = active_col = active_line = 0; + int line = 0; + int col = 0; + gboolean acs = FALSE; /* Flag: Is alternate character set active? */ + const char *p, *n; + + active_col = 0; + active_line = 0; + repeat_paint = FALSE; - acs = FALSE; clear_link_areas (); if ((int) (selected_item - paint_start) < 0) @@ -473,6 +478,8 @@ n = paint_start; while ((n[0] != '\0') && (n[0] != CHAR_NODE_END) && (line < help_lines)) { + int c; + p = n; n = str_cget_next_char (p); memcpy (buff, p, n - p); @@ -597,7 +604,7 @@ g_string_free (word, TRUE); /* Position the cursor over a nice link */ - if (active_col) + if (active_col != 0) widget_gotoyx (h, active_line, active_col); } @@ -1143,9 +1150,8 @@ selected_item = search_string_node (main_node, STRING_LINK_START) - 1; currentpoint = main_node + 1; /* Skip the newline following the start of the node */ - for (history_ptr = HISTORY_SIZE; history_ptr;) + for (history_ptr = HISTORY_SIZE - 1; history_ptr >= 0; history_ptr--) { - history_ptr--; history[history_ptr].page = currentpoint; history[history_ptr].link = selected_item; } diff -Nru mc-4.8.30/src/keymap.c mc-4.8.31/src/keymap.c --- mc-4.8.30/src/keymap.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/keymap.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Default values and initialization of keybinding engine - Copyright (C) 2009-2023 + Copyright (C) 2009-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/learn.c mc-4.8.31/src/learn.c --- mc-4.8.30/src/learn.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/learn.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Learn keys - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/main.c mc-4.8.31/src/main.c --- mc-4.8.30/src/main.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/main.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Main program for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -279,6 +279,13 @@ return exit_code; } + /* check terminal type + * $TERM must be set and not empty + * mc_global.tty.xterm_flag is used in init_key() and tty_init() + * Do this after mc_args_parse() where mc_args__force_xterm is set up. + */ + mc_global.tty.xterm_flag = tty_check_term (mc_args__force_xterm); + /* do this before mc_args_show_info () to view paths in the --datadir-info output */ OS_Setup (); @@ -346,13 +353,6 @@ vfs_path_free (vpath, TRUE); } - /* check terminal type - * $TERM must be set and not empty - * mc_global.tty.xterm_flag is used in init_key() and tty_init() - * Do this after mc_args_handle() where mc_args__force_xterm is set up. - */ - mc_global.tty.xterm_flag = tty_check_term (mc_args__force_xterm); - /* NOTE: This has to be called before tty_init or whatever routine calls any define_sequence */ init_key (); diff -Nru mc-4.8.30/src/man2hlp/Makefile.in mc-4.8.31/src/man2hlp/Makefile.in --- mc-4.8.30/src/man2hlp/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/src/man2hlp/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/src/man2hlp/man2hlp.in mc-4.8.31/src/man2hlp/man2hlp.in --- mc-4.8.30/src/man2hlp/man2hlp.in 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/man2hlp/man2hlp.in 2024-01-20 19:34:38.000000000 +0000 @@ -1,8 +1,7 @@ #! @PERL_FOR_BUILD@ # # Man page to help file converter -# Copyright (C) 1994, 1995, 1998, 2000, 2001, 2002, 2003, 2004, 2005, -# 2007, 2010, 2011 +# Copyright (C) 1994-2024 # The Free Software Foundation, Inc. # # Originally written by: diff -Nru mc-4.8.30/src/selcodepage.c mc-4.8.31/src/selcodepage.c --- mc-4.8.30/src/selcodepage.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/selcodepage.c 2024-01-20 19:34:38.000000000 +0000 @@ -3,7 +3,7 @@ Copyright (C) 2001 Walery Studennikov - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/setup.c mc-4.8.31/src/setup.c --- mc-4.8.30/src/setup.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/setup.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Setup loading/saving. - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. @@ -44,8 +44,8 @@ #ifdef ENABLE_VFS_FTP #include "src/vfs/ftpfs/ftpfs.h" #endif -#ifdef ENABLE_VFS_FISH -#include "src/vfs/fish/fish.h" +#ifdef ENABLE_VFS_SHELL +#include "src/vfs/shell/shell.h" #endif #ifdef HAVE_CHARSET @@ -227,7 +227,7 @@ /*** file scope variables ************************************************************************/ static char *profile_name = NULL; /* ${XDG_CONFIG_HOME}/mc/ini */ -static char *panels_profile_name = NULL; /* ${XDG_CACHE_HOME}/mc/panels.ini */ +static char *panels_profile_name = NULL; /* ${XDG_CONFIG_HOME}/mc/panels.ini */ /* *INDENT-OFF* */ static const struct @@ -386,9 +386,9 @@ { "ftpfs_directory_timeout", &ftpfs_directory_timeout }, { "ftpfs_retry_seconds", &ftpfs_retry_seconds }, #endif /* ENABLE_VFS_FTP */ -#ifdef ENABLE_VFS_FISH - { "fish_directory_timeout", &fish_directory_timeout }, -#endif /* ENABLE_VFS_FISH */ +#ifdef ENABLE_VFS_SHELL + { "shell_directory_timeout", &shell_directory_timeout }, +#endif /* ENABLE_VFS_SHELL */ #endif /* ENABLE_VFS */ /* option_tab_spacing is used in internal viewer */ { "editor_tab_spacing", &option_tab_spacing }, diff -Nru mc-4.8.30/src/subshell/Makefile.in mc-4.8.31/src/subshell/Makefile.in --- mc-4.8.30/src/subshell/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/src/subshell/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/src/subshell/common.c mc-4.8.31/src/subshell/common.c --- mc-4.8.30/src/subshell/common.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/subshell/common.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Concurrent shell support for the Midnight Commander - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/subshell/proxyfunc.c mc-4.8.31/src/subshell/proxyfunc.c --- mc-4.8.30/src/subshell/proxyfunc.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/subshell/proxyfunc.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Proxy functions for getting access to public variables into 'filemanager' module. - Copyright (C) 2015-2023 + Copyright (C) 2015-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/textconf.c mc-4.8.31/src/textconf.c --- mc-4.8.30/src/textconf.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/textconf.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Print features specific for this build - Copyright (C) 2000-2023 + Copyright (C) 2000-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. @@ -75,8 +75,8 @@ #ifdef ENABLE_VFS_SFTP "sftpfs", #endif -#ifdef ENABLE_VFS_FISH - "fish", +#ifdef ENABLE_VFS_SHELL + "shell", #endif NULL }; @@ -218,15 +218,15 @@ PRINTF_SECTION (_("File extension handlers:"), EXTHELPERSDIR); -#if defined ENABLE_VFS_EXTFS || defined ENABLE_VFS_FISH +#if defined ENABLE_VFS_EXTFS || defined ENABLE_VFS_SHELL PRINTF_SECTION (_("VFS plugins and scripts:"), LIBEXECDIR); #ifdef ENABLE_VFS_EXTFS PRINTF2 ("extfs.d:", LIBEXECDIR, MC_EXTFS_DIR PATH_SEP_STR); #endif -#ifdef ENABLE_VFS_FISH - PRINTF2 ("fish:", LIBEXECDIR, FISH_PREFIX PATH_SEP_STR); +#ifdef ENABLE_VFS_SHELL + PRINTF2 ("shell:", LIBEXECDIR, VFS_SHELL_PREFIX PATH_SEP_STR); #endif -#endif /* ENABLE_VFS_EXTFS || defiined ENABLE_VFS_FISH */ +#endif /* ENABLE_VFS_EXTFS || defiined ENABLE_VFS_SHELL */ (void) puts (""); PRINTF_GROUP (_("User data")); @@ -237,8 +237,8 @@ #ifdef ENABLE_VFS_EXTFS PRINTF ("extfs.d:", mc_config_get_data_path (), MC_EXTFS_DIR PATH_SEP_STR); #endif -#ifdef ENABLE_VFS_FISH - PRINTF ("fish:", mc_config_get_data_path (), FISH_PREFIX PATH_SEP_STR); +#ifdef ENABLE_VFS_SHELL + PRINTF ("shell:", mc_config_get_data_path (), VFS_SHELL_PREFIX PATH_SEP_STR); #endif #ifdef USE_INTERNAL_EDIT PRINTF ("mcedit macros:", mc_config_get_data_path (), MC_MACRO_FILE); diff -Nru mc-4.8.30/src/usermenu.c mc-4.8.31/src/usermenu.c --- mc-4.8.30/src/usermenu.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/usermenu.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* User Menu implementation - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -86,20 +86,24 @@ static char * strip_ext (char *ss) { - char *s = ss; + char *s; char *e = NULL; - while (*s != '\0') + if (ss == NULL) + return NULL; + + for (s = ss; *s != '\0'; s++) { if (*s == '.') e = s; if (IS_PATH_SEP (*s) && e != NULL) e = NULL; /* '.' in *directory* name */ - s++; } + if (e != NULL) *e = '\0'; - return ss; + + return (*ss == '\0' ? NULL : ss); } /* --------------------------------------------------------------------------------------------- */ @@ -501,8 +505,11 @@ char *tmp; tmp = name_quote (parameter, FALSE); - fputs (tmp, cmd_file); - g_free (tmp); + if (tmp != NULL) + { + fputs (tmp, cmd_file); + g_free (tmp); + } } else fputs (parameter, cmd_file); @@ -528,8 +535,11 @@ char *text; text = expand_format (edit_widget, *commands, do_quote); - fputs (text, cmd_file); - g_free (text); + if (text != NULL) + { + fputs (text, cmd_file); + g_free (text); + } } } else if (*commands == '%') @@ -779,7 +789,7 @@ else { if (get_other_type () != view_listing) - return g_strdup (""); + return NULL; panel = other_panel; } @@ -800,7 +810,7 @@ default: /* other modes don't use formats */ - return g_strdup (""); + return NULL; } if (do_quote) @@ -822,16 +832,13 @@ case 'd': { const char *cwd; - char *qstr; if (panel != NULL) cwd = vfs_path_as_str (panel->cwd_vpath); else cwd = vfs_get_current_dir (); - qstr = quote_func (cwd, FALSE); - - result = qstr; + result = quote_func (cwd, FALSE); goto ret; } case 'c': @@ -914,31 +921,37 @@ case 't': case 'u': { - GString *block; + GString *block = NULL; int i; if (panel == NULL) { - result = g_strdup (""); + result = NULL; goto ret; } - block = g_string_sized_new (16); - for (i = 0; i < panel->dir.len; i++) if (panel->dir.list[i].f.marked != 0) { char *tmp; tmp = quote_func (panel->dir.list[i].fname->str, FALSE); - g_string_append (block, tmp); - g_string_append_c (block, ' '); - g_free (tmp); + if (tmp != NULL) + { + if (block == NULL) + block = g_string_new_take (tmp); + else + { + g_string_append (block, tmp); + g_free (tmp); + } + g_string_append_c (block, ' '); + } if (c_lc == 'u') do_file_mark (panel, i, 0); } - result = g_string_free (block, FALSE); + result = block == NULL ? NULL : g_string_free (block, block->len == 0); goto ret; } /* sub case block */ default: diff -Nru mc-4.8.30/src/util.c mc-4.8.31/src/util.c --- mc-4.8.30/src/util.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/util.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Various non-library utilities - Copyright (C) 2003-2023 + Copyright (C) 2003-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/vfs/Makefile.am mc-4.8.31/src/vfs/Makefile.am --- mc-4.8.30/src/vfs/Makefile.am 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/Makefile.am 2024-01-20 19:34:38.000000000 +0000 @@ -16,9 +16,9 @@ libmc_vfs_la_LIBADD += extfs/libvfs-extfs.la endif -if ENABLE_VFS_FISH -SUBDIRS += fish -libmc_vfs_la_LIBADD += fish/libvfs-fish.la +if ENABLE_VFS_SHELL +SUBDIRS += shell +libmc_vfs_la_LIBADD += shell/libvfs-shell.la endif if ENABLE_VFS_FTP diff -Nru mc-4.8.30/src/vfs/Makefile.in mc-4.8.31/src/vfs/Makefile.in --- mc-4.8.30/src/vfs/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/src/vfs/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -92,8 +92,8 @@ @ENABLE_VFS_CPIO_TRUE@am__append_2 = cpio/libvfs-cpio.la @ENABLE_VFS_EXTFS_TRUE@am__append_3 = extfs @ENABLE_VFS_EXTFS_TRUE@am__append_4 = extfs/libvfs-extfs.la -@ENABLE_VFS_FISH_TRUE@am__append_5 = fish -@ENABLE_VFS_FISH_TRUE@am__append_6 = fish/libvfs-fish.la +@ENABLE_VFS_SHELL_TRUE@am__append_5 = shell +@ENABLE_VFS_SHELL_TRUE@am__append_6 = shell/libvfs-shell.la @ENABLE_VFS_FTP_TRUE@am__append_7 = ftpfs @ENABLE_VFS_FTP_TRUE@am__append_8 = ftpfs/libvfs-ftpfs.la @ENABLE_VFS_SFTP_TRUE@am__append_9 = sftpfs @@ -150,7 +150,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ @@ -252,7 +252,7 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -DIST_SUBDIRS = local cpio extfs fish ftpfs sftpfs sfs tar undelfs +DIST_SUBDIRS = local cpio extfs shell ftpfs sftpfs sfs tar undelfs am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ diff -Nru mc-4.8.30/src/vfs/cpio/Makefile.in mc-4.8.31/src/vfs/cpio/Makefile.in --- mc-4.8.30/src/vfs/cpio/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/src/vfs/cpio/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/src/vfs/cpio/cpio.c mc-4.8.31/src/vfs/cpio/cpio.c --- mc-4.8.30/src/vfs/cpio/cpio.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/cpio/cpio.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Virtual File System: GNU Tar file system. - Copyright (C) 2000-2023 + Copyright (C) 2000-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/vfs/extfs/Makefile.in mc-4.8.31/src/vfs/extfs/Makefile.in --- mc-4.8.30/src/vfs/extfs/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/src/vfs/extfs/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/src/vfs/extfs/extfs.c mc-4.8.31/src/vfs/extfs/extfs.c --- mc-4.8.30/src/vfs/extfs/extfs.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/extfs/extfs.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Virtual File System: External file system. - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: @@ -916,10 +916,9 @@ { char *file; char *quoted_file; - char *quoted_localname; char *archive_name, *quoted_archive_name; const extfs_plugin_info_t *info; - char *cmd; + char *cmd = NULL; int retval = 0; GError *error = NULL; mc_pipe_t *pip; @@ -928,20 +927,49 @@ quoted_file = name_quote (file, FALSE); g_free (file); + if (quoted_file == NULL) + { + message (D_ERROR, MSG_ERROR, _("EXTFS virtual file system:\nwrong file name")); + return (-1); + } + /* Skip leading "./" (if present) added in name_quote() */ file = extfs_skip_leading_dotslash (quoted_file); archive_name = extfs_get_archive_name (archive); quoted_archive_name = name_quote (archive_name, FALSE); g_free (archive_name); - quoted_localname = name_quote (localname, FALSE); + + if (quoted_archive_name == NULL) + { + message (D_ERROR, MSG_ERROR, _("EXTFS virtual file system:\nwrong archive name")); + return (-1); + } + info = &g_array_index (extfs_plugins, extfs_plugin_info_t, archive->fstype); - cmd = g_strconcat (info->path, info->prefix, str_extfs_cmd, - quoted_archive_name, " ", file, " ", quoted_localname, (char *) NULL); + + if (localname == NULL || *localname == '\0') + cmd = g_strconcat (info->path, info->prefix, str_extfs_cmd, quoted_archive_name, " ", + file, (char *) NULL); + else + { + char *quoted_localname; + + quoted_localname = name_quote (localname, FALSE); + cmd = g_strconcat (info->path, info->prefix, str_extfs_cmd, quoted_archive_name, " ", + file, " ", quoted_localname, (char *) NULL); + g_free (quoted_localname); + } + g_free (quoted_file); - g_free (quoted_localname); g_free (quoted_archive_name); + if (cmd == NULL) + { + message (D_ERROR, MSG_ERROR, _("EXTFS virtual file system:\ncannot build command")); + return (-1); + } + /* don't read stdout */ pip = mc_popen (cmd, FALSE, TRUE, &error); g_free (cmd); diff -Nru mc-4.8.30/src/vfs/extfs/helpers/Makefile.in mc-4.8.31/src/vfs/extfs/helpers/Makefile.in --- mc-4.8.30/src/vfs/extfs/helpers/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/src/vfs/extfs/helpers/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -135,7 +135,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/src/vfs/extfs/helpers/iso9660.in mc-4.8.31/src/vfs/extfs/helpers/iso9660.in --- mc-4.8.30/src/vfs/extfs/helpers/iso9660.in 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/extfs/helpers/iso9660.in 2024-01-20 19:34:38.000000000 +0000 @@ -132,6 +132,7 @@ *.lz) MYCAT="lzip -dc";; *.lz4) MYCAT="lz4 -dc";; *.lzma) MYCAT="lzma -dc";; + *.lzo) MYCAT="lzop -dc";; *.xz) MYCAT="xz -dc";; *.zst) MYCAT="zstd -dc";; *.bz2) MYCAT="bzip2 -dc";; diff -Nru mc-4.8.30/src/vfs/extfs/helpers/lslR.in mc-4.8.31/src/vfs/extfs/helpers/lslR.in --- mc-4.8.30/src/vfs/extfs/helpers/lslR.in 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/extfs/helpers/lslR.in 2024-01-20 19:34:38.000000000 +0000 @@ -15,6 +15,7 @@ *.lz) MYCAT="lzip -dc";; *.lz4) MYCAT="lz4 -dc";; *.lzma) MYCAT="lzma -dc";; + *.lzo) MYCAT="lzop -dc";; *.xz) MYCAT="xz -dc";; *.zst) MYCAT="zstd -dc";; *.bz2) MYCAT="bzip2 -dc";; diff -Nru mc-4.8.30/src/vfs/extfs/helpers/mailfs.in mc-4.8.31/src/vfs/extfs/helpers/mailfs.in --- mc-4.8.30/src/vfs/extfs/helpers/mailfs.in 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/extfs/helpers/mailfs.in 2024-01-20 19:34:38.000000000 +0000 @@ -11,6 +11,7 @@ $lzipcat="lzip -dc"; # unlzip to stdout $lz4cat="lz4 -dc"; # unlz4 to stdout $lzcat="lzma -dc"; # unlzma to stdout +$lzocat="lzop -dc"; # unlzo to stdout $xzcat="xz -dc"; # unxz to stdout $zstdcat="zstd -dc"; # unzstd to stdout $file="file"; # "file" command @@ -194,6 +195,8 @@ exit 1 unless (open IN, "$lz4cat $mbox_qname|"); } elsif (/lzma/) { exit 1 unless (open IN, "$lzcat $mbox_qname|"); +} elsif (/lzo/) { + exit 1 unless (open IN, "$lzocat $mbox_qname|"); } elsif (/xz/) { exit 1 unless (open IN, "$xzcat $mbox_qname|"); } elsif (/zst/) { diff -Nru mc-4.8.30/src/vfs/extfs/helpers/patchfs.in mc-4.8.31/src/vfs/extfs/helpers/patchfs.in --- mc-4.8.30/src/vfs/extfs/helpers/patchfs.in 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/extfs/helpers/patchfs.in 2024-01-20 19:34:38.000000000 +0000 @@ -17,6 +17,7 @@ my $lzip = 'lzip'; my $lz4 = 'lz4'; my $lzma = 'lzma'; +my $lzo = 'lzop'; my $xz = 'xz'; my $zstd = 'zstd'; my $bzip = 'bzip2'; @@ -88,6 +89,8 @@ return "$lzip -dc $qfname"; } elsif (/^'*lzma/) { return "$lzma -dc $qfname"; + } elsif (/^'*lzo/) { + return "$lzo -dc $qfname"; } elsif (/^'*xz/) { return "$xz -dc $qfname"; } elsif (/^'*zst/) { @@ -114,6 +117,8 @@ return "$lzip -c $sep $qfname"; } elsif (/^'*lzma/) { return "$lzma -c $sep $qfname"; + } elsif (/^'*lzo/) { + return "$lzo -c $sep $qfname"; } elsif (/^'*xz/) { return "$xz -c $sep $qfname"; } elsif (/^'*zst/) { diff -Nru mc-4.8.30/src/vfs/extfs/helpers/s3+.in mc-4.8.31/src/vfs/extfs/helpers/s3+.in --- mc-4.8.30/src/vfs/extfs/helpers/s3+.in 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/extfs/helpers/s3+.in 2024-01-20 19:34:38.000000000 +0000 @@ -153,16 +153,16 @@ Propagates exception safely. """ from threading import Thread - import Queue + import queue items = list(iterable) nitems = len(items) if nitems < 2: - return map(fun, items) + return list(map(fun, items)) # Create and fill input queue - input = Queue.Queue() - output = Queue.Queue() + input = queue.Queue() + output = queue.Queue() for i,item in enumerate(items): input.put( (i,item) ) @@ -181,7 +181,7 @@ output.put( (i,result) ) except: output.put( (None,sys.exc_info()) ) - except Queue.Empty: + except queue.Empty: return # Start threads @@ -196,8 +196,8 @@ try: i,res = output.get() if i == None: - raise res[0],res[1],res[2] - except Queue.Empty: + raise res[0](res[1]).with_traceback(res[2]) + except queue.Empty: break ret.append(res) @@ -241,7 +241,7 @@ b = s3.get_bucket(name, validate=False) b.get_location() # just to raise an exception on error return b - except boto.exception.S3ResponseError, e: + except boto.exception.S3ResponseError as e: # Seems this is the only proper way to switch to the bucket's region. # Requesting of the default region for "?location" does not work unfortunately. m = re.search(r'(.*?)', e.body) @@ -340,7 +340,7 @@ expr = re.compile(r'^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})\.\d{3}Z$') def convDate(awsdatetime): m = expr.match(awsdatetime) - ye,mo,da,ho,mi,se = map(int,m.groups()) + ye,mo,da,ho,mi,se = list(map(int,m.groups())) dt = datetime.datetime(ye,mo,da,ho,mi,se, tzinfo=pytz.utc) return dt.astimezone(tz).strftime('%m-%d-%Y %H:%M') diff -Nru mc-4.8.30/src/vfs/extfs/helpers/uc1541 mc-4.8.31/src/vfs/extfs/helpers/uc1541 --- mc-4.8.30/src/vfs/extfs/helpers/uc1541 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/extfs/helpers/uc1541 2024-01-20 19:34:38.000000000 +0000 @@ -1,24 +1,25 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ UC1541 Virtual filesystem Author: Roman 'gryf' Dobosz -Date: 2019-09-20 -Version: 3.3 +Date: 2023-10-04 +Version: 3.6 Licence: BSD source: https://bitbucket.org/gryf/uc1541 mirror: https://github.com/gryf/uc1541 """ - -import sys -import re -import os +import argparse import gzip -from subprocess import Popen, PIPE +import logging +import os +import re +import subprocess +import sys + +LOG = logging.getLogger('UC1541') if os.getenv('UC1541_DEBUG'): - import logging - LOG = logging.getLogger('UC1541') LOG.setLevel(logging.DEBUG) FILE_HANDLER = logging.FileHandler("/tmp/uc1541.log") FILE_FORMATTER = logging.Formatter("%(asctime)s %(levelname)-8s " @@ -26,47 +27,11 @@ FILE_HANDLER.setFormatter(FILE_FORMATTER) FILE_HANDLER.setLevel(logging.DEBUG) LOG.addHandler(FILE_HANDLER) -else: - class LOG(object): - """ - Dummy logger object. Does nothing. - """ - @classmethod - def debug(*args, **kwargs): - pass - - @classmethod - def info(*args, **kwargs): - pass - - @classmethod - def warning(*args, **kwargs): - pass - - @classmethod - def error(*args, **kwargs): - pass - - @classmethod - def critical(*args, **kwargs): - pass SECLEN = 256 -def _ord(string_or_int): - """ - Return an int value for the (possible) string passed in argument. This - function is for compatibility between python2 and python3, where single - element in byte string array is a string or an int respectively. - """ - try: - return ord(string_or_int) - except TypeError: - return string_or_int - - def _get_raw(dimage): """ Try to get contents of the D64 image either it's gzip compressed or not. @@ -160,10 +125,10 @@ filename = list() for chr_ in string: - if _ord(chr_) == 160: # shift+space character; $a0 + if chr_ == 160: # shift+space character; $a0 break - character = D64.CHAR_MAP.get(_ord(chr_), '?') + character = D64.CHAR_MAP.get(chr_, '?') filename.append(character) # special cases @@ -204,8 +169,8 @@ if not self.current_sector_data: return False - self.next_track = _ord(self.current_sector_data[0]) - self.next_sector = _ord(self.current_sector_data[1]) + self.next_track = self.current_sector_data[0] + self.next_sector = self.current_sector_data[1] if (self.next_track, self.next_sector) in self._already_done: # Just a failsafe. Endless loop is not what is expected. @@ -239,7 +204,7 @@ sector = self.current_sector_data for dummy in range(8): entry = sector[:32] - ftype = _ord(entry[2]) + ftype = entry[2] if ftype == 0: # deleted sector = sector[32:] @@ -247,12 +212,12 @@ type_verbose = self._get_ftype(ftype) - protect = _ord(entry[2]) & 64 and "<" or " " + protect = entry[2] & 64 and "<" or " " fname = entry[5:21] if ftype == 'rel': - size = _ord(entry[23]) + size = entry[23] else: - size = _ord(entry[30]) + _ord(entry[31]) * 226 + size = entry[30] + entry[31] * 226 self._dir_contents.append({'fname': self._map_filename(fname), 'ftype': type_verbose, @@ -392,7 +357,7 @@ """ Class for interact with c1541 program and MC """ - PRG = re.compile(r'(\d+)\s+"([^"]*)".+?\s(del|prg|rel|seq|usr)([\s<])') + PRG = re.compile(r'(\d+)\s+"([^"]*)".+?(del|prg|rel|seq|usr)([\s<])') def __init__(self, archname): self.arch = archname @@ -430,11 +395,7 @@ """ LOG.info("Removing file %s", dst) dst = self._get_masked_fname(dst) - - if not self._call_command('delete', dst=dst): - return self._show_error() - - return 0 + return self._call_command('delete', dst=dst) def copyin(self, dst, src): """ @@ -442,11 +403,7 @@ """ LOG.info("Copy into D64 %s as %s", src, dst) dst = self._correct_fname(dst) - - if not self._call_command('write', src=src, dst=dst): - return self._show_error() - - return 0 + return self._call_command('write', src=src, dst=dst) def copyout(self, src, dst): """ @@ -459,10 +416,7 @@ src = self._get_masked_fname(src) - if not self._call_command('read', src=src, dst=dst): - return self._show_error() - - return 0 + return self._call_command('read', src=src, dst=dst) def mkdir(self, dirname): """Not supported""" @@ -523,8 +477,9 @@ uid = os.getuid() gid = os.getgid() - if not self._call_command('list'): - return self._show_error() + res = self._call_command('list') + if res != 0: + return res idx = 0 for line in self.out.split("\n"): @@ -540,7 +495,7 @@ if '/' in display_name: display_name = display_name.replace('/', '|') - # workaround for space and dash at the beginning of the + # workaround for space and dash at the beggining of the # filename char_map = {' ': '~', '-': '_'} @@ -593,13 +548,16 @@ universal_newlines = True if cmd in ['delete', 'write']: universal_newlines = False - self.out, self.err = Popen(command, - universal_newlines=universal_newlines, - stdout=PIPE, stderr=PIPE).communicate() + (self.out, + self.err) = subprocess.Popen(command, + universal_newlines=universal_newlines, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE).communicate() if self.err: LOG.debug('an err: %s', self.err) - return not self.err + return self._show_error() + return 0 CALL_MAP = {'list': lambda a: Uc1541(a.arch).list(), @@ -612,7 +570,7 @@ def parse_args(): """Use ArgumentParser to check for script arguments and execute.""" - parser = ArgumentParser() + parser = argparse.ArgumentParser() subparsers = parser.add_subparsers(help='supported commands', dest='subcommand') subparsers.required = True @@ -659,44 +617,6 @@ return args.func(args) -def no_parse(): - """Failsafe argument "parsing". Note, that it blindly takes positional - arguments without checking them. In case of wrong arguments it will - silently exit""" - try: - if sys.argv[1] not in ('list', 'copyin', 'copyout', 'rm', 'mkdir', - "run"): - sys.exit(2) - except IndexError: - sys.exit(2) - - class Arg(object): - """Mimic argparse object""" - dst = None - src = None - arch = None - - arg = Arg() - - try: - arg.arch = sys.argv[2] - if sys.argv[1] in ('copyin', 'copyout'): - arg.src = sys.argv[3] - arg.dst = sys.argv[4] - elif sys.argv[1] in ('rm', 'run', 'mkdir'): - arg.dst = sys.argv[3] - except IndexError: - sys.exit(2) - - return CALL_MAP[sys.argv[1]](arg) - - if __name__ == "__main__": LOG.debug("Script params: %s", str(sys.argv)) - try: - from argparse import ArgumentParser - PARSE_FUNC = parse_args - except ImportError: - PARSE_FUNC = no_parse - - sys.exit(PARSE_FUNC()) + sys.exit(parse_args()) diff -Nru mc-4.8.30/src/vfs/fish/Makefile.am mc-4.8.31/src/vfs/fish/Makefile.am --- mc-4.8.30/src/vfs/fish/Makefile.am 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/fish/Makefile.am 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -SUBDIRS = helpers -DIST_SUBDIRS = helpers - -AM_CPPFLAGS = \ - -DLIBEXECDIR=\""$(libexecdir)/@PACKAGE@/"\" \ - $(GLIB_CFLAGS) \ - -I$(top_srcdir) - -noinst_LTLIBRARIES = libvfs-fish.la - -libvfs_fish_la_SOURCES = \ - fish.c fish.h \ - fishdef.h diff -Nru mc-4.8.30/src/vfs/fish/Makefile.in mc-4.8.31/src/vfs/fish/Makefile.in --- mc-4.8.30/src/vfs/fish/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/src/vfs/fish/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,857 +0,0 @@ -# Makefile.in generated by automake 1.16.5 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2021 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = src/vfs/fish -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/m4.include/gnulib/mode_t.m4 \ - $(top_srcdir)/m4.include/gnulib/stat-size.m4 \ - $(top_srcdir)/m4.include/gnulib/fstypename.m4 \ - $(top_srcdir)/m4.include/gnulib/fsusage.m4 \ - $(top_srcdir)/m4.include/gnulib/mountlist.m4 \ - $(top_srcdir)/m4.include/gnulib/windows-stat-inodes.m4 \ - $(top_srcdir)/m4.include/gnulib/sys_types_h.m4 \ - $(top_srcdir)/m4.include/ax_path_lib_pcre.m4 \ - $(top_srcdir)/m4.include/ax_check_pcre2.m4 \ - $(top_srcdir)/m4.include/dx_doxygen.m4 \ - $(top_srcdir)/m4.include/ax_require_defined.m4 \ - $(top_srcdir)/m4.include/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4.include/ax_append_flag.m4 \ - $(top_srcdir)/m4.include/ax_append_compile_flags.m4 \ - $(top_srcdir)/m4.include/mc-cflags.m4 \ - $(top_srcdir)/m4.include/ax_gcc_func_attribute.m4 \ - $(top_srcdir)/m4.include/mc-check-search-type.m4 \ - $(top_srcdir)/m4.include/mc-get-fs-info.m4 \ - $(top_srcdir)/m4.include/mc-with-x.m4 \ - $(top_srcdir)/m4.include/mc-use-termcap.m4 \ - $(top_srcdir)/m4.include/mc-with-screen.m4 \ - $(top_srcdir)/m4.include/mc-with-screen-ncurses.m4 \ - $(top_srcdir)/m4.include/mc-with-screen-slang.m4 \ - $(top_srcdir)/m4.include/mc-with-internal-edit.m4 \ - $(top_srcdir)/m4.include/mc-subshell.m4 \ - $(top_srcdir)/m4.include/mc-background.m4 \ - $(top_srcdir)/m4.include/mc-ext2fs-attr.m4 \ - $(top_srcdir)/m4.include/mc-glib.m4 \ - $(top_srcdir)/m4.include/mc-vfs.m4 \ - $(top_srcdir)/m4.include/vfs/rpc.m4 \ - $(top_srcdir)/m4.include/vfs/socket.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-extfs.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ - $(top_srcdir)/m4.include/mc-version.m4 \ - $(top_srcdir)/m4.include/mc-tests.m4 \ - $(top_srcdir)/m4.include/mc-i18n.m4 \ - $(top_srcdir)/m4.include/mc-assert.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libvfs_fish_la_LIBADD = -am_libvfs_fish_la_OBJECTS = fish.lo -libvfs_fish_la_OBJECTS = $(am_libvfs_fish_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/config/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/fish.Plo -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libvfs_fish_la_SOURCES) -DIST_SOURCES = $(libvfs_fish_la_SOURCES) -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - distdir distdir-am -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CHECK_CFLAGS = @CHECK_CFLAGS@ -CHECK_LIBS = @CHECK_LIBS@ -COM_ERR_CFLAGS = @COM_ERR_CFLAGS@ -COM_ERR_LIBS = @COM_ERR_LIBS@ -CP1251 = @CP1251@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CSCOPE = @CSCOPE@ -CTAGS = @CTAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DOC_LINGUAS = @DOC_LINGUAS@ -DOXYGEN_PAPER_SIZE = @DOXYGEN_PAPER_SIZE@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DX_CONFIG = @DX_CONFIG@ -DX_DOCDIR = @DX_DOCDIR@ -DX_DOT = @DX_DOT@ -DX_DOXYGEN = @DX_DOXYGEN@ -DX_DVIPS = @DX_DVIPS@ -DX_EGREP = @DX_EGREP@ -DX_ENV = @DX_ENV@ -DX_FLAG_chi = @DX_FLAG_chi@ -DX_FLAG_chm = @DX_FLAG_chm@ -DX_FLAG_doc = @DX_FLAG_doc@ -DX_FLAG_dot = @DX_FLAG_dot@ -DX_FLAG_html = @DX_FLAG_html@ -DX_FLAG_man = @DX_FLAG_man@ -DX_FLAG_pdf = @DX_FLAG_pdf@ -DX_FLAG_ps = @DX_FLAG_ps@ -DX_FLAG_rtf = @DX_FLAG_rtf@ -DX_FLAG_xml = @DX_FLAG_xml@ -DX_HHC = @DX_HHC@ -DX_LATEX = @DX_LATEX@ -DX_MAKEINDEX = @DX_MAKEINDEX@ -DX_PDFLATEX = @DX_PDFLATEX@ -DX_PERL = @DX_PERL@ -DX_PROJECT = @DX_PROJECT@ -E2P_CFLAGS = @E2P_CFLAGS@ -E2P_LIBS = @E2P_LIBS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -ETAGS = @ETAGS@ -EXEEXT = @EXEEXT@ -EXT2FS_CFLAGS = @EXT2FS_CFLAGS@ -EXT2FS_LIBS = @EXT2FS_LIBS@ -EXTHELPERSDIR = @EXTHELPERSDIR@ -FGREP = @FGREP@ -FILECMD = @FILECMD@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GLIB_CFLAGS = @GLIB_CFLAGS@ -GLIB_LIBS = @GLIB_LIBS@ -GMODULE_CFLAGS = @GMODULE_CFLAGS@ -GMODULE_LIBS = @GMODULE_LIBS@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -HAVE_FILECMD = @HAVE_FILECMD@ -HAVE_ZIPINFO = @HAVE_ZIPINFO@ -HAVE_nroff = @HAVE_nroff@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMC_RELEASE = @LIBMC_RELEASE@ -LIBMC_VERSION = @LIBMC_VERSION@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBSSH_CFLAGS = @LIBSSH_CFLAGS@ -LIBSSH_LIBS = @LIBSSH_LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANDOC = @MANDOC@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MAN_DATE = @MAN_DATE@ -MAN_FLAGS = @MAN_FLAGS@ -MAN_VERSION = @MAN_VERSION@ -MCLIBS = @MCLIBS@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PCRE_CFLAGS = @PCRE_CFLAGS@ -PCRE_LIBS = @PCRE_LIBS@ -PERL = @PERL@ -PERL_FOR_BUILD = @PERL_FOR_BUILD@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -POSUB = @POSUB@ -PYTHON = @PYTHON@ -RANLIB = @RANLIB@ -RUBY = @RUBY@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SLANG_CFLAGS = @SLANG_CFLAGS@ -SLANG_LIBS = @SLANG_LIBS@ -STRIP = @STRIP@ -TESTS_LDFLAGS = @TESTS_LDFLAGS@ -UNZIP = @UNZIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -X11_WWW = @X11_WWW@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMKMF = @XMKMF@ -X_CFLAGS = @X_CFLAGS@ -X_EXTRA_LIBS = @X_EXTRA_LIBS@ -X_LIBS = @X_LIBS@ -X_PRE_LIBS = @X_PRE_LIBS@ -ZIP = @ZIP@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -SUBDIRS = helpers -DIST_SUBDIRS = helpers -AM_CPPFLAGS = \ - -DLIBEXECDIR=\""$(libexecdir)/@PACKAGE@/"\" \ - $(GLIB_CFLAGS) \ - -I$(top_srcdir) - -noinst_LTLIBRARIES = libvfs-fish.la -libvfs_fish_la_SOURCES = \ - fish.c fish.h \ - fishdef.h - -all: all-recursive - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/vfs/fish/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu src/vfs/fish/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libvfs-fish.la: $(libvfs_fish_la_OBJECTS) $(libvfs_fish_la_DEPENDENCIES) $(EXTRA_libvfs_fish_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libvfs_fish_la_OBJECTS) $(libvfs_fish_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fish.Plo@am__quote@ # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile $(LTLIBRARIES) -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-recursive - -rm -f ./$(DEPDIR)/fish.Plo - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f ./$(DEPDIR)/fish.Plo - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: - -.MAKE: $(am__recursive_targets) install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ - am--depfiles check check-am clean clean-generic clean-libtool \ - clean-noinstLTLIBRARIES cscopelist-am ctags ctags-am distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru mc-4.8.30/src/vfs/fish/fish.c mc-4.8.31/src/vfs/fish/fish.c --- mc-4.8.30/src/vfs/fish/fish.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/fish/fish.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,1805 +0,0 @@ -/* - Virtual File System: FISH implementation for transferring files over - shell connections. - - Copyright (C) 1998-2023 - Free Software Foundation, Inc. - - Written by: - Pavel Machek, 1998 - Michal Svec, 2000 - Andrew Borodin , 2010-2022 - Slava Zanko , 2010, 2013 - Ilia Maslakov , 2010 - - Derived from ftpfs.c. - - This file is part of the Midnight Commander. - - The Midnight Commander is free software: you can redistribute it - and/or modify it under the terms of the GNU General Public License as - published by the Free Software Foundation, either version 3 of the License, - or (at your option) any later version. - - The Midnight Commander is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -/** - * \file - * \brief Source: Virtual File System: FISH implementation for transferring files over - * shell connections - * \author Pavel Machek - * \author Michal Svec - * \date 1998, 2000 - * - * Derived from ftpfs.c - * Read README.fish for protocol specification. - * - * Syntax of path is: \verbatim sh://user@host[:Cr]/path \endverbatim - * where C means you want compressed connection, - * and r means you want to use rsh - * - * Namespace: fish_vfs_ops exported. - */ - -/* Define this if your ssh can take -I option */ - -#include -#include -#include -#include -#include -#include -#include /* uintmax_t */ - -#include "lib/global.h" -#include "lib/tty/tty.h" /* enable/disable interrupt key */ -#include "lib/strescape.h" -#include "lib/unixcompat.h" -#include "lib/fileloc.h" -#include "lib/util.h" /* my_exit() */ -#include "lib/mcconfig.h" - -#include "src/execute.h" /* pre_exec, post_exec */ - -#include "lib/vfs/vfs.h" -#include "lib/vfs/utilvfs.h" -#include "lib/vfs/netutil.h" -#include "lib/vfs/xdirentry.h" -#include "lib/vfs/gc.h" /* vfs_stamp_create */ - -#include "fish.h" -#include "fishdef.h" - -/*** global variables ****************************************************************************/ - -int fish_directory_timeout = 900; - -/*** file scope macro definitions ****************************************************************/ - -#define DO_RESOLVE_SYMLINK 1 -#define DO_OPEN 2 -#define DO_FREE_RESOURCE 4 - -#define FISH_FLAG_COMPRESSED 1 -#define FISH_FLAG_RSH 2 - -#define OPT_FLUSH 1 -#define OPT_IGNORE_ERROR 2 - -/* - * Reply codes. - */ -#define PRELIM 1 /* positive preliminary */ -#define COMPLETE 2 /* positive completion */ -#define CONTINUE 3 /* positive intermediate */ -#define TRANSIENT 4 /* transient negative completion */ -#define ERROR 5 /* permanent negative completion */ - -/* command wait_flag: */ -#define NONE 0x00 -#define WAIT_REPLY 0x01 -#define WANT_STRING 0x02 - -/* environment flags */ -#define FISH_HAVE_HEAD 1 -#define FISH_HAVE_SED 2 -#define FISH_HAVE_AWK 4 -#define FISH_HAVE_PERL 8 -#define FISH_HAVE_LSQ 16 -#define FISH_HAVE_DATE_MDYT 32 -#define FISH_HAVE_TAIL 64 - -#define FISH_SUPER(super) ((fish_super_t *) (super)) -#define FISH_FILE_HANDLER(fh) ((fish_file_handler_t *) fh) - -/*** file scope type declarations ****************************************************************/ - -typedef struct -{ - struct vfs_s_super base; /* base class */ - - int sockr; - int sockw; - char *scr_ls; - char *scr_chmod; - char *scr_utime; - char *scr_exists; - char *scr_mkdir; - char *scr_unlink; - char *scr_chown; - char *scr_rmdir; - char *scr_ln; - char *scr_mv; - char *scr_hardlink; - char *scr_get; - char *scr_send; - char *scr_append; - char *scr_info; - int host_flags; - GString *scr_env; -} fish_super_t; - -typedef struct -{ - vfs_file_handler_t base; /* base class */ - - off_t got; - off_t total; - gboolean append; -} fish_file_handler_t; - -/*** forward declarations (file scope functions) *************************************************/ - -/*** file scope variables ************************************************************************/ - -static char reply_str[80]; - -static struct vfs_s_subclass fish_subclass; -static struct vfs_class *vfs_fish_ops = VFS_CLASS (&fish_subclass); - -/* --------------------------------------------------------------------------------------------- */ -/*** file scope functions ************************************************************************/ -/* --------------------------------------------------------------------------------------------- */ - -static void -fish_set_blksize (struct stat *s) -{ -#ifdef HAVE_STRUCT_STAT_ST_BLKSIZE - /* redefine block size */ - s->st_blksize = 64 * 1024; /* FIXME */ -#endif -} - -/* --------------------------------------------------------------------------------------------- */ - -static struct stat * -fish_default_stat (struct vfs_class *me) -{ - struct stat *s; - - s = vfs_s_default_stat (me, S_IFDIR | 0755); - fish_set_blksize (s); - vfs_adjust_stat (s); - - return s; -} - -/* --------------------------------------------------------------------------------------------- */ - -static char * -fish_load_script_from_file (const char *hostname, const char *script_name, const char *def_content) -{ - char *scr_filename = NULL; - char *scr_content; - gsize scr_len = 0; - - /* 1st: scan user directory */ - scr_filename = g_build_path (PATH_SEP_STR, mc_config_get_data_path (), FISH_PREFIX, hostname, - script_name, (char *) NULL); - /* silent about user dir */ - g_file_get_contents (scr_filename, &scr_content, &scr_len, NULL); - g_free (scr_filename); - /* 2nd: scan system dir */ - if (scr_content == NULL) - { - scr_filename = - g_build_path (PATH_SEP_STR, LIBEXECDIR, FISH_PREFIX, script_name, (char *) NULL); - g_file_get_contents (scr_filename, &scr_content, &scr_len, NULL); - g_free (scr_filename); - } - - if (scr_content != NULL) - return scr_content; - - return g_strdup (def_content); -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -fish_decode_reply (char *s, gboolean was_garbage) -{ - int code; - - /* cppcheck-suppress invalidscanf */ - if (sscanf (s, "%d", &code) == 0) - { - code = 500; - return 5; - } - if (code < 100) - return was_garbage ? ERROR : (code == 0 ? COMPLETE : PRELIM); - return code / 100; -} - -/* --------------------------------------------------------------------------------------------- */ -/* Returns a reply code, check /usr/include/arpa/ftp.h for possible values */ - -static int -fish_get_reply (struct vfs_class *me, int sock, char *string_buf, int string_len) -{ - char answer[BUF_1K]; - gboolean was_garbage = FALSE; - - while (TRUE) - { - if (!vfs_s_get_line (me, sock, answer, sizeof (answer), '\n')) - { - if (string_buf != NULL) - *string_buf = '\0'; - return 4; - } - - if (strncmp (answer, "### ", 4) == 0) - return fish_decode_reply (answer + 4, was_garbage ? 1 : 0); - - was_garbage = TRUE; - if (string_buf != NULL) - g_strlcpy (string_buf, answer, string_len); - } -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -fish_command (struct vfs_class *me, struct vfs_s_super *super, int wait_reply, const char *cmd, - size_t cmd_len) -{ - ssize_t status; - FILE *logfile = me->logfile; - - if (cmd_len == (size_t) (-1)) - cmd_len = strlen (cmd); - - if (logfile != NULL) - { - size_t ret; - - ret = fwrite (cmd, cmd_len, 1, logfile); - ret = fflush (logfile); - (void) ret; - } - - tty_enable_interrupt_key (); - status = write (FISH_SUPER (super)->sockw, cmd, cmd_len); - tty_disable_interrupt_key (); - - if (status < 0) - return TRANSIENT; - - if (wait_reply) - return fish_get_reply (me, FISH_SUPER (super)->sockr, - (wait_reply & WANT_STRING) != 0 ? reply_str : - NULL, sizeof (reply_str) - 1); - return COMPLETE; -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -G_GNUC_PRINTF (5, 0) -fish_command_va (struct vfs_class *me, struct vfs_s_super *super, int wait_reply, const char *scr, - const char *vars, va_list ap) -{ - int r; - GString *command; - - command = mc_g_string_dup (FISH_SUPER (super)->scr_env); - g_string_append_vprintf (command, vars, ap); - g_string_append (command, scr); - r = fish_command (me, super, wait_reply, command->str, command->len); - g_string_free (command, TRUE); - - return r; -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -G_GNUC_PRINTF (5, 6) -fish_command_v (struct vfs_class *me, struct vfs_s_super *super, int wait_reply, const char *scr, - const char *vars, ...) -{ - int r; - va_list ap; - - va_start (ap, vars); - r = fish_command_va (me, super, wait_reply, scr, vars, ap); - va_end (ap); - - return r; -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -G_GNUC_PRINTF (5, 6) -fish_send_command (struct vfs_class *me, struct vfs_s_super *super, int flags, const char *scr, - const char *vars, ...) -{ - int r; - va_list ap; - - va_start (ap, vars); - r = fish_command_va (me, super, WAIT_REPLY, scr, vars, ap); - va_end (ap); - vfs_stamp_create (vfs_fish_ops, super); - - if (r != COMPLETE) - ERRNOR (E_REMOTE, -1); - if ((flags & OPT_FLUSH) != 0) - vfs_s_invalidate (me, super); - - return 0; -} - -/* --------------------------------------------------------------------------------------------- */ - -static struct vfs_s_super * -fish_new_archive (struct vfs_class *me) -{ - fish_super_t *arch; - - arch = g_new0 (fish_super_t, 1); - arch->base.me = me; - - return VFS_SUPER (arch); -} - -/* --------------------------------------------------------------------------------------------- */ - -static void -fish_free_archive (struct vfs_class *me, struct vfs_s_super *super) -{ - fish_super_t *fish_super = FISH_SUPER (super); - - if ((fish_super->sockw != -1) || (fish_super->sockr != -1)) - vfs_print_message (_("fish: Disconnecting from %s"), super->name ? super->name : "???"); - - if (fish_super->sockw != -1) - { - fish_command (me, super, NONE, "#BYE\nexit\n", -1); - close (fish_super->sockw); - fish_super->sockw = -1; - } - - if (fish_super->sockr != -1) - { - close (fish_super->sockr); - fish_super->sockr = -1; - } - - g_free (fish_super->scr_ls); - g_free (fish_super->scr_exists); - g_free (fish_super->scr_mkdir); - g_free (fish_super->scr_unlink); - g_free (fish_super->scr_chown); - g_free (fish_super->scr_chmod); - g_free (fish_super->scr_utime); - g_free (fish_super->scr_rmdir); - g_free (fish_super->scr_ln); - g_free (fish_super->scr_mv); - g_free (fish_super->scr_hardlink); - g_free (fish_super->scr_get); - g_free (fish_super->scr_send); - g_free (fish_super->scr_append); - g_free (fish_super->scr_info); - g_string_free (fish_super->scr_env, TRUE); -} - -/* --------------------------------------------------------------------------------------------- */ - -static void -fish_pipeopen (struct vfs_s_super *super, const char *path, const char *argv[]) -{ - int fileset1[2], fileset2[2]; - int res; - - if ((pipe (fileset1) < 0) || (pipe (fileset2) < 0)) - vfs_die ("Cannot pipe(): %m."); - - res = fork (); - - if (res != 0) - { - if (res < 0) - vfs_die ("Cannot fork(): %m."); - /* We are the parent */ - close (fileset1[0]); - FISH_SUPER (super)->sockw = fileset1[1]; - close (fileset2[1]); - FISH_SUPER (super)->sockr = fileset2[0]; - } - else - { - res = dup2 (fileset1[0], STDIN_FILENO); - close (fileset1[0]); - close (fileset1[1]); - res = dup2 (fileset2[1], STDOUT_FILENO); - close (STDERR_FILENO); - /* stderr to /dev/null */ - res = open ("/dev/null", O_WRONLY); - close (fileset2[0]); - close (fileset2[1]); - execvp (path, (char **) argv); - my_exit (3); - } -} - -/* --------------------------------------------------------------------------------------------- */ - -static GString * -fish_set_env (int flags) -{ - GString *ret; - - ret = g_string_sized_new (256); - - if ((flags & FISH_HAVE_HEAD) != 0) - g_string_append (ret, "FISH_HAVE_HEAD=1 export FISH_HAVE_HEAD; "); - - if ((flags & FISH_HAVE_SED) != 0) - g_string_append (ret, "FISH_HAVE_SED=1 export FISH_HAVE_SED; "); - - if ((flags & FISH_HAVE_AWK) != 0) - g_string_append (ret, "FISH_HAVE_AWK=1 export FISH_HAVE_AWK; "); - - if ((flags & FISH_HAVE_PERL) != 0) - g_string_append (ret, "FISH_HAVE_PERL=1 export FISH_HAVE_PERL; "); - - if ((flags & FISH_HAVE_LSQ) != 0) - g_string_append (ret, "FISH_HAVE_LSQ=1 export FISH_HAVE_LSQ; "); - - if ((flags & FISH_HAVE_DATE_MDYT) != 0) - g_string_append (ret, "FISH_HAVE_DATE_MDYT=1 export FISH_HAVE_DATE_MDYT; "); - - if ((flags & FISH_HAVE_TAIL) != 0) - g_string_append (ret, "FISH_HAVE_TAIL=1 export FISH_HAVE_TAIL; "); - - return ret; -} - -/* --------------------------------------------------------------------------------------------- */ - -static gboolean -fish_info (struct vfs_class *me, struct vfs_s_super *super) -{ - fish_super_t *fish_super = FISH_SUPER (super); - - if (fish_command (me, super, NONE, fish_super->scr_info, -1) == COMPLETE) - { - while (TRUE) - { - int res; - char buffer[BUF_8K] = ""; - - res = vfs_s_get_line_interruptible (me, buffer, sizeof (buffer), fish_super->sockr); - if ((res == 0) || (res == EINTR)) - ERRNOR (ECONNRESET, FALSE); - if (strncmp (buffer, "### ", 4) == 0) - break; - fish_super->host_flags = atol (buffer); - } - return TRUE; - } - ERRNOR (E_PROTO, FALSE); -} - -/* --------------------------------------------------------------------------------------------- */ - -static void -fish_open_archive_pipeopen (struct vfs_s_super *super) -{ - char gbuf[10]; - const char *argv[10]; /* All of 10 is used now */ - const char *xsh = (super->path_element->port == FISH_FLAG_RSH ? "rsh" : "ssh"); - int i = 0; - - argv[i++] = xsh; - if (super->path_element->port == FISH_FLAG_COMPRESSED) - argv[i++] = "-C"; - - if (super->path_element->port > FISH_FLAG_RSH) - { - argv[i++] = "-p"; - g_snprintf (gbuf, sizeof (gbuf), "%d", super->path_element->port); - argv[i++] = gbuf; - } - - /* - * Add the user name to the ssh command line only if it was explicitly - * set in vfs URL. rsh/ssh will get current user by default - * plus we can set convenient overrides in ~/.ssh/config (explicit -l - * option breaks it for some) - */ - - if (super->path_element->user != NULL) - { - argv[i++] = "-l"; - argv[i++] = super->path_element->user; - } - else - { - /* The rest of the code assumes it to be a valid username */ - super->path_element->user = vfs_get_local_username (); - } - - argv[i++] = super->path_element->host; - argv[i++] = "echo FISH:; /bin/sh"; - argv[i++] = NULL; - - fish_pipeopen (super, xsh, argv); -} - -/* --------------------------------------------------------------------------------------------- */ - -static gboolean -fish_open_archive_talk (struct vfs_class *me, struct vfs_s_super *super) -{ - fish_super_t *fish_super = FISH_SUPER (super); - char answer[2048]; - - printf ("\n%s\n", _("fish: Waiting for initial line...")); - - if (vfs_s_get_line (me, fish_super->sockr, answer, sizeof (answer), ':') == 0) - return FALSE; - - if (strstr (answer, "assword") != NULL) - { - /* Currently, this does not work. ssh reads passwords from - /dev/tty, not from stdin :-(. */ - - printf ("\n%s\n", _("Sorry, we cannot do password authenticated connections for now.")); - - return FALSE; -#if 0 - if (super->path_element->password == NULL) - { - char *p, *op; - - p = g_strdup_printf (_("fish: Password is required for %s"), super->path_element->user); - op = vfs_get_password (p); - g_free (p); - if (op == NULL) - return FALSE; - super->path_element->password = op; - } - - printf ("\n%s\n", _("fish: Sending password...")); - - { - size_t str_len; - - str_len = strlen (super->path_element->password); - if ((write (fish_super.sockw, super->path_element->password, str_len) != - (ssize_t) str_len) || (write (fish_super->sockw, "\n", 1) != 1)) - return FALSE; - } -#endif - } - return TRUE; -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -fish_open_archive_int (struct vfs_class *me, struct vfs_s_super *super) -{ - gboolean ftalk; - - /* hide panels */ - pre_exec (); - - /* open pipe */ - fish_open_archive_pipeopen (super); - - /* Start talk with ssh-server (password prompt, etc ) */ - ftalk = fish_open_archive_talk (me, super); - - /* show panels */ - post_exec (); - - if (!ftalk) - ERRNOR (E_PROTO, -1); - - vfs_print_message ("%s", _("fish: Sending initial line...")); - /* - * Run 'start_fish_server'. If it doesn't exist - no problem, - * we'll talk directly to the shell. - */ - - if (fish_command - (me, super, WAIT_REPLY, "#FISH\necho; start_fish_server 2>&1; echo '### 200'\n", - -1) != COMPLETE) - ERRNOR (E_PROTO, -1); - - vfs_print_message ("%s", _("fish: Handshaking version...")); - if (fish_command (me, super, WAIT_REPLY, "#VER 0.0.3\necho '### 000'\n", -1) != COMPLETE) - ERRNOR (E_PROTO, -1); - - /* Set up remote locale to C, otherwise dates cannot be recognized */ - if (fish_command - (me, super, WAIT_REPLY, - "LANG=C LC_ALL=C LC_TIME=C; export LANG LC_ALL LC_TIME;\n" "echo '### 200'\n", - -1) != COMPLETE) - ERRNOR (E_PROTO, -1); - - vfs_print_message ("%s", _("fish: Getting host info...")); - if (fish_info (me, super)) - FISH_SUPER (super)->scr_env = fish_set_env (FISH_SUPER (super)->host_flags); - -#if 0 - super->name = - g_strconcat ("sh://", super->path_element->user, "@", super->path_element->host, - PATH_SEP_STR, (char *) NULL); -#else - super->name = g_strdup (PATH_SEP_STR); -#endif - - super->root = vfs_s_new_inode (me, super, fish_default_stat (me)); - - return 0; -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -fish_open_archive (struct vfs_s_super *super, - const vfs_path_t * vpath, const vfs_path_element_t * vpath_element) -{ - fish_super_t *fish_super = FISH_SUPER (super); - - (void) vpath; - - super->path_element = vfs_path_element_clone (vpath_element); - - if (strncmp (vpath_element->vfs_prefix, "rsh", 3) == 0) - super->path_element->port = FISH_FLAG_RSH; - - fish_super->scr_ls = - fish_load_script_from_file (super->path_element->host, FISH_LS_FILE, FISH_LS_DEF_CONTENT); - fish_super->scr_exists = - fish_load_script_from_file (super->path_element->host, FISH_EXISTS_FILE, - FISH_EXISTS_DEF_CONTENT); - fish_super->scr_mkdir = - fish_load_script_from_file (super->path_element->host, FISH_MKDIR_FILE, - FISH_MKDIR_DEF_CONTENT); - fish_super->scr_unlink = - fish_load_script_from_file (super->path_element->host, FISH_UNLINK_FILE, - FISH_UNLINK_DEF_CONTENT); - fish_super->scr_chown = - fish_load_script_from_file (super->path_element->host, FISH_CHOWN_FILE, - FISH_CHOWN_DEF_CONTENT); - fish_super->scr_chmod = - fish_load_script_from_file (super->path_element->host, FISH_CHMOD_FILE, - FISH_CHMOD_DEF_CONTENT); - fish_super->scr_utime = - fish_load_script_from_file (super->path_element->host, FISH_UTIME_FILE, - FISH_UTIME_DEF_CONTENT); - fish_super->scr_rmdir = - fish_load_script_from_file (super->path_element->host, FISH_RMDIR_FILE, - FISH_RMDIR_DEF_CONTENT); - fish_super->scr_ln = - fish_load_script_from_file (super->path_element->host, FISH_LN_FILE, FISH_LN_DEF_CONTENT); - fish_super->scr_mv = - fish_load_script_from_file (super->path_element->host, FISH_MV_FILE, FISH_MV_DEF_CONTENT); - fish_super->scr_hardlink = - fish_load_script_from_file (super->path_element->host, FISH_HARDLINK_FILE, - FISH_HARDLINK_DEF_CONTENT); - fish_super->scr_get = - fish_load_script_from_file (super->path_element->host, FISH_GET_FILE, FISH_GET_DEF_CONTENT); - fish_super->scr_send = - fish_load_script_from_file (super->path_element->host, FISH_SEND_FILE, - FISH_SEND_DEF_CONTENT); - fish_super->scr_append = - fish_load_script_from_file (super->path_element->host, FISH_APPEND_FILE, - FISH_APPEND_DEF_CONTENT); - fish_super->scr_info = - fish_load_script_from_file (super->path_element->host, FISH_INFO_FILE, - FISH_INFO_DEF_CONTENT); - - return fish_open_archive_int (vpath_element->class, super); -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -fish_archive_same (const vfs_path_element_t * vpath_element, struct vfs_s_super *super, - const vfs_path_t * vpath, void *cookie) -{ - vfs_path_element_t *path_element; - int result; - - (void) vpath; - (void) cookie; - - path_element = vfs_path_element_clone (vpath_element); - - if (path_element->user == NULL) - path_element->user = vfs_get_local_username (); - - result = ((strcmp (path_element->host, super->path_element->host) == 0) - && (strcmp (path_element->user, super->path_element->user) == 0) - && (path_element->port == super->path_element->port)) ? 1 : 0; - - vfs_path_element_free (path_element); - - return result; -} - -/* --------------------------------------------------------------------------------------------- */ - -static void -fish_parse_ls (char *buffer, struct vfs_s_entry *ent) -{ -#define ST ent->ino->st - - buffer++; - - switch (buffer[-1]) - { - case ':': - { - char *filename; - char *filename_bound; - char *temp; - - filename = buffer; - - if (strcmp (filename, "\".\"") == 0 || strcmp (filename, "\"..\"") == 0) - break; /* We'll do "." and ".." ourselves */ - - filename_bound = filename + strlen (filename); - - if (S_ISLNK (ST.st_mode)) - { - char *linkname; - char *linkname_bound; - /* we expect: "escaped-name" -> "escaped-name" - // -> cannot occur in filenames, - // because it will be escaped to -\> */ - - - linkname_bound = filename_bound; - - if (*filename == '"') - ++filename; - - linkname = strstr (filename, "\" -> \""); - if (linkname == NULL) - { - /* broken client, or smth goes wrong */ - linkname = filename_bound; - if (filename_bound > filename && *(filename_bound - 1) == '"') - --filename_bound; /* skip trailing " */ - } - else - { - filename_bound = linkname; - linkname += 6; /* strlen ("\" -> \"") */ - if (*(linkname_bound - 1) == '"') - --linkname_bound; /* skip trailing " */ - } - - ent->name = g_strndup (filename, filename_bound - filename); - temp = ent->name; - ent->name = strutils_shell_unescape (ent->name); - g_free (temp); - - ent->ino->linkname = g_strndup (linkname, linkname_bound - linkname); - temp = ent->ino->linkname; - ent->ino->linkname = strutils_shell_unescape (ent->ino->linkname); - g_free (temp); - } - else - { - /* we expect: "escaped-name" */ - if (filename_bound - filename > 2) - { - /* - there is at least 2 " - and we skip them - */ - if (*filename == '"') - ++filename; - if (*(filename_bound - 1) == '"') - --filename_bound; - } - - ent->name = g_strndup (filename, filename_bound - filename); - temp = ent->name; - ent->name = strutils_shell_unescape (ent->name); - g_free (temp); - } - break; - } - - case 'S': - ST.st_size = (off_t) g_ascii_strtoll (buffer, NULL, 10); - break; - - case 'P': - { - size_t skipped; - - vfs_parse_filemode (buffer, &skipped, &ST.st_mode); - break; - } - - case 'R': - { - /* - raw filemode: - we expect: Roctal-filemode octal-filetype uid.gid - */ - size_t skipped; - - vfs_parse_raw_filemode (buffer, &skipped, &ST.st_mode); - break; - } - - case 'd': - vfs_split_text (buffer); - if (vfs_parse_filedate (0, &ST.st_ctime) == 0) - break; - ST.st_atime = ST.st_mtime = ST.st_ctime; -#ifdef HAVE_STRUCT_STAT_ST_MTIM - ST.st_atim.tv_nsec = ST.st_mtim.tv_nsec = ST.st_ctim.tv_nsec = 0; -#endif - break; - - case 'D': - { - struct tm tim; - - memset (&tim, 0, sizeof (tim)); - /* cppcheck-suppress invalidscanf */ - if (sscanf (buffer, "%d %d %d %d %d %d", &tim.tm_year, &tim.tm_mon, - &tim.tm_mday, &tim.tm_hour, &tim.tm_min, &tim.tm_sec) != 6) - break; - ST.st_atime = ST.st_mtime = ST.st_ctime = mktime (&tim); -#ifdef HAVE_STRUCT_STAT_ST_MTIM - ST.st_atim.tv_nsec = ST.st_mtim.tv_nsec = ST.st_ctim.tv_nsec = 0; -#endif - } - break; - - case 'E': - { - int maj, min; - - /* cppcheck-suppress invalidscanf */ - if (sscanf (buffer, "%d,%d", &maj, &min) != 2) - break; -#ifdef HAVE_STRUCT_STAT_ST_RDEV - ST.st_rdev = makedev (maj, min); -#endif - } - break; - - default: - break; - } - -#undef ST -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -fish_dir_load (struct vfs_class *me, struct vfs_s_inode *dir, const char *remote_path) -{ - struct vfs_s_super *super = dir->super; - char buffer[BUF_8K] = "\0"; - struct vfs_s_entry *ent = NULL; - char *quoted_path; - int reply_code; - - /* - * Simple FISH debug interface :] - */ -#if 0 - if (me->logfile == NULL) - me->logfile = fopen ("/tmp/mc-FISH.sh", "w"); -#endif - - vfs_print_message (_("fish: Reading directory %s..."), remote_path); - - dir->timestamp = g_get_monotonic_time () + fish_directory_timeout * G_USEC_PER_SEC; - - quoted_path = strutils_shell_escape (remote_path); - (void) fish_command_v (me, super, NONE, FISH_SUPER (super)->scr_ls, "FISH_FILENAME=%s;\n", - quoted_path); - g_free (quoted_path); - - ent = vfs_s_generate_entry (me, NULL, dir, 0); - - while (TRUE) - { - int res; - - res = vfs_s_get_line_interruptible (me, buffer, sizeof (buffer), FISH_SUPER (super)->sockr); - - if ((res == 0) || (res == EINTR)) - { - vfs_s_free_entry (me, ent); - me->verrno = ECONNRESET; - goto error; - } - if (me->logfile != NULL) - { - fputs (buffer, me->logfile); - fputs ("\n", me->logfile); - fflush (me->logfile); - } - if (strncmp (buffer, "### ", 4) == 0) - break; - - if (buffer[0] != '\0') - fish_parse_ls (buffer, ent); - else if (ent->name != NULL) - { - vfs_s_insert_entry (me, dir, ent); - ent = vfs_s_generate_entry (me, NULL, dir, 0); - } - } - - vfs_s_free_entry (me, ent); - reply_code = fish_decode_reply (buffer + 4, 0); - if (reply_code == COMPLETE) - { - vfs_print_message (_("%s: done."), me->name); - return 0; - } - - me->verrno = reply_code == ERROR ? EACCES : E_REMOTE; - - error: - vfs_print_message (_("%s: failure"), me->name); - return -1; -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -fish_file_store (struct vfs_class *me, vfs_file_handler_t * fh, char *name, char *localname) -{ - fish_file_handler_t *fish = FISH_FILE_HANDLER (fh); - struct vfs_s_super *super = VFS_FILE_HANDLER_SUPER (fh); - fish_super_t *fish_super = FISH_SUPER (super); - int code; - off_t total = 0; - char buffer[BUF_8K]; - struct stat s; - int h; - char *quoted_name; - - h = open (localname, O_RDONLY); - if (h == -1) - ERRNOR (EIO, -1); - if (fstat (h, &s) < 0) - { - close (h); - ERRNOR (EIO, -1); - } - - /* First, try this as stor: - * - * ( head -c number ) | ( cat > file; cat >/dev/null ) - * - * If 'head' is not present on the remote system, 'dd' will be used. - * Unfortunately, we cannot trust most non-GNU 'head' implementations - * even if '-c' options is supported. Therefore, we separate GNU head - * (and other modern heads?) using '-q' and '-' . This causes another - * implementations to fail (because of "incorrect options"). - * - * Fallback is: - * - * rest= - * while [ $rest -gt 0 ] - * do - * cnt=`expr \( $rest + 255 \) / 256` - * n=`dd bs=256 count=$cnt | tee -a | wc -c` - * rest=`expr $rest - $n` - * done - * - * 'dd' was not designed for full filling of input buffers, - * and does not report exact number of bytes (not blocks). - * Therefore a more complex shell script is needed. - * - * On some systems non-GNU head writes "Usage:" error report to stdout - * instead of stderr. It makes impossible the use of "head || dd" - * algorithm for file appending case, therefore just "dd" is used for it. - */ - - quoted_name = strutils_shell_escape (name); - vfs_print_message (_("fish: store %s: sending command..."), quoted_name); - - /* FIXME: File size is limited to ULONG_MAX */ - code = - fish_command_v (me, super, WAIT_REPLY, - fish->append ? fish_super->scr_append : fish_super->scr_send, - "FISH_FILENAME=%s FISH_FILESIZE=%" PRIuMAX ";\n", quoted_name, - (uintmax_t) s.st_size); - g_free (quoted_name); - - if (code != PRELIM) - { - close (h); - ERRNOR (E_REMOTE, -1); - } - - while (TRUE) - { - ssize_t n, t; - - while ((n = read (h, buffer, sizeof (buffer))) < 0) - { - if ((errno == EINTR) && tty_got_interrupt ()) - continue; - vfs_print_message ("%s", _("fish: Local read failed, sending zeros")); - close (h); - h = open ("/dev/zero", O_RDONLY); - } - - if (n == 0) - break; - - t = write (fish_super->sockw, buffer, n); - if (t != n) - { - if (t == -1) - me->verrno = errno; - else - me->verrno = EIO; - goto error_return; - } - tty_disable_interrupt_key (); - total += n; - vfs_print_message ("%s: %" PRIuMAX "/%" PRIuMAX, _("fish: storing file"), - (uintmax_t) total, (uintmax_t) s.st_size); - } - close (h); - - if (fish_get_reply (me, fish_super->sockr, NULL, 0) != COMPLETE) - ERRNOR (E_REMOTE, -1); - return 0; - - error_return: - close (h); - fish_get_reply (me, fish_super->sockr, NULL, 0); - return -1; -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -fish_linear_start (struct vfs_class *me, vfs_file_handler_t * fh, off_t offset) -{ - fish_file_handler_t *fish = FISH_FILE_HANDLER (fh); - struct vfs_s_super *super = VFS_FILE_HANDLER_SUPER (fh); - char *name; - char *quoted_name; - - name = vfs_s_fullpath (me, fh->ino); - if (name == NULL) - return 0; - quoted_name = strutils_shell_escape (name); - g_free (name); - fish->append = FALSE; - - /* - * Check whether the remote file is readable by using 'dd' to copy - * a single byte from the remote file to /dev/null. If 'dd' completes - * with exit status of 0 use 'cat' to send the file contents to the - * standard output (i.e. over the network). - */ - - offset = - fish_command_v (me, super, WANT_STRING, FISH_SUPER (super)->scr_get, - "FISH_FILENAME=%s FISH_START_OFFSET=%" PRIuMAX ";\n", quoted_name, - (uintmax_t) offset); - g_free (quoted_name); - - if (offset != PRELIM) - ERRNOR (E_REMOTE, 0); - fh->linear = LS_LINEAR_OPEN; - fish->got = 0; - errno = 0; -#if SIZEOF_OFF_T == SIZEOF_LONG - fish->total = (off_t) strtol (reply_str, NULL, 10); -#else - fish->total = (off_t) g_ascii_strtoll (reply_str, NULL, 10); -#endif - if (errno != 0) - ERRNOR (E_REMOTE, 0); - return 1; -} - -/* --------------------------------------------------------------------------------------------- */ - -static void -fish_linear_abort (struct vfs_class *me, vfs_file_handler_t * fh) -{ - fish_file_handler_t *fish = FISH_FILE_HANDLER (fh); - struct vfs_s_super *super = VFS_FILE_HANDLER_SUPER (fh); - char buffer[BUF_8K]; - ssize_t n; - - vfs_print_message ("%s", _("Aborting transfer...")); - - do - { - n = MIN ((off_t) sizeof (buffer), (fish->total - fish->got)); - if (n != 0) - { - n = read (FISH_SUPER (super)->sockr, buffer, n); - if (n < 0) - return; - fish->got += n; - } - } - while (n != 0); - - if (fish_get_reply (me, FISH_SUPER (super)->sockr, NULL, 0) != COMPLETE) - vfs_print_message ("%s", _("Error reported after abort.")); - else - vfs_print_message ("%s", _("Aborted transfer would be successful.")); -} - -/* --------------------------------------------------------------------------------------------- */ - -static ssize_t -fish_linear_read (struct vfs_class *me, vfs_file_handler_t * fh, void *buf, size_t len) -{ - fish_file_handler_t *fish = FISH_FILE_HANDLER (fh); - struct vfs_s_super *super = VFS_FILE_HANDLER_SUPER (fh); - ssize_t n = 0; - - len = MIN ((size_t) (fish->total - fish->got), len); - tty_disable_interrupt_key (); - while (len != 0 && ((n = read (FISH_SUPER (super)->sockr, buf, len)) < 0)) - { - if ((errno == EINTR) && !tty_got_interrupt ()) - continue; - break; - } - tty_enable_interrupt_key (); - - if (n > 0) - fish->got += n; - else if (n < 0) - fish_linear_abort (me, fh); - else if (fish_get_reply (me, FISH_SUPER (super)->sockr, NULL, 0) != COMPLETE) - ERRNOR (E_REMOTE, -1); - ERRNOR (errno, n); -} - -/* --------------------------------------------------------------------------------------------- */ - -static void -fish_linear_close (struct vfs_class *me, vfs_file_handler_t * fh) -{ - fish_file_handler_t *fish = FISH_FILE_HANDLER (fh); - - if (fish->total != fish->got) - fish_linear_abort (me, fh); -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -fish_ctl (void *fh, int ctlop, void *arg) -{ - (void) arg; - (void) fh; - (void) ctlop; - - return 0; - -#if 0 - switch (ctlop) - { - case VFS_CTL_IS_NOTREADY: - { - vfs_file_handler_t *file = VFS_FILE_HANDLER (fh); - int v; - - if (file->linear == LS_NOT_LINEAR) - vfs_die ("You may not do this"); - if (file->linear == LS_LINEAR_CLOSED || file->linear == LS_LINEAR_PREOPEN) - return 0; - - v = vfs_s_select_on_two (VFS_FILE_HANDLER_SUPER (fh)->u.fish.sockr, 0); - - return (((v < 0) && (errno == EINTR)) || v == 0) ? 1 : 0; - } - default: - return 0; - } -#endif -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -fish_rename (const vfs_path_t * vpath1, const vfs_path_t * vpath2) -{ - const char *crpath1, *crpath2; - char *rpath1, *rpath2; - struct vfs_s_super *super, *super2; - struct vfs_class *me; - int ret; - - crpath1 = vfs_s_get_path (vpath1, &super, 0); - if (crpath1 == NULL) - return -1; - - crpath2 = vfs_s_get_path (vpath2, &super2, 0); - if (crpath2 == NULL) - return -1; - - rpath1 = strutils_shell_escape (crpath1); - rpath2 = strutils_shell_escape (crpath2); - - me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath1)); - - ret = - fish_send_command (me, super2, OPT_FLUSH, FISH_SUPER (super)->scr_mv, - "FISH_FILEFROM=%s FISH_FILETO=%s;\n", rpath1, rpath2); - - g_free (rpath1); - g_free (rpath2); - - return ret; -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -fish_link (const vfs_path_t * vpath1, const vfs_path_t * vpath2) -{ - const char *crpath1, *crpath2; - char *rpath1, *rpath2; - struct vfs_s_super *super, *super2; - struct vfs_class *me; - int ret; - - crpath1 = vfs_s_get_path (vpath1, &super, 0); - if (crpath1 == NULL) - return -1; - - crpath2 = vfs_s_get_path (vpath2, &super2, 0); - if (crpath2 == NULL) - return -1; - - rpath1 = strutils_shell_escape (crpath1); - rpath2 = strutils_shell_escape (crpath2); - - me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath1)); - - ret = - fish_send_command (me, super2, OPT_FLUSH, FISH_SUPER (super)->scr_hardlink, - "FISH_FILEFROM=%s FISH_FILETO=%s;\n", rpath1, rpath2); - - g_free (rpath1); - g_free (rpath2); - - return ret; -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -fish_symlink (const vfs_path_t * vpath1, const vfs_path_t * vpath2) -{ - char *qsetto; - const char *crpath; - char *rpath; - struct vfs_s_super *super; - struct vfs_class *me; - int ret; - - crpath = vfs_s_get_path (vpath2, &super, 0); - if (crpath == NULL) - return -1; - - rpath = strutils_shell_escape (crpath); - qsetto = strutils_shell_escape (vfs_path_get_last_path_str (vpath1)); - - me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath2)); - - ret = - fish_send_command (me, super, OPT_FLUSH, FISH_SUPER (super)->scr_ln, - "FISH_FILEFROM=%s FISH_FILETO=%s;\n", qsetto, rpath); - - g_free (qsetto); - g_free (rpath); - - return ret; -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -fish_stat (const vfs_path_t * vpath, struct stat *buf) -{ - int ret; - - ret = vfs_s_stat (vpath, buf); - fish_set_blksize (buf); - return ret; -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -fish_lstat (const vfs_path_t * vpath, struct stat *buf) -{ - int ret; - - ret = vfs_s_lstat (vpath, buf); - fish_set_blksize (buf); - return ret; -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -fish_fstat (void *vfs_info, struct stat *buf) -{ - int ret; - - ret = vfs_s_fstat (vfs_info, buf); - fish_set_blksize (buf); - return ret; -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -fish_chmod (const vfs_path_t * vpath, mode_t mode) -{ - const char *crpath; - char *rpath; - struct vfs_s_super *super; - struct vfs_class *me; - int ret; - - crpath = vfs_s_get_path (vpath, &super, 0); - if (crpath == NULL) - return -1; - - rpath = strutils_shell_escape (crpath); - - me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath)); - - ret = - fish_send_command (me, super, OPT_FLUSH, FISH_SUPER (super)->scr_chmod, - "FISH_FILENAME=%s FISH_FILEMODE=%4.4o;\n", rpath, - (unsigned int) (mode & 07777)); - - g_free (rpath); - - return ret;; -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -fish_chown (const vfs_path_t * vpath, uid_t owner, gid_t group) -{ - char *sowner, *sgroup; - struct passwd *pw; - struct group *gr; - const char *crpath; - char *rpath; - struct vfs_s_super *super; - struct vfs_class *me; - int ret; - - pw = getpwuid (owner); - if (pw == NULL) - return 0; - - gr = getgrgid (group); - if (gr == NULL) - return 0; - - sowner = pw->pw_name; - sgroup = gr->gr_name; - - crpath = vfs_s_get_path (vpath, &super, 0); - if (crpath == NULL) - return -1; - - rpath = strutils_shell_escape (crpath); - - me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath)); - - /* FIXME: what should we report if chgrp succeeds but chown fails? */ - ret = - fish_send_command (me, super, OPT_FLUSH, FISH_SUPER (super)->scr_chown, - "FISH_FILENAME=%s FISH_FILEOWNER=%s FISH_FILEGROUP=%s;\n", rpath, sowner, - sgroup); - - g_free (rpath); - - return ret; -} - -/* --------------------------------------------------------------------------------------------- */ - -static void -fish_get_atime (mc_timesbuf_t * times, time_t * sec, long *nsec) -{ -#ifdef HAVE_UTIMENSAT - *sec = (*times)[0].tv_sec; - *nsec = (*times)[0].tv_nsec; -#else - *sec = times->actime; - *nsec = 0; -#endif -} - -/* --------------------------------------------------------------------------------------------- */ - -static void -fish_get_mtime (mc_timesbuf_t * times, time_t * sec, long *nsec) -{ -#ifdef HAVE_UTIMENSAT - *sec = (*times)[1].tv_sec; - *nsec = (*times)[1].tv_nsec; -#else - *sec = times->modtime; - *nsec = 0; -#endif -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -fish_utime (const vfs_path_t * vpath, mc_timesbuf_t * times) -{ - char utcatime[16], utcmtime[16]; - char utcatime_w_nsec[30], utcmtime_w_nsec[30]; - time_t atime, mtime; - long atime_nsec, mtime_nsec; - struct tm *gmt; - const char *crpath; - char *rpath; - struct vfs_s_super *super; - struct vfs_class *me; - int ret; - - crpath = vfs_s_get_path (vpath, &super, 0); - if (crpath == NULL) - return -1; - - rpath = strutils_shell_escape (crpath); - - fish_get_atime (times, &atime, &atime_nsec); - gmt = gmtime (&atime); - g_snprintf (utcatime, sizeof (utcatime), "%04d%02d%02d%02d%02d.%02d", - gmt->tm_year + 1900, gmt->tm_mon + 1, gmt->tm_mday, - gmt->tm_hour, gmt->tm_min, gmt->tm_sec); - g_snprintf (utcatime_w_nsec, sizeof (utcatime_w_nsec), "%04d-%02d-%02d %02d:%02d:%02d.%09ld", - gmt->tm_year + 1900, gmt->tm_mon + 1, gmt->tm_mday, - gmt->tm_hour, gmt->tm_min, gmt->tm_sec, atime_nsec); - - fish_get_mtime (times, &mtime, &mtime_nsec); - gmt = gmtime (&mtime); - g_snprintf (utcmtime, sizeof (utcmtime), "%04d%02d%02d%02d%02d.%02d", - gmt->tm_year + 1900, gmt->tm_mon + 1, gmt->tm_mday, - gmt->tm_hour, gmt->tm_min, gmt->tm_sec); - g_snprintf (utcmtime_w_nsec, sizeof (utcmtime_w_nsec), "%04d-%02d-%02d %02d:%02d:%02d.%09ld", - gmt->tm_year + 1900, gmt->tm_mon + 1, gmt->tm_mday, - gmt->tm_hour, gmt->tm_min, gmt->tm_sec, mtime_nsec); - - me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath)); - - ret = fish_send_command (me, super, OPT_FLUSH, FISH_SUPER (super)->scr_utime, - "FISH_FILENAME=%s FISH_FILEATIME=%ld FISH_FILEMTIME=%ld " - "FISH_TOUCHATIME=%s FISH_TOUCHMTIME=%s FISH_TOUCHATIME_W_NSEC=\"%s\" " - "FISH_TOUCHMTIME_W_NSEC=\"%s\";\n", rpath, (long) atime, (long) mtime, - utcatime, utcmtime, utcatime_w_nsec, utcmtime_w_nsec); - - g_free (rpath); - - return ret; -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -fish_unlink (const vfs_path_t * vpath) -{ - const char *crpath; - char *rpath; - struct vfs_s_super *super; - struct vfs_class *me; - int ret; - - crpath = vfs_s_get_path (vpath, &super, 0); - if (crpath == NULL) - return -1; - - rpath = strutils_shell_escape (crpath); - - me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath)); - - ret = - fish_send_command (me, super, OPT_FLUSH, FISH_SUPER (super)->scr_unlink, - "FISH_FILENAME=%s;\n", rpath); - - g_free (rpath); - - return ret; -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -fish_exists (const vfs_path_t * vpath) -{ - const char *crpath; - char *rpath; - struct vfs_s_super *super; - struct vfs_class *me; - int ret; - - crpath = vfs_s_get_path (vpath, &super, 0); - if (crpath == NULL) - return -1; - - rpath = strutils_shell_escape (crpath); - - me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath)); - - ret = - fish_send_command (me, super, OPT_FLUSH, FISH_SUPER (super)->scr_exists, - "FISH_FILENAME=%s;\n", rpath); - - g_free (rpath); - - return (ret == 0 ? 1 : 0); -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -fish_mkdir (const vfs_path_t * vpath, mode_t mode) -{ - const char *crpath; - char *rpath; - struct vfs_s_super *super; - struct vfs_class *me; - int ret; - - (void) mode; - - crpath = vfs_s_get_path (vpath, &super, 0); - if (crpath == NULL) - return -1; - - rpath = strutils_shell_escape (crpath); - - me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath)); - - ret = - fish_send_command (me, super, OPT_FLUSH, FISH_SUPER (super)->scr_mkdir, - "FISH_FILENAME=%s;\n", rpath); - g_free (rpath); - - if (ret != 0) - return ret; - - if (fish_exists (vpath) == 0) - { - me->verrno = EACCES; - return -1; - } - return 0; -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -fish_rmdir (const vfs_path_t * vpath) -{ - const char *crpath; - char *rpath; - struct vfs_s_super *super; - struct vfs_class *me; - int ret; - - crpath = vfs_s_get_path (vpath, &super, 0); - if (crpath == NULL) - return -1; - - rpath = strutils_shell_escape (crpath); - - me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath)); - - ret = - fish_send_command (me, super, OPT_FLUSH, FISH_SUPER (super)->scr_rmdir, - "FISH_FILENAME=%s;\n", rpath); - - g_free (rpath); - - return ret; -} - -/* --------------------------------------------------------------------------------------------- */ - -static vfs_file_handler_t * -fish_fh_new (struct vfs_s_inode *ino, gboolean changed) -{ - fish_file_handler_t *fh; - - fh = g_new0 (fish_file_handler_t, 1); - vfs_s_init_fh (VFS_FILE_HANDLER (fh), ino, changed); - - return VFS_FILE_HANDLER (fh); -} - -/* --------------------------------------------------------------------------------------------- */ - -static int -fish_fh_open (struct vfs_class *me, vfs_file_handler_t * fh, int flags, mode_t mode) -{ - fish_file_handler_t *fish = FISH_FILE_HANDLER (fh); - - (void) mode; - - /* File will be written only, so no need to retrieve it */ - if (((flags & O_WRONLY) == O_WRONLY) && ((flags & (O_RDONLY | O_RDWR)) == 0)) - { - /* user pressed the button [ Append ] in the "Copy" dialog */ - if ((flags & O_APPEND) != 0) - fish->append = TRUE; - - if (fh->ino->localname == NULL) - { - vfs_path_t *vpath = NULL; - int tmp_handle; - - tmp_handle = vfs_mkstemps (&vpath, me->name, fh->ino->ent->name); - if (tmp_handle == -1) - return (-1); - - fh->ino->localname = vfs_path_free (vpath, FALSE); - close (tmp_handle); - } - return 0; - } - - if (fh->ino->localname == NULL && vfs_s_retrieve_file (me, fh->ino) == -1) - return (-1); - - if (fh->ino->localname == NULL) - vfs_die ("retrieve_file failed to fill in localname"); - return 0; -} - -/* --------------------------------------------------------------------------------------------- */ - -static void -fish_fill_names (struct vfs_class *me, fill_names_f func) -{ - GList *iter; - - for (iter = VFS_SUBCLASS (me)->supers; iter != NULL; iter = g_list_next (iter)) - { - const struct vfs_s_super *super = (const struct vfs_s_super *) iter->data; - - char *name; - char gbuf[10]; - const char *flags = ""; - - switch (super->path_element->port) - { - case FISH_FLAG_RSH: - flags = ":r"; - break; - case FISH_FLAG_COMPRESSED: - flags = ":C"; - break; - default: - if (super->path_element->port > FISH_FLAG_RSH) - { - g_snprintf (gbuf, sizeof (gbuf), ":%d", super->path_element->port); - flags = gbuf; - } - break; - } - - name = - g_strconcat (vfs_fish_ops->prefix, VFS_PATH_URL_DELIMITER, - super->path_element->user, "@", super->path_element->host, flags, - PATH_SEP_STR, super->path_element->path, (char *) NULL); - func (name); - g_free (name); - } -} - -/* --------------------------------------------------------------------------------------------- */ - -static void * -fish_open (const vfs_path_t * vpath, int flags, mode_t mode) -{ - /* - sorry, i've places hack here - cause fish don't able to open files with O_EXCL flag - */ - flags &= ~O_EXCL; - return vfs_s_open (vpath, flags, mode); -} - -/* --------------------------------------------------------------------------------------------- */ -/*** public functions ****************************************************************************/ -/* --------------------------------------------------------------------------------------------- */ - -void -vfs_init_fish (void) -{ - tcp_init (); - - vfs_init_subclass (&fish_subclass, "fish", VFSF_REMOTE | VFSF_USETMP, "sh"); - vfs_fish_ops->fill_names = fish_fill_names; - vfs_fish_ops->stat = fish_stat; - vfs_fish_ops->lstat = fish_lstat; - vfs_fish_ops->fstat = fish_fstat; - vfs_fish_ops->chmod = fish_chmod; - vfs_fish_ops->chown = fish_chown; - vfs_fish_ops->utime = fish_utime; - vfs_fish_ops->open = fish_open; - vfs_fish_ops->symlink = fish_symlink; - vfs_fish_ops->link = fish_link; - vfs_fish_ops->unlink = fish_unlink; - vfs_fish_ops->rename = fish_rename; - vfs_fish_ops->mkdir = fish_mkdir; - vfs_fish_ops->rmdir = fish_rmdir; - vfs_fish_ops->ctl = fish_ctl; - fish_subclass.archive_same = fish_archive_same; - fish_subclass.new_archive = fish_new_archive; - fish_subclass.open_archive = fish_open_archive; - fish_subclass.free_archive = fish_free_archive; - fish_subclass.fh_new = fish_fh_new; - fish_subclass.fh_open = fish_fh_open; - fish_subclass.dir_load = fish_dir_load; - fish_subclass.file_store = fish_file_store; - fish_subclass.linear_start = fish_linear_start; - fish_subclass.linear_read = fish_linear_read; - fish_subclass.linear_close = fish_linear_close; - vfs_register_class (vfs_fish_ops); -} - -/* --------------------------------------------------------------------------------------------- */ diff -Nru mc-4.8.30/src/vfs/fish/fish.h mc-4.8.31/src/vfs/fish/fish.h --- mc-4.8.30/src/vfs/fish/fish.h 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/fish/fish.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,28 +0,0 @@ - -/** - * \file - * \brief Header: Virtual File System: FISH implementation for transferring files over - * shell connections - */ - - -#ifndef MC__VFS_FISH_H -#define MC__VFS_FISH_H - -/*** typedefs(not structures) and defined constants **********************************************/ - -/*** enums ***************************************************************************************/ - -/*** structures declarations (and typedefs of structures)*****************************************/ - -/*** global variables defined in .c file *********************************************************/ - -extern int fish_directory_timeout; - -/*** declarations of public functions ************************************************************/ - -void vfs_init_fish (void); - -/*** inline functions ****************************************************************************/ - -#endif diff -Nru mc-4.8.30/src/vfs/fish/fishdef.h mc-4.8.31/src/vfs/fish/fishdef.h --- mc-4.8.30/src/vfs/fish/fishdef.h 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/fish/fishdef.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,236 +0,0 @@ - -/** - * \file - * \brief Header: FISH script defaults - */ - -#ifndef MC__FISH_DEF_H -#define MC__FISH_DEF_H - -/*** typedefs(not structures) and defined constants **********************************************/ - -/* default 'ls' script */ -#define FISH_LS_DEF_CONTENT "" \ -"#LIST /${FISH_FILENAME}\n" \ -"export LC_TIME=C\n" \ -"ls -Qlan \"/${FISH_FILENAME}\" 2>/dev/null | grep '^[^cbt]' | (\n" \ -"while read p l u g s m d y n; do\n" \ -" echo \"P$p $u.$g\"\n" \ -" echo \"S$s\"\n" \ -" echo \"d$m $d $y\"\n" \ -" echo \":$n\"\n" \ -" echo\n" \ -"done\n" \ -")\n" \ -"ls -Qlan \"/${FISH_FILENAME}\" 2>/dev/null | grep '^[cb]' | (\n" \ -"while read p l u g a i m d y n; do\n" \ -" echo \"P$p $u.$g\"\n" \ -" echo \"E$a$i\"\n" \ -" echo \"d$m $d $y\"\n" \ -" echo \":$n\"\n" \ -" echo\n" \ -"done\n" \ -")\n" \ -"echo \"### 200\"\n" - -/* default file exists script */ -#define FISH_EXISTS_DEF_CONTENT "" \ -"#ISEXISTS $FISH_FILENAME\n" \ -"ls -l \"/${FISH_FILENAME}\" >/dev/null 2>/dev/null\n" \ -"echo '### '$?\n" - -/* default 'mkdir' script */ -#define FISH_MKDIR_DEF_CONTENT "" \ -"#MKD $FISH_FILENAME\n" \ -"if mkdir \"/${FISH_FILENAME}\" 2>/dev/null; then\n" \ -" echo \"### 000\"\n" \ -"else\n" \ -" echo \"### 500\"\n" \ -"fi\n" - -/* default 'unlink' script */ -#define FISH_UNLINK_DEF_CONTENT "" \ -"#DELE $FISH_FILENAME\n" \ -"if rm -f \"/${FISH_FILENAME}\" 2>/dev/null; then\n" \ -" echo \"### 000\"\n" \ -"else\n" \ -" echo \"### 500\"\n" \ -"fi\n" -/* default 'chown' script */ -#define FISH_CHOWN_DEF_CONTENT "" \ -"#CHOWN $FISH_FILEOWNER:$FISH_FILEGROUP $FISH_FILENAME\n" \ -"if chown ${FISH_FILEOWNER}:${FISH_FILEGROUP} \"/${FISH_FILENAME}\"; then\n"\ -" echo \"### 000\"\n" \ -"else\n" \ -" echo \"### 500\"\n" \ -"fi\n" - -/* default 'chmod' script */ -#define FISH_CHMOD_DEF_CONTENT "" \ -"#CHMOD $FISH_FILEMODE $FISH_FILENAME\n" \ -"if chmod ${FISH_FILEMODE} \"/${FISH_FILENAME}\" 2>/dev/null; then\n" \ -" echo \"### 000\"\n" \ -"else\n" \ -" echo \"### 500\"\n" \ -"fi\n" - -/* default 'utime' script */ -#define FISH_UTIME_DEF_CONTENT "" \ -"#UTIME \"$FISH_TOUCHATIME_W_NSEC\" \"$FISH_TOUCHMTIME_W_NSEC\" $FISH_FILENAME\n" \ -"if TZ=UTC touch -h -m -d \"$FISH_TOUCHMTIME_W_NSEC\" \"/${FISH_FILENAME}\" 2>/dev/null && \\\n" \ -" TZ=UTC touch -h -a -d \"$FISH_TOUCHATIME_W_NSEC\" \"/${FISH_FILENAME}\" 2>/dev/null; then\n" \ -" echo \"### 000\"\n" \ -"elif TZ=UTC touch -h -m -t $FISH_TOUCHMTIME \"/${FISH_FILENAME}\" 2>/dev/null && \\\n" \ -" TZ=UTC touch -h -a -t $FISH_TOUCHATIME \"/${FISH_FILENAME}\" 2>/dev/null; then\n" \ -" echo \"### 000\"\n" \ -"elif [ -n \"$FISH_HAVE_PERL\" ] && \\\n" \ -" perl -e 'utime '$FISH_FILEATIME','$FISH_FILEMTIME',@ARGV;' \"/${FISH_FILENAME}\" 2>/dev/null; then\n" \ -" echo \"### 000\"\n" \ -"else\n" \ -" echo \"### 500\"\n" \ -"fi\n" - - -/* default 'rmdir' script */ -#define FISH_RMDIR_DEF_CONTENT "" \ -"#RMD $FISH_FILENAME\n" \ -"if rmdir \"/${FISH_FILENAME}\" 2>/dev/null; then\n" \ -" echo \"### 000\"\n" \ -"else\n" \ -" echo \"### 500\"\n" \ -"fi\n" - -/* default 'ln -s' symlink script */ -#define FISH_LN_DEF_CONTENT "" \ -"#SYMLINK $FISH_FILEFROM $FISH_FILETO\n" \ -"if ln -s \"/${FISH_FILEFROM}\" \"/${FISH_FILETO}\" 2>/dev/null; then\n" \ -" echo \"### 000\"\n" \ -"else\n" \ -" echo \"### 500\"\n" \ -"fi\n" - -/* default 'mv' script */ -#define FISH_MV_DEF_CONTENT "" \ -"#RENAME $FISH_FILEFROM $FISH_FILETO\n" \ -"if mv \"/${FISH_FILEFROM}\" \"/${FISH_FILETO}\" 2>/dev/null; then\n" \ -" echo \"### 000\"\n" \ -"else\n" \ -" echo \"### 500\"\n" \ -"fi\n" - -/* default 'ln' hardlink script */ -#define FISH_HARDLINK_DEF_CONTENT "" \ -"#LINK $FISH_FILEFROM $FISH_FILETO\n" \ -"if ln \"/${FISH_FILEFROM}\" \"/${FISH_FILETO}\" 2>/dev/null; then\n" \ -" echo \"### 000\"\n" \ -"else\n" \ -" echo \"### 500\"\n" \ -"fi\n" - -/* default 'retr' script */ -#define FISH_GET_DEF_CONTENT "" \ -"export LC_TIME=C\n" \ -"#RETR $FISH_FILENAME\n" \ -"if dd if=\"/${FISH_FILENAME}\" of=/dev/null bs=1 count=1 2>/dev/null ; then\n" \ -" ls -ln \"/${FISH_FILENAME}\" 2>/dev/null | (\n" \ -" read p l u g s r\n" \ -" echo $s\n" \ -" )\n" \ -" echo \"### 100\"\n" \ -" cat \"/${FISH_FILENAME}\"\n" \ -" echo \"### 200\"\n" \ -"else\n" \ -" echo \"### 500\"\n" \ -"fi\n" - -/* default 'stor' script */ -#define FISH_SEND_DEF_CONTENT "" \ -"FILENAME=\"/${FISH_FILENAME}\"\n" \ -"FILESIZE=${FISH_FILESIZE}\n" \ -"#STOR $FILESIZE $FILENAME\n" \ -"echo \"### 001\"\n" \ -"{\n" \ -" while [ $FILESIZE -gt 0 ]; do\n" \ -" cnt=`expr \\( $FILESIZE + 255 \\) / 256`\n" \ -" n=`dd bs=256 count=$cnt | tee -a \"${FILENAME}\" | wc -c`\n" \ -" FILESIZE=`expr $FILESIZE - $n`\n" \ -" done\n" \ -"}; echo \"### 200\"\n" - -/* default 'appe' script */ -#define FISH_APPEND_DEF_CONTENT "" \ -"FILENAME=\"/${FISH_FILENAME}\"\n" \ -"FILESIZE=${FISH_FILESIZE}\n" \ -"#APPE $FILESIZE $FILENAME\n" \ -"echo \"### 001\"\n" \ -"res=`exec 3>&1\n" \ -"(\n" \ -" head -c $FILESIZE -q - || echo DD >&3\n" \ -") 2>/dev/null | (\n" \ -" cat > \"${FILENAME}\"\n" \ -" cat > /dev/null\n" \ -")`; [ \"$res\" = DD ] && {\n" \ -" > \"${FILENAME}\"\n" \ -" while [ $FILESIZE -gt 0 ]\n" \ -" do\n" \ -" cnt=`expr \\( $FILESIZE + 255 \\) / 256`\n" \ -" n=`dd bs=256 count=$cnt | tee -a \"${FILENAME}\" | wc -c`\n" \ -" FILESIZE=`expr $FILESIZE - $n`\n" \ -" done\n" \ -"}; echo \"### 200\"\n" - -/* default 'info' script */ -#define FISH_INFO_DEF_CONTENT "" \ -"export LC_TIME=C\n" \ -"#FISH_HAVE_HEAD 1\n" \ -"#FISH_HAVE_SED 2\n" \ -"#FISH_HAVE_AWK 4\n" \ -"#FISH_HAVE_PERL 8\n" \ -"#FISH_HAVE_LSQ 16\n" \ -"#FISH_HAVE_DATE_MDYT 32\n" \ -"#FISH_HAVE_TAIL 64\n" \ -"res=0\n" \ -"if `echo yes| head -c 1 > /dev/null 2>&1` ; then\n" \ -" res=`expr $res + 1`\n" \ -"fi\n" \ -"if `sed --version >/dev/null 2>&1` ; then\n" \ -" res=`expr $res + 2`\n" \ -"fi\n" \ -"if `awk --version > /dev/null 2>&1` ; then\n" \ -" res=`expr $res + 4`\n" \ -"fi\n" \ -"if `perl -v > /dev/null 2>&1` ; then\n" \ -" res=`expr $res + 8`\n" \ -"fi\n" \ -"if `ls -Q / >/dev/null 2>&1` ; then\n" \ -" res=`expr $res + 16`\n" \ -"fi\n" \ -"dat=`ls -lan / 2>/dev/null | head -n 3 | tail -n 1 | (\n" \ -" while read p l u g s rec; do\n" \ -" if [ -n \"$g\" ]; then\n" \ -" if [ -n \"$l\" ]; then\n" \ -" echo \"$rec\"\n" \ -" fi\n" \ -" fi\n" \ -" done\n" \ -") | cut -c1 2>/dev/null`\n" \ -"r=`echo \"0123456789\"| grep \"$dat\"`\n" \ -"if [ -z \"$r\" ]; then\n" \ -" res=`expr $res + 32`\n" \ -"fi\n" \ -"if `echo yes| tail -c +1 - > /dev/null 2>&1` ; then\n" \ -" res=`expr $res + 64`\n" \ -"fi\n" \ -"echo $res\n" \ -"echo \"### 200\"\n" - -/*** enums ***************************************************************************************/ - -/*** structures declarations (and typedefs of structures)*****************************************/ - -/*** global variables defined in .c file *********************************************************/ - -/*** declarations of public functions ************************************************************/ - -/*** inline functions ****************************************************************************/ -#endif diff -Nru mc-4.8.30/src/vfs/fish/helpers/Makefile.am mc-4.8.31/src/vfs/fish/helpers/Makefile.am --- mc-4.8.30/src/vfs/fish/helpers/Makefile.am 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/fish/helpers/Makefile.am 1970-01-01 00:00:00.000000000 +0000 @@ -1,10 +0,0 @@ -fishdir = $(libexecdir)/@PACKAGE@/fish - -# Files to install and distribute other than fish scripts -FISH_MISC = README.fish - -# Install and distribute FISH helper scripts w/o shebang & executable bit as data -fish_DATA = $(FISH_MISC) ls mkdir fexists unlink chown chmod rmdir ln mv hardlink get send append info utime -fishconfdir = $(sysconfdir)/@PACKAGE@ - -EXTRA_DIST = $(fish_DATA) diff -Nru mc-4.8.30/src/vfs/fish/helpers/Makefile.in mc-4.8.31/src/vfs/fish/helpers/Makefile.in --- mc-4.8.30/src/vfs/fish/helpers/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/src/vfs/fish/helpers/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,642 +0,0 @@ -# Makefile.in generated by automake 1.16.5 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2021 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = src/vfs/fish/helpers -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ - $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/m4.include/gnulib/mode_t.m4 \ - $(top_srcdir)/m4.include/gnulib/stat-size.m4 \ - $(top_srcdir)/m4.include/gnulib/fstypename.m4 \ - $(top_srcdir)/m4.include/gnulib/fsusage.m4 \ - $(top_srcdir)/m4.include/gnulib/mountlist.m4 \ - $(top_srcdir)/m4.include/gnulib/windows-stat-inodes.m4 \ - $(top_srcdir)/m4.include/gnulib/sys_types_h.m4 \ - $(top_srcdir)/m4.include/ax_path_lib_pcre.m4 \ - $(top_srcdir)/m4.include/ax_check_pcre2.m4 \ - $(top_srcdir)/m4.include/dx_doxygen.m4 \ - $(top_srcdir)/m4.include/ax_require_defined.m4 \ - $(top_srcdir)/m4.include/ax_check_compile_flag.m4 \ - $(top_srcdir)/m4.include/ax_append_flag.m4 \ - $(top_srcdir)/m4.include/ax_append_compile_flags.m4 \ - $(top_srcdir)/m4.include/mc-cflags.m4 \ - $(top_srcdir)/m4.include/ax_gcc_func_attribute.m4 \ - $(top_srcdir)/m4.include/mc-check-search-type.m4 \ - $(top_srcdir)/m4.include/mc-get-fs-info.m4 \ - $(top_srcdir)/m4.include/mc-with-x.m4 \ - $(top_srcdir)/m4.include/mc-use-termcap.m4 \ - $(top_srcdir)/m4.include/mc-with-screen.m4 \ - $(top_srcdir)/m4.include/mc-with-screen-ncurses.m4 \ - $(top_srcdir)/m4.include/mc-with-screen-slang.m4 \ - $(top_srcdir)/m4.include/mc-with-internal-edit.m4 \ - $(top_srcdir)/m4.include/mc-subshell.m4 \ - $(top_srcdir)/m4.include/mc-background.m4 \ - $(top_srcdir)/m4.include/mc-ext2fs-attr.m4 \ - $(top_srcdir)/m4.include/mc-glib.m4 \ - $(top_srcdir)/m4.include/mc-vfs.m4 \ - $(top_srcdir)/m4.include/vfs/rpc.m4 \ - $(top_srcdir)/m4.include/vfs/socket.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-extfs.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ - $(top_srcdir)/m4.include/mc-version.m4 \ - $(top_srcdir)/m4.include/mc-tests.m4 \ - $(top_srcdir)/m4.include/mc-i18n.m4 \ - $(top_srcdir)/m4.include/mc-assert.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(fishdir)" -DATA = $(fish_DATA) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CHECK_CFLAGS = @CHECK_CFLAGS@ -CHECK_LIBS = @CHECK_LIBS@ -COM_ERR_CFLAGS = @COM_ERR_CFLAGS@ -COM_ERR_LIBS = @COM_ERR_LIBS@ -CP1251 = @CP1251@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CSCOPE = @CSCOPE@ -CTAGS = @CTAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DOC_LINGUAS = @DOC_LINGUAS@ -DOXYGEN_PAPER_SIZE = @DOXYGEN_PAPER_SIZE@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -DX_CONFIG = @DX_CONFIG@ -DX_DOCDIR = @DX_DOCDIR@ -DX_DOT = @DX_DOT@ -DX_DOXYGEN = @DX_DOXYGEN@ -DX_DVIPS = @DX_DVIPS@ -DX_EGREP = @DX_EGREP@ -DX_ENV = @DX_ENV@ -DX_FLAG_chi = @DX_FLAG_chi@ -DX_FLAG_chm = @DX_FLAG_chm@ -DX_FLAG_doc = @DX_FLAG_doc@ -DX_FLAG_dot = @DX_FLAG_dot@ -DX_FLAG_html = @DX_FLAG_html@ -DX_FLAG_man = @DX_FLAG_man@ -DX_FLAG_pdf = @DX_FLAG_pdf@ -DX_FLAG_ps = @DX_FLAG_ps@ -DX_FLAG_rtf = @DX_FLAG_rtf@ -DX_FLAG_xml = @DX_FLAG_xml@ -DX_HHC = @DX_HHC@ -DX_LATEX = @DX_LATEX@ -DX_MAKEINDEX = @DX_MAKEINDEX@ -DX_PDFLATEX = @DX_PDFLATEX@ -DX_PERL = @DX_PERL@ -DX_PROJECT = @DX_PROJECT@ -E2P_CFLAGS = @E2P_CFLAGS@ -E2P_LIBS = @E2P_LIBS@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -ETAGS = @ETAGS@ -EXEEXT = @EXEEXT@ -EXT2FS_CFLAGS = @EXT2FS_CFLAGS@ -EXT2FS_LIBS = @EXT2FS_LIBS@ -EXTHELPERSDIR = @EXTHELPERSDIR@ -FGREP = @FGREP@ -FILECMD = @FILECMD@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GLIB_CFLAGS = @GLIB_CFLAGS@ -GLIB_LIBS = @GLIB_LIBS@ -GMODULE_CFLAGS = @GMODULE_CFLAGS@ -GMODULE_LIBS = @GMODULE_LIBS@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -HAVE_FILECMD = @HAVE_FILECMD@ -HAVE_ZIPINFO = @HAVE_ZIPINFO@ -HAVE_nroff = @HAVE_nroff@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBMC_RELEASE = @LIBMC_RELEASE@ -LIBMC_VERSION = @LIBMC_VERSION@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBSSH_CFLAGS = @LIBSSH_CFLAGS@ -LIBSSH_LIBS = @LIBSSH_LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANDOC = @MANDOC@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MAN_DATE = @MAN_DATE@ -MAN_FLAGS = @MAN_FLAGS@ -MAN_VERSION = @MAN_VERSION@ -MCLIBS = @MCLIBS@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PCRE_CFLAGS = @PCRE_CFLAGS@ -PCRE_LIBS = @PCRE_LIBS@ -PERL = @PERL@ -PERL_FOR_BUILD = @PERL_FOR_BUILD@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -POSUB = @POSUB@ -PYTHON = @PYTHON@ -RANLIB = @RANLIB@ -RUBY = @RUBY@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SLANG_CFLAGS = @SLANG_CFLAGS@ -SLANG_LIBS = @SLANG_LIBS@ -STRIP = @STRIP@ -TESTS_LDFLAGS = @TESTS_LDFLAGS@ -UNZIP = @UNZIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -X11_WWW = @X11_WWW@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -XMKMF = @XMKMF@ -X_CFLAGS = @X_CFLAGS@ -X_EXTRA_LIBS = @X_EXTRA_LIBS@ -X_LIBS = @X_LIBS@ -X_PRE_LIBS = @X_PRE_LIBS@ -ZIP = @ZIP@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -fishdir = $(libexecdir)/@PACKAGE@/fish - -# Files to install and distribute other than fish scripts -FISH_MISC = README.fish - -# Install and distribute FISH helper scripts w/o shebang & executable bit as data -fish_DATA = $(FISH_MISC) ls mkdir fexists unlink chown chmod rmdir ln mv hardlink get send append info utime -fishconfdir = $(sysconfdir)/@PACKAGE@ -EXTRA_DIST = $(fish_DATA) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/vfs/fish/helpers/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu src/vfs/fish/helpers/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-fishDATA: $(fish_DATA) - @$(NORMAL_INSTALL) - @list='$(fish_DATA)'; test -n "$(fishdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(fishdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(fishdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(fishdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(fishdir)" || exit $$?; \ - done - -uninstall-fishDATA: - @$(NORMAL_UNINSTALL) - @list='$(fish_DATA)'; test -n "$(fishdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(fishdir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(DATA) -installdirs: - for dir in "$(DESTDIR)$(fishdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-fishDATA - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-fishDATA - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-fishDATA \ - install-html install-html-am install-info install-info-am \ - install-man install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am tags-am uninstall uninstall-am uninstall-fishDATA - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru mc-4.8.30/src/vfs/fish/helpers/README.fish mc-4.8.31/src/vfs/fish/helpers/README.fish --- mc-4.8.30/src/vfs/fish/helpers/README.fish 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/fish/helpers/README.fish 1970-01-01 00:00:00.000000000 +0000 @@ -1,217 +0,0 @@ - - FIles transferred over SHell protocol (V 0.0.3) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -This protocol was designed for transferring files over a remote shell -connection (rsh and compatibles). It can be as well used for transfers over -rsh, and there may be other uses. - -Client sends requests of following form: - -#FISH_COMMAND -equivalent shell commands, -which may be multiline - -Only fish commands are defined here, shell equivalents are for your -information only and will probably vary from implementation to -implementation. Fish commands always have priority: server is -expected to execute fish command if it understands it. If it does not, -however, it can try the luck and execute shell command. - -Since version 4.7.3, the scripts that FISH sends to host machines after -a command is transmitted are no longer hardwired in the Midnight -Commander source code. - -First, mc looks for system-wide set of scripts, then it checks whether -current user has host-specific overrides in his per-user mc -configuration directory. User-defined overrides take priority over -sytem-wide scripts if they exist. The order in which the directories are -traversed is as follows: - - /usr/libexec/mc/fish - ~/.local/share/mc/fish// - -Server's reply is multiline, but always ends with - -### 000 - -line. ### is prefix to mark this line, 000 is return code. Return -codes are superset to those used in ftp. - -There are few new exit codes defined: - -000 don't know; if there were no previous lines, this marks COMPLETE -success, if they were, it marks failure. - -001 don't know; if there were no previous lines, this marks -PRELIMinary success, if they were, it marks failure - - Connecting - ~~~~~~~~~~ -Client uses "echo FISH:;/bin/sh" as command executed on remote -machine. This should make it possible for server to distinguish FISH -connections from normal rsh/ssh. - - Commands - ~~~~~~~~ -#FISH -echo; start_fish_server; echo '### 200' - -This command is sent at the beginning. It marks that client wishes to -talk via FISH protocol. #VER command must follow. If server -understands FISH protocol, it has option to put FISH server somewhere -on system path and name it start_fish_server. - -#VER 0.0.2 <...> -echo '### 000' - -This command is the second one. It sends client version and extensions -to the server. Server should reply with protocol version to be used, -and list of extensions accepted. - -VER 0.0.0 -### 200 - -#PWD -pwd; echo '### 200' - -Server should reply with current directory (in form /abc/def/ghi) -followed by line indicating success. - -#LIST /directory -ls -lLa $1 | grep '^[^cbt]' | ( while read p x u g s m d y n; do echo "P$p $u.$g -S$s -d$m $d $y -:$n -"; done ) -ls -lLa $1 | grep '^[cb]' | ( while read p x u g a i m d y n; do echo "P$p $u.$g -E$a$i -dD$m $d $y -:$n -"; done ) -echo '### 200' - -This allows client to list directory or get status information about -single file. Output is in following form (any line except : -may be omitted): - -P . -S -d<3-letters month name> -D [.1234] -E, -: -L - - -Unix permissions are of form X--------- where X is type of -file. Currently, '-' means regular file, 'd' means directory, 'c', 'b' -means character and block device, 'l' means symbolic link, 'p' means -FIFO and 's' means socket. - -'d' has three fields: month (one of strings Jan Feb Mar Apr May Jun -Jul Aug Sep Oct Nov Dec), day of month, and third is either single -number indicating year, or HH:MM field (assume current year in such -case). As you've probably noticed, this is pretty broken; it is for -compatibility with ls listing. - -#RETR /some/name -ls -l /some/name | ( read a b c d x e; echo $x ); echo '### 100'; cat /some/name; echo '### 200' - -Server sends line with filesize on it, followed by line with ### 100 -indicating partial success, then it sends binary data (exactly -filesize bytes) and follows them with (with no preceding newline) ### -200. - -Note that there's no way to abort running RETR command - except -closing the connection. - -#STOR /file/name -> /file/name; echo '### 001'; ( dd bs=4096 count=; dd bs= count=1 ) 2>/dev/null | ( cat > %s; cat > /dev/null ); echo '### 200' - -This command is for storing /file/name, which is exactly size bytes -big. You probably think I went crazy. Well, I did not: that strange -cat > /dev/null has purpose to discard any extra data which was not -written to disk (due to for example out of space condition). - -[Why? Imagine uploading file with "rm -rf /" line in it.] - -#CWD /somewhere -cd /somewhere; echo '### 000' - -It is specified here, but I'm not sure how wise idea is to use this -one: it breaks stateless-ness of the protocol. - -Following commands should be rather self-explanatory: - -#CHMOD 1234 file -chmod 1234 file; echo '### 000' - -#DELE /some/path -rm -f /some/path; echo '### 000' - -#MKD /some/path -mkdir /some/path; echo '### 000' - -#RMD /some/path -rmdir /some/path; echo '### 000' - -#RENAME /path/a /path/b -mv /path/a /path/b; echo '### 000' - -#LINK /path/a /path/b -ln /path/a /path/b; echo '### 000' - -#SYMLINK /path/a /path/b -ln -s /path/a /path/b; echo '### 000' - -#CHOWN user /file/name -chown user /file/name; echo '### 000' - -#CHGRP group /file/name -chgrp group /file/name; echo '### 000' - -#INFO -...collect info about host into $result ... -echo $result -echo '### 200' - -#READ /path/and/filename -cat /path/and/filename | ( dd bs=4096 count= > /dev/null; -dd bs= count=1 > /dev/null; -dd bs=4096 count=; -dd bs= count=1; ) - -Returns ### 200 on successful exit, ### 291 on successful exit when -reading ended at eof, ### 292 on successful exit when reading did not -end at eof. - -#WRITE /path/and/filename - -Hmm, shall we define these ones if we know our client is not going to -use them? - -you can use follow parameters: -FISH_FILESIZE -FISH_FILENAME -FISH_FILEMODE -FISH_FILEOWNER -FISH_FILEGROUPE -FISH_FILEFROM -FISH_FILETO - -NB: -'FISH_FILESIZE' used if we operate with single file name in 'unlink', 'rmdir', 'chmod', etc... -'FISH_FILEFROM','FISH_FILETO' used if we operate with two files in 'ln', 'hardlink', 'mv' etc... -'FISH_FILEOWNER', 'FISH_FILEGROUPE' is a new user/group in chown - -also flags: -FISH_HAVE_HEAD -FISH_HAVE_SED -FISH_HAVE_AWK -FISH_HAVE_PERL -FISH_HAVE_LSQ -FISH_HAVE_DATE_MDYT - -That's all, folks! - pavel@ucw.cz diff -Nru mc-4.8.30/src/vfs/fish/helpers/append mc-4.8.31/src/vfs/fish/helpers/append --- mc-4.8.30/src/vfs/fish/helpers/append 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/fish/helpers/append 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -#APPE $FISH_FILESIZE $FISH_FILENAME -FILENAME="/${FISH_FILENAME}" -echo "### 001" -{ - bss=4096 - bsl=4095 - if [ $FISH_FILESIZE -lt $bss ]; then - bss=1; - bsl=0; - fi - while [ $FISH_FILESIZE -gt 0 ]; do - cnt=`expr \\( $FISH_FILESIZE + $bsl \\) / $bss` - n=`dd bs=$bss count=$cnt | tee -a "${FILENAME}" | wc -c` - FISH_FILESIZE=`expr $FISH_FILESIZE - $n` - done -}; echo "### 200" diff -Nru mc-4.8.30/src/vfs/fish/helpers/chmod mc-4.8.31/src/vfs/fish/helpers/chmod --- mc-4.8.30/src/vfs/fish/helpers/chmod 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/fish/helpers/chmod 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ -#CHMOD $FISH_FILEMODE $FISH_FILENAME -if chmod ${FISH_FILEMODE} "/${FISH_FILENAME}" 2>/dev/null; then - echo "### 000" -else - echo "### 500" -fi diff -Nru mc-4.8.30/src/vfs/fish/helpers/chown mc-4.8.31/src/vfs/fish/helpers/chown --- mc-4.8.30/src/vfs/fish/helpers/chown 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/fish/helpers/chown 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ -#CHOWN $FISH_FILEOWNER:$FISH_FILEGROUP $FISH_FILENAME -if chown ${FISH_FILEOWNER}:${FISH_FILEGROUP} "/${FISH_FILENAME}" ; then - echo "### 000" -else - echo "### 500" -fi diff -Nru mc-4.8.30/src/vfs/fish/helpers/fexists mc-4.8.31/src/vfs/fish/helpers/fexists --- mc-4.8.30/src/vfs/fish/helpers/fexists 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/fish/helpers/fexists 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -#ISEXISTS $FISH_FILENAME -ls -l "/${FISH_FILENAME}" >/dev/null 2>/dev/null -echo '### '$? diff -Nru mc-4.8.30/src/vfs/fish/helpers/get mc-4.8.31/src/vfs/fish/helpers/get --- mc-4.8.30/src/vfs/fish/helpers/get 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/fish/helpers/get 1970-01-01 00:00:00.000000000 +0000 @@ -1,105 +0,0 @@ -#RETR $FISH_FILENAME $FISH_START_OFFSET -LC_TIME=C -export LC_TIME -fish_get_perl () -{ -FILENAME=$1 -OFFSET=$2 -perl -e ' -use strict; -use POSIX; -use Fcntl; -my $filename = $ARGV[0]; -my $pos = $ARGV[1]; -my $content; -my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks) = lstat("$filename"); -my $n; -if (open IFILE,$filename) { - if ($size<$pos) { - printf("0\n"); - } else { - $size-=$pos; - printf("$size\n"); - } - printf("### 100\n"); - seek (IFILE, $pos, 0); - while ($n = read(IFILE,$content,$blksize)!= 0) { - print $content; - } - close IFILE; - printf("### 200\n"); -} else { - printf("### 500\n"); -} -exit 0 -' "${FILENAME}" $OFFSET -} - -fish_get_tail () -{ -FILENAME=$1 -OFFSET=$2 -LC_TIME=C -export LC_TIME -if dd if="${FILENAME}" of=/dev/null bs=1 count=1 2>/dev/null ; then - file_size=`ls -ln "${FILENAME}" 2>/dev/null | ( - read p l u g s r - echo $s - )` - if [ $OFFSET -gt 0 ]; then - file_size=`expr $file_size - $OFFSET` - OFFSET=`expr $OFFSET + 1` - fi - if [ $file_size -gt 0 ]; then - echo $file_size - else - echo 0 - fi - echo "### 100" - if [ $OFFSET -gt 0 ]; then - tail -c +${OFFSET} "${FILENAME}" - else - cat "${FILENAME}" - fi - echo "### 200" -else - echo "### 500" -fi -} - -fish_get_dd () -{ -FILENAME=$1 -OFFSET=$2 -LC_TIME=C -export LC_TIME -if dd if="${FILENAME}" of=/dev/null bs=1 count=1 2>/dev/null ; then - file_size=`ls -ln "${FILENAME}" 2>/dev/null | ( - read p l u g s r - echo $s - )` - file_size=`expr $file_size - $OFFSET` - if [ $file_size -gt 0 ]; then - echo $file_size - else - echo 0 - fi - echo "### 100" - if [ $OFFSET -gt 0 ]; then - dd skip=$OFFSET ibs=1 if="${FILENAME}" 2>/dev/null - else - cat "${FILENAME}" - fi - echo "### 200" -else - echo "### 500" -fi -} - -if [ -n "${FISH_HAVE_PERL}" ]; then - fish_get_perl "/${FISH_FILENAME}" ${FISH_START_OFFSET} -elif [ -n "${FISH_HAVE_TAIL}" ]; then - fish_get_tail "/${FISH_FILENAME}" ${FISH_START_OFFSET} -else - fish_get_dd "/${FISH_FILENAME}" ${FISH_START_OFFSET} -fi diff -Nru mc-4.8.30/src/vfs/fish/helpers/hardlink mc-4.8.31/src/vfs/fish/helpers/hardlink --- mc-4.8.30/src/vfs/fish/helpers/hardlink 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/fish/helpers/hardlink 1970-01-01 00:00:00.000000000 +0000 @@ -1,8 +0,0 @@ -#LINK $FISH_FILEFROM $FISH_FILETO -FILEFROM="/${FISH_FILEFROM}" -FILETO="/${FISH_FILETO}" -if ln "${FILEFROM}" "${FILETO}" 2>/dev/null; then - echo "### 000" -else - echo "### 500" -fi diff -Nru mc-4.8.30/src/vfs/fish/helpers/info mc-4.8.31/src/vfs/fish/helpers/info --- mc-4.8.30/src/vfs/fish/helpers/info 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/fish/helpers/info 1970-01-01 00:00:00.000000000 +0000 @@ -1,44 +0,0 @@ -LC_TIME=C -export LC_TIME -#FISH_HAVE_HEAD 1 -#FISH_HAVE_SED 2 -#FISH_HAVE_AWK 4 -#FISH_HAVE_PERL 8 -#FISH_HAVE_LSQ 16 -#FISH_HAVE_DATE_MDYT 32 -#FISH_HAVE_TAIL 64 -res=0 -if `echo yes| head -c 1 > /dev/null 2>&1` ; then - res=`expr $res + 1` -fi -if `echo 1 | sed 's/1/2/' >/dev/null 2>&1` ; then - res=`expr $res + 2` -fi -if `echo 1| awk '{print}' > /dev/null 2>&1` ; then - res=`expr $res + 4` -fi -if `perl -v > /dev/null 2>&1` ; then - res=`expr $res + 8` -fi -if `ls -Q / >/dev/null 2>&1` ; then - res=`expr $res + 16` -fi -dat=`ls -lan / 2>/dev/null | head -n 3 | ( - while read p l u g s rec; do - if [ -n "$g" ]; then - if [ -n "$l" ]; then - echo "$rec" - fi - fi - done -)` -dat=`echo $dat | cut -c1 2>/dev/null` -r=`echo "0123456789"| grep "$dat"` -if [ -z "$r" ]; then - res=`expr $res + 32` -fi -if `echo yes| tail -c +1 - > /dev/null 2>&1` ; then - res=`expr $res + 64` -fi -echo $res -echo "### 200" diff -Nru mc-4.8.30/src/vfs/fish/helpers/ln mc-4.8.31/src/vfs/fish/helpers/ln --- mc-4.8.30/src/vfs/fish/helpers/ln 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/fish/helpers/ln 1970-01-01 00:00:00.000000000 +0000 @@ -1,8 +0,0 @@ -#SYMLINK $FISH_FILEFROM $FISH_FILETO -FILEFROM="${FISH_FILEFROM}" -FILETO="/${FISH_FILETO}" -if ln -s "${FILEFROM}" "${FILETO}" 2>/dev/null; then - echo "### 000" -else - echo "### 500" -fi diff -Nru mc-4.8.30/src/vfs/fish/helpers/ls mc-4.8.31/src/vfs/fish/helpers/ls --- mc-4.8.30/src/vfs/fish/helpers/ls 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/fish/helpers/ls 1970-01-01 00:00:00.000000000 +0000 @@ -1,170 +0,0 @@ -#LIST /${FISH_DIR} -LC_TIME=C -export LC_TIME -perl_res="1" -fish_list_lsq () -{ -FISH_DIR="$1" -ls -Qlan "${FISH_DIR}" 2>/dev/null | grep '^[^cbt]' | ( -while read p l u g s m d y n; do - echo "P$p $u.$g" - echo "S$s" - echo "d$m $d $y" - echo ":$n" - echo -done -) - -ls -Qlan "${FISH_DIR}" 2>/dev/null | grep '^[cb]' | ( -while read p l u g a i m d y n; do - echo "P$p $u.$g" - echo "E$a$i" - echo "d$m $d $y" - echo ":$n" - echo -done -) -echo '### 200' -} - -fish_list_sed () -{ -FISH_DIR="$1" -ls -lan "${FISH_DIR}" 2>/dev/null | grep '^[^cbt]' | ( -while read p l u g s rec; do - if [ -n "$g" ]; then - if [ -n "$FISH_HAVE_DATE_MDYT" ]; then - filename=`echo "$rec"| sed 's/[^[:space:]]\+ \+[^[:space:]]\+ \+[^[:space:]]\+ //'` - filedate=`echo "$rec"| sed 's/\([^[:space:]]\+ \+[^[:space:]]\+ \+[^[:space:]]\+\) .*/\1/'` - else - filename=`echo "$rec"| sed 's/[^[:space:]]\+ \+[^[:space:]]\+ //'` - filedate=`echo "$rec"| sed 's/\([^[:space:]]\+ \+[^[:space:]]\+\) .*/\1/'` - fi - pfile=\"`echo "$filename" | sed -e 's#^\(.*\) -> \(.*\)#\1" -> "\2#'`\" - echo "P$p $u.$g" - echo "S$s" - if [ -n "$FISH_HAVE_DATE_MDYT" ]; then - echo "d$filedate" - else - echo "D$filedate" - fi - echo ":$pfile" - echo - fi -done -) -ls -lan "${FISH_DIR}" 2>/dev/null | grep '^[cb]' | ( -while read p l u g a i rec; do - if [ -n "$g" ]; then - if [ -n "$FISH_HAVE_DATE_MDYT" ]; then - filename=`echo "$rec"| sed 's/[^[:space:]]\+ \+[^[:space:]]\+ \+[^[:space:]]\+ //'` - filedate=`echo "$rec"| sed 's/\([^[:space:]]\+ \+[^[:space:]]\+ \+[^[:space:]]\+\) .*/\1/'` - else - filename=`echo "$rec"| sed 's/[^[:space:]]\+ \+[^[:space:]]\+ //'` - filedate=`echo "$rec"| sed 's/\([^[:space:]]\+ \+[^[:space:]]\+\) .*/\1/'` - fi - pfile=\"`echo "$filename" | sed -e 's#^\(.*\) -> \(.*\)#\1" -> "\2#'`\" - echo "P$p $u.$g" - echo "E$a$i" - if [ -n "$FISH_HAVE_DATE_MDYT" ]; then - echo "d$filedate" - else - echo "D$filedate" - fi - echo ":$pfile" - echo - fi -done -) -echo '### 200' -} - -fish_list_poor_ls () -{ -FISH_DIR="$1" -ls -lan "${FISH_DIR}" 2>/dev/null | grep '^[^cbt]' | ( -while read p l u g s m d y n n2 n3; do - if [ -n "$g" ]; then - if [ "$m" = "0" ]; then - s=$d; m=$y; d=$n; y=$n2; n=$n3 - else - n=$n" "$n2" "$n3 - fi - echo "P$p $u $g" - echo "S$s" - echo "d$m $d $y" - echo ":"$n - echo - fi -done -) -ls -lan "${FISH_DIR}" 2>/dev/null | grep '^[cb]' | ( -while read p l u g a i m d y n n2 n3; do - if [ -n "$g" ]; then - if [ "$a" = "0" ]; then - a=$m; i=$d; m=$y; d=$n; y=$n2; n=$n3 - else - n=$n" "$n2" "$n3 - fi - echo "P$p $u $g" - echo "E$a$i" - echo "d$m $d $y" - echo ":"$n - echo - fi -done -) -echo '### 200' -} - -fish_list_perl () -{ -FISH_DIR=$1 -perl -e ' -use strict; -use POSIX; -use Fcntl; -use POSIX ":fcntl_h"; #S_ISLNK was here until 5.6 -import Fcntl ":mode" unless defined &S_ISLNK; #and is now here -my $dirname = $ARGV[0]; -if (opendir (DIR, $dirname)) { -while((my $filename = readdir (DIR))){ - my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks) = lstat("$dirname/$filename"); - my $mloctime= strftime("%m-%d-%Y %H:%M", localtime $mtime); - my $strutils_shell_escape_regex = s/([;<>\*\|`&\$!#\(\)\[\]\{\}:'\''"\ \\])/\\$1/g; - my $e_filename = $filename; - $e_filename =~ $strutils_shell_escape_regex; - if (S_ISLNK ($mode)) { - my $linkname = readlink ("$dirname/$filename"); - $linkname =~ $strutils_shell_escape_regex; - printf("R%o %o $uid.$gid\nS$size\nd$mloctime\n:\"%s\" -> \"%s\"\n\n", S_IMODE($mode), S_IFMT($mode), $e_filename, $linkname); - } elsif (S_ISCHR ($mode) || S_ISBLK ($mode)) { - my $minor = $rdev % 256; - my $major = int( $rdev / 256 ); - printf("R%o %o $uid.$gid\nE$major,$minor\nd$mloctime\n:\"%s\"\n\n", S_IMODE($mode), S_IFMT($mode), $e_filename); - } else { - printf("R%o %o $uid.$gid\nS$size\nd$mloctime\n:\"%s\"\n\n", S_IMODE($mode), S_IFMT($mode), $e_filename); - } -} - printf("### 200\n"); - closedir(DIR); -} else { - printf("### 500\n"); -} -exit 0 -' "/${FISH_DIR}" -perl_res=$? -} - -if [ -n "${FISH_HAVE_PERL}" ]; then - fish_list_perl "/${FISH_FILENAME}" -fi -if [ "${perl_res}" != "0" ]; then - if [ -n "${FISH_HAVE_LSQ}" ]; then - fish_list_lsq "/${FISH_FILENAME}" - elif [ -n "${FISH_HAVE_SED}" ]; then - fish_list_sed "/${FISH_FILENAME}" - else - fish_list_poor_ls "/${FISH_FILENAME}" - fi -fi diff -Nru mc-4.8.30/src/vfs/fish/helpers/mkdir mc-4.8.31/src/vfs/fish/helpers/mkdir --- mc-4.8.30/src/vfs/fish/helpers/mkdir 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/fish/helpers/mkdir 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ -#MKD $FISH_FILENAME -if mkdir "/$FISH_FILENAME" 2>/dev/null; then - echo "### 000" -else - echo "### 500" -fi diff -Nru mc-4.8.30/src/vfs/fish/helpers/mv mc-4.8.31/src/vfs/fish/helpers/mv --- mc-4.8.30/src/vfs/fish/helpers/mv 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/fish/helpers/mv 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ -#RENAME $FISH_FILEFROM $FISH_FILETO -if mv "/${FISH_FILEFROM}" "/${FISH_FILETO}" 2>/dev/null; then - echo "### 000" -else - echo "### 500" -fi diff -Nru mc-4.8.30/src/vfs/fish/helpers/rmdir mc-4.8.31/src/vfs/fish/helpers/rmdir --- mc-4.8.30/src/vfs/fish/helpers/rmdir 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/fish/helpers/rmdir 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ -#RMD $FISH_FILENAME -if rmdir "/${FISH_FILENAME}" 2>/dev/null; then - echo "### 000" -else - echo "### 500" -fi diff -Nru mc-4.8.30/src/vfs/fish/helpers/send mc-4.8.31/src/vfs/fish/helpers/send --- mc-4.8.30/src/vfs/fish/helpers/send 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/fish/helpers/send 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -#STOR $FISH_FILESIZE $FISH_FILENAME -FILENAME="/${FISH_FILENAME}" -echo "### 001" -{ - > "${FILENAME}" - bss=4096 - bsl=4095 - if [ $FISH_FILESIZE -lt $bss ]; then - bss=1; - bsl=0; - fi - while [ $FISH_FILESIZE -gt 0 ]; do - cnt=`expr \\( $FISH_FILESIZE + $bsl \\) / $bss` - n=`dd bs=$bss count=$cnt | tee -a "${FILENAME}" | wc -c` - FISH_FILESIZE=`expr $FISH_FILESIZE - $n` - done -}; echo "### 200" diff -Nru mc-4.8.30/src/vfs/fish/helpers/unlink mc-4.8.31/src/vfs/fish/helpers/unlink --- mc-4.8.30/src/vfs/fish/helpers/unlink 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/fish/helpers/unlink 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ -#DELE $FISH_FILENAME -if rm -f "/${FISH_FILENAME}" 2>/dev/null; then - echo "### 000" -else - echo "### 500" -fi diff -Nru mc-4.8.30/src/vfs/fish/helpers/utime mc-4.8.31/src/vfs/fish/helpers/utime --- mc-4.8.30/src/vfs/fish/helpers/utime 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/fish/helpers/utime 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -#UTIME "$FISH_TOUCHATIME_W_NSEC" "$FISH_TOUCHMTIME_W_NSEC" "$FISH_FILENAME" -if TZ=UTC touch -h -m -d "$FISH_TOUCHMTIME_W_NSEC" "/${FISH_FILENAME}" 2>/dev/null && \ - TZ=UTC touch -h -a -d "$FISH_TOUCHATIME_W_NSEC" "/${FISH_FILENAME}" 2>/dev/null; then - echo "### 000" -elif TZ=UTC touch -h -m -t $FISH_TOUCHMTIME "/${FISH_FILENAME}" 2>/dev/null && \ - TZ=UTC touch -h -a -t $FISH_TOUCHATIME "/${FISH_FILENAME}" 2>/dev/null; then - echo "### 000" -elif [ -n "$FISH_HAVE_PERL" ] && - perl -e 'utime '$FISH_FILEATIME','$FISH_FILEMTIME',@ARGV;' "/${FISH_FILENAME}" 2>/dev/null; then - echo "### 000" -else - echo "### 500" -fi diff -Nru mc-4.8.30/src/vfs/ftpfs/Makefile.in mc-4.8.31/src/vfs/ftpfs/Makefile.in --- mc-4.8.30/src/vfs/ftpfs/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/src/vfs/ftpfs/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/src/vfs/ftpfs/ftpfs.c mc-4.8.31/src/vfs/ftpfs/ftpfs.c --- mc-4.8.30/src/vfs/ftpfs/ftpfs.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/ftpfs/ftpfs.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Virtual File System: FTP file system. - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/vfs/ftpfs/ftpfs_parse_ls.c mc-4.8.31/src/vfs/ftpfs/ftpfs_parse_ls.c --- mc-4.8.30/src/vfs/ftpfs/ftpfs_parse_ls.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/ftpfs/ftpfs_parse_ls.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Virtual File System: FTP file system - Copyright (C) 2015-2023 + Copyright (C) 2015-2024 The Free Software Foundation, Inc. Written by: Andrew Borodin , 2013 diff -Nru mc-4.8.30/src/vfs/local/Makefile.in mc-4.8.31/src/vfs/local/Makefile.in --- mc-4.8.30/src/vfs/local/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/src/vfs/local/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/src/vfs/local/local.c mc-4.8.31/src/vfs/local/local.c --- mc-4.8.30/src/vfs/local/local.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/local/local.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Virtual File System: local file system. - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff -Nru mc-4.8.30/src/vfs/plugins_init.c mc-4.8.31/src/vfs/plugins_init.c --- mc-4.8.30/src/vfs/plugins_init.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/plugins_init.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Init VFS plugins. - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: @@ -46,8 +46,8 @@ #include "extfs/extfs.h" #endif -#ifdef ENABLE_VFS_FISH -#include "fish/fish.h" +#ifdef ENABLE_VFS_SHELL +#include "shell/shell.h" #endif #ifdef ENABLE_VFS_FTP @@ -115,9 +115,9 @@ #ifdef ENABLE_VFS_SFTP vfs_init_sftpfs (); #endif /* ENABLE_VFS_SFTP */ -#ifdef ENABLE_VFS_FISH - vfs_init_fish (); -#endif /* ENABLE_VFS_FISH */ +#ifdef ENABLE_VFS_SHELL + vfs_init_shell (); +#endif /* ENABLE_VFS_SHELL */ } /* --------------------------------------------------------------------------------------------- */ diff -Nru mc-4.8.30/src/vfs/sfs/Makefile.in mc-4.8.31/src/vfs/sfs/Makefile.in --- mc-4.8.30/src/vfs/sfs/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/src/vfs/sfs/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -135,7 +135,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/src/vfs/sfs/sfs.c mc-4.8.31/src/vfs/sfs/sfs.c --- mc-4.8.30/src/vfs/sfs/sfs.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/sfs/sfs.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Single File fileSystem - Copyright (C) 1998-2023 + Copyright (C) 1998-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/vfs/sfs/sfs.ini mc-4.8.31/src/vfs/sfs/sfs.ini --- mc-4.8.30/src/vfs/sfs/sfs.ini 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/sfs/sfs.ini 2024-01-20 19:34:38.000000000 +0000 @@ -16,6 +16,8 @@ ulz4/1 lz4 -d < %1 > %3 lzma/1 lzma < %1 > %3 ulzma/1 lzma -d < %1 > %3 +lzo/1 lzop < %1 > %3 +ulzo/1 lzop -d < %1 > %3 xz/1 xz < %1 > %3 uxz/1 xz -d < %1 > %3 zst/1 zstd < %1 > %3 diff -Nru mc-4.8.30/src/vfs/sftpfs/Makefile.in mc-4.8.31/src/vfs/sftpfs/Makefile.in --- mc-4.8.30/src/vfs/sftpfs/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/src/vfs/sftpfs/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/src/vfs/sftpfs/config_parser.c mc-4.8.31/src/vfs/sftpfs/config_parser.c --- mc-4.8.30/src/vfs/sftpfs/config_parser.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/sftpfs/config_parser.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Virtual File System: SFTP file system. The SSH config parser - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/vfs/sftpfs/connection.c mc-4.8.31/src/vfs/sftpfs/connection.c --- mc-4.8.30/src/vfs/sftpfs/connection.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/sftpfs/connection.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Virtual File System: SFTP file system. The internal functions: connections - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: @@ -74,6 +74,37 @@ static const char *const hostkey_method_ssh_rsa = "ssh-rsa"; static const char *const hostkey_method_ssh_dss = "ssh-dss"; +/* *INDENT-OFF* */ +static const char *default_hostkey_methods = +#ifdef LIBSSH2_KNOWNHOST_KEY_ECDSA_256 + "ecdsa-sha2-nistp256," +#endif +#ifdef LIBSSH2_KNOWNHOST_KEY_ECDSA_384 + "ecdsa-sha2-nistp384," +#endif +#ifdef LIBSSH2_KNOWNHOST_KEY_ECDSA_521 + "ecdsa-sha2-nistp521," +#endif +#ifdef LIBSSH2_KNOWNHOST_KEY_ECDSA_256 + "ecdsa-sha2-nistp256-cert-v01@openssh.com," +#endif +#ifdef LIBSSH2_KNOWNHOST_KEY_ECDSA_384 + "ecdsa-sha2-nistp384-cert-v01@openssh.com," +#endif +#ifdef LIBSSH2_KNOWNHOST_KEY_ECDSA_521 + "ecdsa-sha2-nistp521-cert-v01@openssh.com," +#endif +#ifdef LIBSSH2_KNOWNHOST_KEY_ED25519 + "ssh-ed25519," + "ssh-ed25519-cert-v01@openssh.com," +#endif + "rsa-sha2-256," + "rsa-sha2-512," + "ssh-rsa," + "ssh-rsa-cert-v01@openssh.com," + "ssh-dss"; +/* *INDENT-ON* */ + /** * * The current implementation of know host key checking has following limitations: @@ -257,8 +288,10 @@ continue; if (store->name == NULL) - found = TRUE; - else if (store->name[0] != '[') + /* Ignore hashed hostnames. Currently, libssh2 offers no way for us to match it */ + continue; + + if (store->name[0] != '[') found = strcmp (store->name, super->path_element->host) == 0; else { @@ -285,6 +318,7 @@ { int mask; const char *hostkey_method = NULL; + char *hostkey_methods; mask = store->typemask & LIBSSH2_KNOWNHOST_KEY_MASK; @@ -326,8 +360,15 @@ return FALSE; } + /* Append the default hostkey methods (with lower priority). + * Since we ignored hashed hostnames, the actual matching host + * key might have different type than the one found in + * known_hosts for non-hashed hostname. Methods not supported + * by libssh2 it are ignored. */ + hostkey_methods = g_strdup_printf ("%s,%s", hostkey_method, default_hostkey_methods); rc = libssh2_session_method_pref (sftpfs_super->session, LIBSSH2_METHOD_HOSTKEY, - hostkey_method); + hostkey_methods); + g_free (hostkey_methods); if (rc < 0) goto err; } diff -Nru mc-4.8.30/src/vfs/sftpfs/dir.c mc-4.8.31/src/vfs/sftpfs/dir.c --- mc-4.8.30/src/vfs/sftpfs/dir.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/sftpfs/dir.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Virtual File System: SFTP file system. The internal functions: dirs - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/vfs/sftpfs/file.c mc-4.8.31/src/vfs/sftpfs/file.c --- mc-4.8.30/src/vfs/sftpfs/file.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/sftpfs/file.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Virtual File System: SFTP file system. The internal functions: files - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/vfs/sftpfs/internal.c mc-4.8.31/src/vfs/sftpfs/internal.c --- mc-4.8.30/src/vfs/sftpfs/internal.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/sftpfs/internal.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Virtual File System: SFTP file system. The internal functions - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/vfs/sftpfs/sftpfs.c mc-4.8.31/src/vfs/sftpfs/sftpfs.c --- mc-4.8.30/src/vfs/sftpfs/sftpfs.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/sftpfs/sftpfs.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Virtual File System: SFTP file system. The interface function - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/vfs/shell/Makefile.am mc-4.8.31/src/vfs/shell/Makefile.am --- mc-4.8.30/src/vfs/shell/Makefile.am 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.8.31/src/vfs/shell/Makefile.am 2024-01-20 19:34:38.000000000 +0000 @@ -0,0 +1,13 @@ +SUBDIRS = helpers +DIST_SUBDIRS = helpers + +AM_CPPFLAGS = \ + -DLIBEXECDIR=\""$(libexecdir)/@PACKAGE@/"\" \ + $(GLIB_CFLAGS) \ + -I$(top_srcdir) + +noinst_LTLIBRARIES = libvfs-shell.la + +libvfs_shell_la_SOURCES = \ + shell.c shell.h \ + shelldef.h diff -Nru mc-4.8.30/src/vfs/shell/Makefile.in mc-4.8.31/src/vfs/shell/Makefile.in --- mc-4.8.30/src/vfs/shell/Makefile.in 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.8.31/src/vfs/shell/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -0,0 +1,857 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = src/vfs/shell +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/m4.include/gnulib/mode_t.m4 \ + $(top_srcdir)/m4.include/gnulib/stat-size.m4 \ + $(top_srcdir)/m4.include/gnulib/fstypename.m4 \ + $(top_srcdir)/m4.include/gnulib/fsusage.m4 \ + $(top_srcdir)/m4.include/gnulib/mountlist.m4 \ + $(top_srcdir)/m4.include/gnulib/windows-stat-inodes.m4 \ + $(top_srcdir)/m4.include/gnulib/sys_types_h.m4 \ + $(top_srcdir)/m4.include/ax_path_lib_pcre.m4 \ + $(top_srcdir)/m4.include/ax_check_pcre2.m4 \ + $(top_srcdir)/m4.include/dx_doxygen.m4 \ + $(top_srcdir)/m4.include/ax_require_defined.m4 \ + $(top_srcdir)/m4.include/ax_check_compile_flag.m4 \ + $(top_srcdir)/m4.include/ax_append_flag.m4 \ + $(top_srcdir)/m4.include/ax_append_compile_flags.m4 \ + $(top_srcdir)/m4.include/mc-cflags.m4 \ + $(top_srcdir)/m4.include/ax_gcc_func_attribute.m4 \ + $(top_srcdir)/m4.include/mc-check-search-type.m4 \ + $(top_srcdir)/m4.include/mc-get-fs-info.m4 \ + $(top_srcdir)/m4.include/mc-with-x.m4 \ + $(top_srcdir)/m4.include/mc-use-termcap.m4 \ + $(top_srcdir)/m4.include/mc-with-screen.m4 \ + $(top_srcdir)/m4.include/mc-with-screen-ncurses.m4 \ + $(top_srcdir)/m4.include/mc-with-screen-slang.m4 \ + $(top_srcdir)/m4.include/mc-with-internal-edit.m4 \ + $(top_srcdir)/m4.include/mc-subshell.m4 \ + $(top_srcdir)/m4.include/mc-background.m4 \ + $(top_srcdir)/m4.include/mc-ext2fs-attr.m4 \ + $(top_srcdir)/m4.include/mc-glib.m4 \ + $(top_srcdir)/m4.include/mc-vfs.m4 \ + $(top_srcdir)/m4.include/vfs/rpc.m4 \ + $(top_srcdir)/m4.include/vfs/socket.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-extfs.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ + $(top_srcdir)/m4.include/mc-version.m4 \ + $(top_srcdir)/m4.include/mc-tests.m4 \ + $(top_srcdir)/m4.include/mc-i18n.m4 \ + $(top_srcdir)/m4.include/mc-assert.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +LTLIBRARIES = $(noinst_LTLIBRARIES) +libvfs_shell_la_LIBADD = +am_libvfs_shell_la_OBJECTS = shell.lo +libvfs_shell_la_OBJECTS = $(am_libvfs_shell_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/shell.Plo +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +SOURCES = $(libvfs_shell_la_SOURCES) +DIST_SOURCES = $(libvfs_shell_la_SOURCES) +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CHECK_CFLAGS = @CHECK_CFLAGS@ +CHECK_LIBS = @CHECK_LIBS@ +COM_ERR_CFLAGS = @COM_ERR_CFLAGS@ +COM_ERR_LIBS = @COM_ERR_LIBS@ +CP1251 = @CP1251@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DOC_LINGUAS = @DOC_LINGUAS@ +DOXYGEN_PAPER_SIZE = @DOXYGEN_PAPER_SIZE@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +DX_CONFIG = @DX_CONFIG@ +DX_DOCDIR = @DX_DOCDIR@ +DX_DOT = @DX_DOT@ +DX_DOXYGEN = @DX_DOXYGEN@ +DX_DVIPS = @DX_DVIPS@ +DX_EGREP = @DX_EGREP@ +DX_ENV = @DX_ENV@ +DX_FLAG_chi = @DX_FLAG_chi@ +DX_FLAG_chm = @DX_FLAG_chm@ +DX_FLAG_doc = @DX_FLAG_doc@ +DX_FLAG_dot = @DX_FLAG_dot@ +DX_FLAG_html = @DX_FLAG_html@ +DX_FLAG_man = @DX_FLAG_man@ +DX_FLAG_pdf = @DX_FLAG_pdf@ +DX_FLAG_ps = @DX_FLAG_ps@ +DX_FLAG_rtf = @DX_FLAG_rtf@ +DX_FLAG_xml = @DX_FLAG_xml@ +DX_HHC = @DX_HHC@ +DX_LATEX = @DX_LATEX@ +DX_MAKEINDEX = @DX_MAKEINDEX@ +DX_PDFLATEX = @DX_PDFLATEX@ +DX_PERL = @DX_PERL@ +DX_PROJECT = @DX_PROJECT@ +E2P_CFLAGS = @E2P_CFLAGS@ +E2P_LIBS = @E2P_LIBS@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +EXT2FS_CFLAGS = @EXT2FS_CFLAGS@ +EXT2FS_LIBS = @EXT2FS_LIBS@ +EXTHELPERSDIR = @EXTHELPERSDIR@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GLIB_CFLAGS = @GLIB_CFLAGS@ +GLIB_LIBS = @GLIB_LIBS@ +GMODULE_CFLAGS = @GMODULE_CFLAGS@ +GMODULE_LIBS = @GMODULE_LIBS@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GREP = @GREP@ +HAVE_FILECMD = @HAVE_FILECMD@ +HAVE_ZIPINFO = @HAVE_ZIPINFO@ +HAVE_nroff = @HAVE_nroff@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBMC_RELEASE = @LIBMC_RELEASE@ +LIBMC_VERSION = @LIBMC_VERSION@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBSSH_CFLAGS = @LIBSSH_CFLAGS@ +LIBSSH_LIBS = @LIBSSH_LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MANDOC = @MANDOC@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MAN_DATE = @MAN_DATE@ +MAN_FLAGS = @MAN_FLAGS@ +MAN_VERSION = @MAN_VERSION@ +MCLIBS = @MCLIBS@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PCRE_CFLAGS = @PCRE_CFLAGS@ +PCRE_LIBS = @PCRE_LIBS@ +PERL = @PERL@ +PERL_FOR_BUILD = @PERL_FOR_BUILD@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +POSUB = @POSUB@ +PYTHON = @PYTHON@ +RANLIB = @RANLIB@ +RUBY = @RUBY@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SLANG_CFLAGS = @SLANG_CFLAGS@ +SLANG_LIBS = @SLANG_LIBS@ +STRIP = @STRIP@ +TESTS_LDFLAGS = @TESTS_LDFLAGS@ +UNZIP = @UNZIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +X11_WWW = @X11_WWW@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +XMKMF = @XMKMF@ +X_CFLAGS = @X_CFLAGS@ +X_EXTRA_LIBS = @X_EXTRA_LIBS@ +X_LIBS = @X_LIBS@ +X_PRE_LIBS = @X_PRE_LIBS@ +ZIP = @ZIP@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = helpers +DIST_SUBDIRS = helpers +AM_CPPFLAGS = \ + -DLIBEXECDIR=\""$(libexecdir)/@PACKAGE@/"\" \ + $(GLIB_CFLAGS) \ + -I$(top_srcdir) + +noinst_LTLIBRARIES = libvfs-shell.la +libvfs_shell_la_SOURCES = \ + shell.c shell.h \ + shelldef.h + +all: all-recursive + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/vfs/shell/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/vfs/shell/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libvfs-shell.la: $(libvfs_shell_la_OBJECTS) $(libvfs_shell_la_DEPENDENCIES) $(EXTRA_libvfs_shell_la_DEPENDENCIES) + $(AM_V_CCLD)$(LINK) $(libvfs_shell_la_OBJECTS) $(libvfs_shell_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shell.Plo@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile $(LTLIBRARIES) +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-recursive + -rm -f ./$(DEPDIR)/shell.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f ./$(DEPDIR)/shell.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ + am--depfiles check check-am clean clean-generic clean-libtool \ + clean-noinstLTLIBRARIES cscopelist-am ctags ctags-am distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ + uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff -Nru mc-4.8.30/src/vfs/shell/helpers/Makefile.am mc-4.8.31/src/vfs/shell/helpers/Makefile.am --- mc-4.8.30/src/vfs/shell/helpers/Makefile.am 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.8.31/src/vfs/shell/helpers/Makefile.am 2024-01-20 19:34:38.000000000 +0000 @@ -0,0 +1,10 @@ +shelldir = $(libexecdir)/@PACKAGE@/shell + +# Files to install and distribute other than shell scripts +SHELL_MISC = README.shell + +# Install and distribute SHELL helper scripts w/o shebang & executable bit as data +shell_DATA = $(SHELL_MISC) ls mkdir fexists unlink chown chmod rmdir ln mv hardlink get send append info utime +shellconfdir = $(sysconfdir)/@PACKAGE@ + +EXTRA_DIST = $(shell_DATA) diff -Nru mc-4.8.30/src/vfs/shell/helpers/Makefile.in mc-4.8.31/src/vfs/shell/helpers/Makefile.in --- mc-4.8.30/src/vfs/shell/helpers/Makefile.in 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.8.31/src/vfs/shell/helpers/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -0,0 +1,642 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = src/vfs/shell/helpers +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ + $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ + $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/m4.include/gnulib/mode_t.m4 \ + $(top_srcdir)/m4.include/gnulib/stat-size.m4 \ + $(top_srcdir)/m4.include/gnulib/fstypename.m4 \ + $(top_srcdir)/m4.include/gnulib/fsusage.m4 \ + $(top_srcdir)/m4.include/gnulib/mountlist.m4 \ + $(top_srcdir)/m4.include/gnulib/windows-stat-inodes.m4 \ + $(top_srcdir)/m4.include/gnulib/sys_types_h.m4 \ + $(top_srcdir)/m4.include/ax_path_lib_pcre.m4 \ + $(top_srcdir)/m4.include/ax_check_pcre2.m4 \ + $(top_srcdir)/m4.include/dx_doxygen.m4 \ + $(top_srcdir)/m4.include/ax_require_defined.m4 \ + $(top_srcdir)/m4.include/ax_check_compile_flag.m4 \ + $(top_srcdir)/m4.include/ax_append_flag.m4 \ + $(top_srcdir)/m4.include/ax_append_compile_flags.m4 \ + $(top_srcdir)/m4.include/mc-cflags.m4 \ + $(top_srcdir)/m4.include/ax_gcc_func_attribute.m4 \ + $(top_srcdir)/m4.include/mc-check-search-type.m4 \ + $(top_srcdir)/m4.include/mc-get-fs-info.m4 \ + $(top_srcdir)/m4.include/mc-with-x.m4 \ + $(top_srcdir)/m4.include/mc-use-termcap.m4 \ + $(top_srcdir)/m4.include/mc-with-screen.m4 \ + $(top_srcdir)/m4.include/mc-with-screen-ncurses.m4 \ + $(top_srcdir)/m4.include/mc-with-screen-slang.m4 \ + $(top_srcdir)/m4.include/mc-with-internal-edit.m4 \ + $(top_srcdir)/m4.include/mc-subshell.m4 \ + $(top_srcdir)/m4.include/mc-background.m4 \ + $(top_srcdir)/m4.include/mc-ext2fs-attr.m4 \ + $(top_srcdir)/m4.include/mc-glib.m4 \ + $(top_srcdir)/m4.include/mc-vfs.m4 \ + $(top_srcdir)/m4.include/vfs/rpc.m4 \ + $(top_srcdir)/m4.include/vfs/socket.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-extfs.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ + $(top_srcdir)/m4.include/mc-version.m4 \ + $(top_srcdir)/m4.include/mc-tests.m4 \ + $(top_srcdir)/m4.include/mc-i18n.m4 \ + $(top_srcdir)/m4.include/mc-assert.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(shelldir)" +DATA = $(shell_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +am__DIST_COMMON = $(srcdir)/Makefile.in +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CHECK_CFLAGS = @CHECK_CFLAGS@ +CHECK_LIBS = @CHECK_LIBS@ +COM_ERR_CFLAGS = @COM_ERR_CFLAGS@ +COM_ERR_LIBS = @COM_ERR_LIBS@ +CP1251 = @CP1251@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DOC_LINGUAS = @DOC_LINGUAS@ +DOXYGEN_PAPER_SIZE = @DOXYGEN_PAPER_SIZE@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +DX_CONFIG = @DX_CONFIG@ +DX_DOCDIR = @DX_DOCDIR@ +DX_DOT = @DX_DOT@ +DX_DOXYGEN = @DX_DOXYGEN@ +DX_DVIPS = @DX_DVIPS@ +DX_EGREP = @DX_EGREP@ +DX_ENV = @DX_ENV@ +DX_FLAG_chi = @DX_FLAG_chi@ +DX_FLAG_chm = @DX_FLAG_chm@ +DX_FLAG_doc = @DX_FLAG_doc@ +DX_FLAG_dot = @DX_FLAG_dot@ +DX_FLAG_html = @DX_FLAG_html@ +DX_FLAG_man = @DX_FLAG_man@ +DX_FLAG_pdf = @DX_FLAG_pdf@ +DX_FLAG_ps = @DX_FLAG_ps@ +DX_FLAG_rtf = @DX_FLAG_rtf@ +DX_FLAG_xml = @DX_FLAG_xml@ +DX_HHC = @DX_HHC@ +DX_LATEX = @DX_LATEX@ +DX_MAKEINDEX = @DX_MAKEINDEX@ +DX_PDFLATEX = @DX_PDFLATEX@ +DX_PERL = @DX_PERL@ +DX_PROJECT = @DX_PROJECT@ +E2P_CFLAGS = @E2P_CFLAGS@ +E2P_LIBS = @E2P_LIBS@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +EXT2FS_CFLAGS = @EXT2FS_CFLAGS@ +EXT2FS_LIBS = @EXT2FS_LIBS@ +EXTHELPERSDIR = @EXTHELPERSDIR@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GLIB_CFLAGS = @GLIB_CFLAGS@ +GLIB_LIBS = @GLIB_LIBS@ +GMODULE_CFLAGS = @GMODULE_CFLAGS@ +GMODULE_LIBS = @GMODULE_LIBS@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GREP = @GREP@ +HAVE_FILECMD = @HAVE_FILECMD@ +HAVE_ZIPINFO = @HAVE_ZIPINFO@ +HAVE_nroff = @HAVE_nroff@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBMC_RELEASE = @LIBMC_RELEASE@ +LIBMC_VERSION = @LIBMC_VERSION@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBSSH_CFLAGS = @LIBSSH_CFLAGS@ +LIBSSH_LIBS = @LIBSSH_LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MANDOC = @MANDOC@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MAN_DATE = @MAN_DATE@ +MAN_FLAGS = @MAN_FLAGS@ +MAN_VERSION = @MAN_VERSION@ +MCLIBS = @MCLIBS@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PCRE_CFLAGS = @PCRE_CFLAGS@ +PCRE_LIBS = @PCRE_LIBS@ +PERL = @PERL@ +PERL_FOR_BUILD = @PERL_FOR_BUILD@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +POSUB = @POSUB@ +PYTHON = @PYTHON@ +RANLIB = @RANLIB@ +RUBY = @RUBY@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SLANG_CFLAGS = @SLANG_CFLAGS@ +SLANG_LIBS = @SLANG_LIBS@ +STRIP = @STRIP@ +TESTS_LDFLAGS = @TESTS_LDFLAGS@ +UNZIP = @UNZIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +X11_WWW = @X11_WWW@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +XMKMF = @XMKMF@ +X_CFLAGS = @X_CFLAGS@ +X_EXTRA_LIBS = @X_EXTRA_LIBS@ +X_LIBS = @X_LIBS@ +X_PRE_LIBS = @X_PRE_LIBS@ +ZIP = @ZIP@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +shelldir = $(libexecdir)/@PACKAGE@/shell + +# Files to install and distribute other than shell scripts +SHELL_MISC = README.shell + +# Install and distribute SHELL helper scripts w/o shebang & executable bit as data +shell_DATA = $(SHELL_MISC) ls mkdir fexists unlink chown chmod rmdir ln mv hardlink get send append info utime +shellconfdir = $(sysconfdir)/@PACKAGE@ +EXTRA_DIST = $(shell_DATA) +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/vfs/shell/helpers/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/vfs/shell/helpers/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-shellDATA: $(shell_DATA) + @$(NORMAL_INSTALL) + @list='$(shell_DATA)'; test -n "$(shelldir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(shelldir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(shelldir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(shelldir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(shelldir)" || exit $$?; \ + done + +uninstall-shellDATA: + @$(NORMAL_UNINSTALL) + @list='$(shell_DATA)'; test -n "$(shelldir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(shelldir)'; $(am__uninstall_files_from_dir) +tags TAGS: + +ctags CTAGS: + +cscope cscopelist: + +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(shelldir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-shellDATA + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-shellDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + cscopelist-am ctags-am distclean distclean-generic \ + distclean-libtool distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-shellDATA install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags-am uninstall uninstall-am uninstall-shellDATA + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff -Nru mc-4.8.30/src/vfs/shell/helpers/README.shell mc-4.8.31/src/vfs/shell/helpers/README.shell --- mc-4.8.30/src/vfs/shell/helpers/README.shell 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.8.31/src/vfs/shell/helpers/README.shell 2024-01-20 19:34:38.000000000 +0000 @@ -0,0 +1,227 @@ + + FIles transferred over SSH + ~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This protocol was designed for transferring files over a remote shell +connection (rsh and compatibles). It can be as well used for transfers over +rsh, and there may be other uses. + +Since version 4.8.31 Midnight Commander doesn't support FISH commands with form + +#FISH_COMMAND [arg1] [arg2] ... [argN] + +and sends requests as shell scripts only. + +First, MC looks for system-wide set of scripts, then it checks whether +current user has host-specific overrides in his per-user MC configuration +directory. User-defined overrides take priority over sytem-wide scripts +if they exist. The order in which the directories are traversed is as follows: + + /usr/libexec/mc/shell + ~/.local/share/mc/shell// + +Server's reply is multiline, but always ends with + +### 000 + +line. ### is prefix to mark this line, 000 is return code. Return +codes are superset to those used in ftp. + +There are few new exit codes defined: + +000 don't know; if there were no previous lines, this marks COMPLETE +success, if they were, it marks failure. + +001 don't know; if there were no previous lines, this marks +PRELIMinary success, if they were, it marks failure + + Connecting + ~~~~~~~~~~ +MC uses "echo SHELL:;/bin/sh" as command executed on remote machine. + + Actions + ~~~~~~~ + +Get info about host into $result + + echo $result + echo '### 200' + +Script: info + +-------------------------------------------------------------------------------- + +List directory or get status information about single file. + + ls -lLa $1 | grep '^[^cbt]' | ( while read p x u g s m d y n; do echo "P$p $u.$g + S$s + d$m $d $y + :$n + "; done ) + ls -lLa $1 | grep '^[cb]' | ( while read p x u g a i m d y n; do echo "P$p $u.$g + E$a$i + dD$m $d $y + :$n + "; done ) + echo '### 200' + +Output is in following form (any line except : may be omitted): + +P . +S +d<3-letters month name> +D [.1234] +E, +: +L + + +Unix permissions are of form X--------- +where X is type of file: + '-' a regular file + 'd' a directory + 'c' a character device + 'b' a block device + 'l' a symbolic link + 'p' a FIFO + 's' a socket. + +'d' has three fields: + month (one of strings Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec) + day of month + single number indicating year, or HH:MM field (assume current year in such + case). As you've probably noticed, this is pretty broken; it is for + compatibility with ls listing. + +Script: ls + +-------------------------------------------------------------------------------- + +Get file + + ls -l /some/name | ( read a b c d x e; echo $x ); echo '### 100'; cat /some/name; echo '### 200' + +Server sends line with filesize on it, followed by line with ### 100 +indicating partial success, then it sends binary data (exactly filesize bytes) +and follows them with (with no preceding newline) ### 200. + +Note that there's no way to abort running RETR command - except closing +the connection. + +Script: get + +-------------------------------------------------------------------------------- + +Put file + + > /file/name; echo '### 001'; ( dd bs=4096 count=; dd bs= count=1 ) 2>/dev/null | ( cat > %s; cat > /dev/null ); echo '### 200' + +This command is for storing /file/name, which is exactly size bytes big. +You probably think I went crazy. Well, I did not: that strange cat > /dev/null +has purpose to discard any extra data which was not written to disk (due to for +example out of space condition). + +[Why? Imagine uploading file with "rm -rf /" line in it.] + +Script: send + +-------------------------------------------------------------------------------- + +Change directory + + cd /somewhere; echo '### 000' + +It is specified here, but I'm not sure how wise idea is to use this one: +it breaks stateless-ness of the protocol. + +-------------------------------------------------------------------------------- + +Change mode + + chmod 1234 file; echo '### 000' + +Script: chmod + +-------------------------------------------------------------------------------- + +Change own + + chown user /file/name; echo '### 000' + +Script: chown + +-------------------------------------------------------------------------------- + +Remove file + + rm -f /some/path; echo '### 000' + +Sctipt: unlink + +-------------------------------------------------------------------------------- + +Make directory: + + mkdir /some/path; echo '### 000' + +Script: mkdir + +-------------------------------------------------------------------------------- + +Remove directory + + rmdir /some/path; echo '### 000' + +Script: rmdir + +-------------------------------------------------------------------------------- + +Rename/move file + + mv /path/a /path/b; echo '### 000' + +Script: mv + +-------------------------------------------------------------------------------- + +Make link + + ln /path/a /path/b; echo '### 000' + +Script: hardlink + +-------------------------------------------------------------------------------- + +Make symbolic link: + + ln -s /path/a /path/b; echo '### 000' + +Script: ln + +-------------------------------------------------------------------------------- + +You can use following parameters: +SHELL_FILESIZE +SHELL_FILENAME +SHELL_FILEMODE +SHELL_FILEOWNER +SHELL_FILEGROUPE +SHELL_FILEFROM +SHELL_FILETO + +NB: +'SHELL_FILESIZE' is used if we operate with single file name in 'unlink', 'rmdir', 'chmod', etc... +'SHELL_FILEFROM','SHELL_FILETO' are used if we operate with two files in 'ln', 'hardlink', 'mv' etc... +'SHELL_FILEOWNER', 'SHELL_FILEGROUPE' are a new user/group in chown + +and flags: +SHELL_HAVE_HEAD +SHELL_HAVE_SED +SHELL_HAVE_AWK +SHELL_HAVE_PERL +SHELL_HAVE_LSQ +SHELL_HAVE_DATE_MDYT + +That's all, folks! + pavel@ucw.cz + aborodin@vmail.ru diff -Nru mc-4.8.30/src/vfs/shell/helpers/append mc-4.8.31/src/vfs/shell/helpers/append --- mc-4.8.30/src/vfs/shell/helpers/append 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.8.31/src/vfs/shell/helpers/append 2024-01-20 19:34:38.000000000 +0000 @@ -0,0 +1,15 @@ +FILENAME="/${SHELL_FILENAME}" +echo "### 001" +{ + bss=4096 + bsl=4095 + if [ $SHELL_FILESIZE -lt $bss ]; then + bss=1; + bsl=0; + fi + while [ $SHELL_FILESIZE -gt 0 ]; do + cnt=`expr \\( $SHELL_FILESIZE + $bsl \\) / $bss` + n=`dd bs=$bss count=$cnt | tee -a "${FILENAME}" | wc -c` + SHELL_FILESIZE=`expr $SHELL_FILESIZE - $n` + done +}; echo "### 200" diff -Nru mc-4.8.30/src/vfs/shell/helpers/chmod mc-4.8.31/src/vfs/shell/helpers/chmod --- mc-4.8.30/src/vfs/shell/helpers/chmod 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.8.31/src/vfs/shell/helpers/chmod 2024-01-20 19:34:38.000000000 +0000 @@ -0,0 +1,5 @@ +if chmod ${SHELL_FILEMODE} "/${SHELL_FILENAME}" 2>/dev/null; then + echo "### 000" +else + echo "### 500" +fi diff -Nru mc-4.8.30/src/vfs/shell/helpers/chown mc-4.8.31/src/vfs/shell/helpers/chown --- mc-4.8.30/src/vfs/shell/helpers/chown 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.8.31/src/vfs/shell/helpers/chown 2024-01-20 19:34:38.000000000 +0000 @@ -0,0 +1,5 @@ +if chown ${SHELL_FILEOWNER}:${SHELL_FILEGROUP} "/${SHELL_FILENAME}" ; then + echo "### 000" +else + echo "### 500" +fi diff -Nru mc-4.8.30/src/vfs/shell/helpers/fexists mc-4.8.31/src/vfs/shell/helpers/fexists --- mc-4.8.30/src/vfs/shell/helpers/fexists 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.8.31/src/vfs/shell/helpers/fexists 2024-01-20 19:34:38.000000000 +0000 @@ -0,0 +1,2 @@ +ls -l "/${SHELL_FILENAME}" >/dev/null 2>/dev/null +echo '### '$? diff -Nru mc-4.8.30/src/vfs/shell/helpers/get mc-4.8.31/src/vfs/shell/helpers/get --- mc-4.8.30/src/vfs/shell/helpers/get 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.8.31/src/vfs/shell/helpers/get 2024-01-20 19:34:38.000000000 +0000 @@ -0,0 +1,104 @@ +LC_TIME=C +export LC_TIME +shell_get_perl () +{ +FILENAME=$1 +OFFSET=$2 +perl -e ' +use strict; +use POSIX; +use Fcntl; +my $filename = $ARGV[0]; +my $pos = $ARGV[1]; +my $content; +my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks) = lstat("$filename"); +my $n; +if (open IFILE,$filename) { + if ($size<$pos) { + printf("0\n"); + } else { + $size-=$pos; + printf("$size\n"); + } + printf("### 100\n"); + seek (IFILE, $pos, 0); + while ($n = read(IFILE,$content,$blksize)!= 0) { + print $content; + } + close IFILE; + printf("### 200\n"); +} else { + printf("### 500\n"); +} +exit 0 +' "${FILENAME}" $OFFSET +} + +shell_get_tail () +{ +FILENAME=$1 +OFFSET=$2 +LC_TIME=C +export LC_TIME +if dd if="${FILENAME}" of=/dev/null bs=1 count=1 2>/dev/null ; then + file_size=`ls -ln "${FILENAME}" 2>/dev/null | ( + read p l u g s r + echo $s + )` + if [ $OFFSET -gt 0 ]; then + file_size=`expr $file_size - $OFFSET` + OFFSET=`expr $OFFSET + 1` + fi + if [ $file_size -gt 0 ]; then + echo $file_size + else + echo 0 + fi + echo "### 100" + if [ $OFFSET -gt 0 ]; then + tail -c +${OFFSET} "${FILENAME}" + else + cat "${FILENAME}" + fi + echo "### 200" +else + echo "### 500" +fi +} + +shell_get_dd () +{ +FILENAME=$1 +OFFSET=$2 +LC_TIME=C +export LC_TIME +if dd if="${FILENAME}" of=/dev/null bs=1 count=1 2>/dev/null ; then + file_size=`ls -ln "${FILENAME}" 2>/dev/null | ( + read p l u g s r + echo $s + )` + file_size=`expr $file_size - $OFFSET` + if [ $file_size -gt 0 ]; then + echo $file_size + else + echo 0 + fi + echo "### 100" + if [ $OFFSET -gt 0 ]; then + dd skip=$OFFSET ibs=1 if="${FILENAME}" 2>/dev/null + else + cat "${FILENAME}" + fi + echo "### 200" +else + echo "### 500" +fi +} + +if [ -n "${SHELL_HAVE_PERL}" ]; then + shell_get_perl "/${SHELL_FILENAME}" ${SHELL_START_OFFSET} +elif [ -n "${SHELL_HAVE_TAIL}" ]; then + shell_get_tail "/${SHELL_FILENAME}" ${SHELL_START_OFFSET} +else + shell_get_dd "/${SHELL_FILENAME}" ${SHELL_START_OFFSET} +fi diff -Nru mc-4.8.30/src/vfs/shell/helpers/hardlink mc-4.8.31/src/vfs/shell/helpers/hardlink --- mc-4.8.30/src/vfs/shell/helpers/hardlink 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.8.31/src/vfs/shell/helpers/hardlink 2024-01-20 19:34:38.000000000 +0000 @@ -0,0 +1,7 @@ +FILEFROM="/${SHELL_FILEFROM}" +FILETO="/${SHELL_FILETO}" +if ln "${FILEFROM}" "${FILETO}" 2>/dev/null; then + echo "### 000" +else + echo "### 500" +fi diff -Nru mc-4.8.30/src/vfs/shell/helpers/info mc-4.8.31/src/vfs/shell/helpers/info --- mc-4.8.30/src/vfs/shell/helpers/info 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.8.31/src/vfs/shell/helpers/info 2024-01-20 19:34:38.000000000 +0000 @@ -0,0 +1,44 @@ +LC_TIME=C +export LC_TIME +#SHELL_HAVE_HEAD 1 +#SHELL_HAVE_SED 2 +#SHELL_HAVE_AWK 4 +#SHELL_HAVE_PERL 8 +#SHELL_HAVE_LSQ 16 +#SHELL_HAVE_DATE_MDYT 32 +#SHELL_HAVE_TAIL 64 +res=0 +if `echo yes| head -c 1 > /dev/null 2>&1` ; then + res=`expr $res + 1` +fi +if `echo 1 | sed 's/1/2/' >/dev/null 2>&1` ; then + res=`expr $res + 2` +fi +if `echo 1| awk '{print}' > /dev/null 2>&1` ; then + res=`expr $res + 4` +fi +if `perl -v > /dev/null 2>&1` ; then + res=`expr $res + 8` +fi +if `ls -Q / >/dev/null 2>&1` ; then + res=`expr $res + 16` +fi +dat=`ls -lan / 2>/dev/null | head -n 3 | ( + while read p l u g s rec; do + if [ -n "$g" ]; then + if [ -n "$l" ]; then + echo "$rec" + fi + fi + done +)` +dat=`echo $dat | cut -c1 2>/dev/null` +r=`echo "0123456789"| grep "$dat"` +if [ -z "$r" ]; then + res=`expr $res + 32` +fi +if `echo yes| tail -c +1 - > /dev/null 2>&1` ; then + res=`expr $res + 64` +fi +echo $res +echo "### 200" diff -Nru mc-4.8.30/src/vfs/shell/helpers/ln mc-4.8.31/src/vfs/shell/helpers/ln --- mc-4.8.30/src/vfs/shell/helpers/ln 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.8.31/src/vfs/shell/helpers/ln 2024-01-20 19:34:38.000000000 +0000 @@ -0,0 +1,7 @@ +FILEFROM="${SHELL_FILEFROM}" +FILETO="/${SHELL_FILETO}" +if ln -s "${FILEFROM}" "${FILETO}" 2>/dev/null; then + echo "### 000" +else + echo "### 500" +fi diff -Nru mc-4.8.30/src/vfs/shell/helpers/ls mc-4.8.31/src/vfs/shell/helpers/ls --- mc-4.8.30/src/vfs/shell/helpers/ls 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.8.31/src/vfs/shell/helpers/ls 2024-01-20 19:34:38.000000000 +0000 @@ -0,0 +1,168 @@ +LC_TIME=C +export LC_TIME +perl_res="1" +shell_list_lsq () +{ +SHELL_DIR="$1" +ls -Qlan "${SHELL_DIR}" 2>/dev/null | grep '^[^cbt]' | ( +while read p l u g s m d y n; do + echo "P$p $u.$g" + echo "S$s" + echo "d$m $d $y" + echo ":$n" + echo +done +) + +ls -Qlan "${SHELL_DIR}" 2>/dev/null | grep '^[cb]' | ( +while read p l u g a i m d y n; do + echo "P$p $u.$g" + echo "E$a$i" + echo "d$m $d $y" + echo ":$n" + echo +done +) +echo '### 200' +} + +shell_list_sed () +{ +SHELL_DIR="$1" +ls -lan "${SHELL_DIR}" 2>/dev/null | grep '^[^cbt]' | ( +while read p l u g s rec; do + if [ -n "$g" ]; then + if [ -n "$SHELL_HAVE_DATE_MDYT" ]; then + filename=`echo "$rec"| sed 's/[^[:space:]]\+ \+[^[:space:]]\+ \+[^[:space:]]\+ //'` + filedate=`echo "$rec"| sed 's/\([^[:space:]]\+ \+[^[:space:]]\+ \+[^[:space:]]\+\) .*/\1/'` + else + filename=`echo "$rec"| sed 's/[^[:space:]]\+ \+[^[:space:]]\+ //'` + filedate=`echo "$rec"| sed 's/\([^[:space:]]\+ \+[^[:space:]]\+\) .*/\1/'` + fi + pfile=\"`echo "$filename" | sed -e 's#^\(.*\) -> \(.*\)#\1" -> "\2#'`\" + echo "P$p $u.$g" + echo "S$s" + if [ -n "$SHELL_HAVE_DATE_MDYT" ]; then + echo "d$filedate" + else + echo "D$filedate" + fi + echo ":$pfile" + echo + fi +done +) +ls -lan "${SHELL_DIR}" 2>/dev/null | grep '^[cb]' | ( +while read p l u g a i rec; do + if [ -n "$g" ]; then + if [ -n "$SHELL_HAVE_DATE_MDYT" ]; then + filename=`echo "$rec"| sed 's/[^[:space:]]\+ \+[^[:space:]]\+ \+[^[:space:]]\+ //'` + filedate=`echo "$rec"| sed 's/\([^[:space:]]\+ \+[^[:space:]]\+ \+[^[:space:]]\+\) .*/\1/'` + else + filename=`echo "$rec"| sed 's/[^[:space:]]\+ \+[^[:space:]]\+ //'` + filedate=`echo "$rec"| sed 's/\([^[:space:]]\+ \+[^[:space:]]\+\) .*/\1/'` + fi + pfile=\"`echo "$filename" | sed -e 's#^\(.*\) -> \(.*\)#\1" -> "\2#'`\" + echo "P$p $u.$g" + echo "E$a$i" + if [ -n "$SHELL_HAVE_DATE_MDYT" ]; then + echo "d$filedate" + else + echo "D$filedate" + fi + echo ":$pfile" + echo + fi +done +) +echo '### 200' +} + +shell_list_poor_ls () +{ +SHELL_DIR="$1" +ls -lan "${SHELL_DIR}" 2>/dev/null | grep '^[^cbt]' | ( +while read p l u g s m d y n n2 n3; do + if [ -n "$g" ]; then + if [ "$m" = "0" ]; then + s=$d; m=$y; d=$n; y=$n2; n=$n3 + else + n=$n" "$n2" "$n3 + fi + echo "P$p $u $g" + echo "S$s" + echo "d$m $d $y" + echo ":"$n + echo + fi +done +) +ls -lan "${SHELL_DIR}" 2>/dev/null | grep '^[cb]' | ( +while read p l u g a i m d y n n2 n3; do + if [ -n "$g" ]; then + if [ "$a" = "0" ]; then + a=$m; i=$d; m=$y; d=$n; y=$n2; n=$n3 + else + n=$n" "$n2" "$n3 + fi + echo "P$p $u $g" + echo "E$a$i" + echo "d$m $d $y" + echo ":"$n + echo + fi +done +) +echo '### 200' +} + +shell_list_perl () +{ +SHELL_DIR=$1 +perl -e ' +use strict; +use POSIX; +use Fcntl ":mode"; # S_ISLNK, S_IFMT, S_IMODE are here +use POSIX ":fcntl_h"; # S_ISLNK might be here as well +my $dirname = $ARGV[0]; +if (opendir (DIR, $dirname)) { +while((my $filename = readdir (DIR))){ + my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks) = lstat("$dirname/$filename"); + my $mloctime= strftime("%m-%d-%Y %H:%M", localtime $mtime); + my $strutils_shell_escape_regex = s/([;<>\*\|`&\$!#\(\)\[\]\{\}:'\''"\ \\])/\\$1/g; + my $e_filename = $filename; + $e_filename =~ $strutils_shell_escape_regex; + if (S_ISLNK ($mode)) { + my $linkname = readlink ("$dirname/$filename"); + $linkname =~ $strutils_shell_escape_regex; + printf("R%o %o $uid.$gid\nS$size\nd$mloctime\n:\"%s\" -> \"%s\"\n\n", S_IMODE($mode), S_IFMT($mode), $e_filename, $linkname); + } elsif (S_ISCHR ($mode) || S_ISBLK ($mode)) { + my $minor = $rdev % 256; + my $major = int( $rdev / 256 ); + printf("R%o %o $uid.$gid\nE$major,$minor\nd$mloctime\n:\"%s\"\n\n", S_IMODE($mode), S_IFMT($mode), $e_filename); + } else { + printf("R%o %o $uid.$gid\nS$size\nd$mloctime\n:\"%s\"\n\n", S_IMODE($mode), S_IFMT($mode), $e_filename); + } +} + printf("### 200\n"); + closedir(DIR); +} else { + printf("### 500\n"); +} +exit 0 +' "/${SHELL_DIR}" +perl_res=$? +} + +if [ -n "${SHELL_HAVE_PERL}" ]; then + shell_list_perl "/${SHELL_FILENAME}" +fi +if [ "${perl_res}" != "0" ]; then + if [ -n "${SHELL_HAVE_LSQ}" ]; then + shell_list_lsq "/${SHELL_FILENAME}" + elif [ -n "${SHELL_HAVE_SED}" ]; then + shell_list_sed "/${SHELL_FILENAME}" + else + shell_list_poor_ls "/${SHELL_FILENAME}" + fi +fi diff -Nru mc-4.8.30/src/vfs/shell/helpers/mkdir mc-4.8.31/src/vfs/shell/helpers/mkdir --- mc-4.8.30/src/vfs/shell/helpers/mkdir 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.8.31/src/vfs/shell/helpers/mkdir 2024-01-20 19:34:38.000000000 +0000 @@ -0,0 +1,5 @@ +if mkdir "/$SHELL_FILENAME" 2>/dev/null; then + echo "### 000" +else + echo "### 500" +fi diff -Nru mc-4.8.30/src/vfs/shell/helpers/mv mc-4.8.31/src/vfs/shell/helpers/mv --- mc-4.8.30/src/vfs/shell/helpers/mv 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.8.31/src/vfs/shell/helpers/mv 2024-01-20 19:34:38.000000000 +0000 @@ -0,0 +1,5 @@ +if mv "/${SHELL_FILEFROM}" "/${SHELL_FILETO}" 2>/dev/null; then + echo "### 000" +else + echo "### 500" +fi diff -Nru mc-4.8.30/src/vfs/shell/helpers/rmdir mc-4.8.31/src/vfs/shell/helpers/rmdir --- mc-4.8.30/src/vfs/shell/helpers/rmdir 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.8.31/src/vfs/shell/helpers/rmdir 2024-01-20 19:34:38.000000000 +0000 @@ -0,0 +1,5 @@ +if rmdir "/${SHELL_FILENAME}" 2>/dev/null; then + echo "### 000" +else + echo "### 500" +fi diff -Nru mc-4.8.30/src/vfs/shell/helpers/send mc-4.8.31/src/vfs/shell/helpers/send --- mc-4.8.30/src/vfs/shell/helpers/send 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.8.31/src/vfs/shell/helpers/send 2024-01-20 19:34:38.000000000 +0000 @@ -0,0 +1,16 @@ +FILENAME="/${SHELL_FILENAME}" +echo "### 001" +{ + > "${FILENAME}" + bss=4096 + bsl=4095 + if [ $SHELL_FILESIZE -lt $bss ]; then + bss=1; + bsl=0; + fi + while [ $SHELL_FILESIZE -gt 0 ]; do + cnt=`expr \\( $SHELL_FILESIZE + $bsl \\) / $bss` + n=`dd bs=$bss count=$cnt | tee -a "${FILENAME}" | wc -c` + SHELL_FILESIZE=`expr $SHELL_FILESIZE - $n` + done +}; echo "### 200" diff -Nru mc-4.8.30/src/vfs/shell/helpers/unlink mc-4.8.31/src/vfs/shell/helpers/unlink --- mc-4.8.30/src/vfs/shell/helpers/unlink 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.8.31/src/vfs/shell/helpers/unlink 2024-01-20 19:34:38.000000000 +0000 @@ -0,0 +1,5 @@ +if rm -f "/${SHELL_FILENAME}" 2>/dev/null; then + echo "### 000" +else + echo "### 500" +fi diff -Nru mc-4.8.30/src/vfs/shell/helpers/utime mc-4.8.31/src/vfs/shell/helpers/utime --- mc-4.8.30/src/vfs/shell/helpers/utime 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.8.31/src/vfs/shell/helpers/utime 2024-01-20 19:34:38.000000000 +0000 @@ -0,0 +1,12 @@ +if TZ=UTC touch -h -m -d "$SHELL_TOUCHMTIME_W_NSEC" "/${SHELL_FILENAME}" 2>/dev/null && \ + TZ=UTC touch -h -a -d "$SHELL_TOUCHATIME_W_NSEC" "/${SHELL_FILENAME}" 2>/dev/null; then + echo "### 000" +elif TZ=UTC touch -h -m -t $SHELL_TOUCHMTIME "/${SHELL_FILENAME}" 2>/dev/null && \ + TZ=UTC touch -h -a -t $SHELL_TOUCHATIME "/${SHELL_FILENAME}" 2>/dev/null; then + echo "### 000" +elif [ -n "$SHELL_HAVE_PERL" ] && + perl -e 'utime '$SHELL_FILEATIME','$SHELL_FILEMTIME',@ARGV;' "/${SHELL_FILENAME}" 2>/dev/null; then + echo "### 000" +else + echo "### 500" +fi diff -Nru mc-4.8.30/src/vfs/shell/shell.c mc-4.8.31/src/vfs/shell/shell.c --- mc-4.8.30/src/vfs/shell/shell.c 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.8.31/src/vfs/shell/shell.c 2024-01-20 19:34:38.000000000 +0000 @@ -0,0 +1,1799 @@ +/* + Virtual File System: SHELL implementation for transferring files over + shell connections. + + Copyright (C) 1998-2024 + Free Software Foundation, Inc. + + Written by: + Pavel Machek, 1998 + Michal Svec, 2000 + Andrew Borodin , 2010-2022 + Slava Zanko , 2010, 2013 + Ilia Maslakov , 2010 + + Derived from ftpfs.c. + + This file is part of the Midnight Commander. + + The Midnight Commander is free software: you can redistribute it + and/or modify it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the License, + or (at your option) any later version. + + The Midnight Commander is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +/** + * \file + * \brief Source: Virtual File System: SHELL implementation for transferring files over + * shell connections + * \author Pavel Machek + * \author Michal Svec + * \date 1998, 2000 + * + * Derived from ftpfs.c + * Read README.shell for protocol specification. + * + * Syntax of path is: \verbatim sh://user@host[:Cr]/path \endverbatim + * where C means you want compressed connection, + * and r means you want to use rsh + * + * Namespace: shell_vfs_ops exported. + */ + +/* Define this if your ssh can take -I option */ + +#include +#include +#include +#include +#include +#include +#include /* uintmax_t */ + +#include "lib/global.h" +#include "lib/tty/tty.h" /* enable/disable interrupt key */ +#include "lib/strescape.h" +#include "lib/unixcompat.h" +#include "lib/fileloc.h" +#include "lib/util.h" /* my_exit() */ +#include "lib/mcconfig.h" + +#include "src/execute.h" /* pre_exec, post_exec */ + +#include "lib/vfs/vfs.h" +#include "lib/vfs/utilvfs.h" +#include "lib/vfs/netutil.h" +#include "lib/vfs/xdirentry.h" +#include "lib/vfs/gc.h" /* vfs_stamp_create */ + +#include "shell.h" +#include "shelldef.h" + +/*** global variables ****************************************************************************/ + +int shell_directory_timeout = 900; + +/*** file scope macro definitions ****************************************************************/ + +#define DO_RESOLVE_SYMLINK 1 +#define DO_OPEN 2 +#define DO_FREE_RESOURCE 4 + +#define SHELL_FLAG_COMPRESSED 1 +#define SHELL_FLAG_RSH 2 + +#define OPT_FLUSH 1 +#define OPT_IGNORE_ERROR 2 + +/* + * Reply codes. + */ +#define PRELIM 1 /* positive preliminary */ +#define COMPLETE 2 /* positive completion */ +#define CONTINUE 3 /* positive intermediate */ +#define TRANSIENT 4 /* transient negative completion */ +#define ERROR 5 /* permanent negative completion */ + +/* command wait_flag: */ +#define NONE 0x00 +#define WAIT_REPLY 0x01 +#define WANT_STRING 0x02 + +/* environment flags */ +#define SHELL_HAVE_HEAD 1 +#define SHELL_HAVE_SED 2 +#define SHELL_HAVE_AWK 4 +#define SHELL_HAVE_PERL 8 +#define SHELL_HAVE_LSQ 16 +#define SHELL_HAVE_DATE_MDYT 32 +#define SHELL_HAVE_TAIL 64 + +#define SHELL_SUPER(super) ((shell_super_t *) (super)) +#define SHELL_FILE_HANDLER(fh) ((shell_file_handler_t *) fh) + +/*** file scope type declarations ****************************************************************/ + +typedef struct +{ + struct vfs_s_super base; /* base class */ + + int sockr; + int sockw; + char *scr_ls; + char *scr_chmod; + char *scr_utime; + char *scr_exists; + char *scr_mkdir; + char *scr_unlink; + char *scr_chown; + char *scr_rmdir; + char *scr_ln; + char *scr_mv; + char *scr_hardlink; + char *scr_get; + char *scr_send; + char *scr_append; + char *scr_info; + int host_flags; + GString *scr_env; +} shell_super_t; + +typedef struct +{ + vfs_file_handler_t base; /* base class */ + + off_t got; + off_t total; + gboolean append; +} shell_file_handler_t; + +/*** forward declarations (file scope functions) *************************************************/ + +/*** file scope variables ************************************************************************/ + +static char reply_str[80]; + +static struct vfs_s_subclass shell_subclass; +static struct vfs_class *vfs_shell_ops = VFS_CLASS (&shell_subclass); + +/* --------------------------------------------------------------------------------------------- */ +/*** file scope functions ************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ + +static void +shell_set_blksize (struct stat *s) +{ +#ifdef HAVE_STRUCT_STAT_ST_BLKSIZE + /* redefine block size */ + s->st_blksize = 64 * 1024; /* FIXME */ +#endif +} + +/* --------------------------------------------------------------------------------------------- */ + +static struct stat * +shell_default_stat (struct vfs_class *me) +{ + struct stat *s; + + s = vfs_s_default_stat (me, S_IFDIR | 0755); + shell_set_blksize (s); + vfs_adjust_stat (s); + + return s; +} + +/* --------------------------------------------------------------------------------------------- */ + +static char * +shell_load_script_from_file (const char *hostname, const char *script_name, const char *def_content) +{ + char *scr_filename = NULL; + char *scr_content; + gsize scr_len = 0; + + /* 1st: scan user directory */ + scr_filename = + g_build_path (PATH_SEP_STR, mc_config_get_data_path (), VFS_SHELL_PREFIX, hostname, + script_name, (char *) NULL); + /* silent about user dir */ + g_file_get_contents (scr_filename, &scr_content, &scr_len, NULL); + g_free (scr_filename); + /* 2nd: scan system dir */ + if (scr_content == NULL) + { + scr_filename = + g_build_path (PATH_SEP_STR, LIBEXECDIR, VFS_SHELL_PREFIX, script_name, (char *) NULL); + g_file_get_contents (scr_filename, &scr_content, &scr_len, NULL); + g_free (scr_filename); + } + + if (scr_content != NULL) + return scr_content; + + return g_strdup (def_content); +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +shell_decode_reply (char *s, gboolean was_garbage) +{ + int code; + + /* cppcheck-suppress invalidscanf */ + if (sscanf (s, "%d", &code) == 0) + { + code = 500; + return 5; + } + if (code < 100) + return was_garbage ? ERROR : (code == 0 ? COMPLETE : PRELIM); + return code / 100; +} + +/* --------------------------------------------------------------------------------------------- */ +/* Returns a reply code, check /usr/include/arpa/ftp.h for possible values */ + +static int +shell_get_reply (struct vfs_class *me, int sock, char *string_buf, int string_len) +{ + char answer[BUF_1K]; + gboolean was_garbage = FALSE; + + while (TRUE) + { + if (!vfs_s_get_line (me, sock, answer, sizeof (answer), '\n')) + { + if (string_buf != NULL) + *string_buf = '\0'; + return 4; + } + + if (strncmp (answer, "### ", 4) == 0) + return shell_decode_reply (answer + 4, was_garbage ? 1 : 0); + + was_garbage = TRUE; + if (string_buf != NULL) + g_strlcpy (string_buf, answer, string_len); + } +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +shell_command (struct vfs_class *me, struct vfs_s_super *super, int wait_reply, const char *cmd, + size_t cmd_len) +{ + ssize_t status; + FILE *logfile = me->logfile; + + if (cmd_len == (size_t) (-1)) + cmd_len = strlen (cmd); + + if (logfile != NULL) + { + size_t ret; + + ret = fwrite (cmd, cmd_len, 1, logfile); + ret = fflush (logfile); + (void) ret; + } + + tty_enable_interrupt_key (); + status = write (SHELL_SUPER (super)->sockw, cmd, cmd_len); + tty_disable_interrupt_key (); + + if (status < 0) + return TRANSIENT; + + if (wait_reply) + return shell_get_reply (me, SHELL_SUPER (super)->sockr, + (wait_reply & WANT_STRING) != 0 ? reply_str : NULL, + sizeof (reply_str) - 1); + return COMPLETE; +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +G_GNUC_PRINTF (5, 0) +shell_command_va (struct vfs_class *me, struct vfs_s_super *super, int wait_reply, const char *scr, + const char *vars, va_list ap) +{ + int r; + GString *command; + + command = mc_g_string_dup (SHELL_SUPER (super)->scr_env); + g_string_append_vprintf (command, vars, ap); + g_string_append (command, scr); + r = shell_command (me, super, wait_reply, command->str, command->len); + g_string_free (command, TRUE); + + return r; +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +G_GNUC_PRINTF (5, 6) +shell_command_v (struct vfs_class *me, struct vfs_s_super *super, int wait_reply, const char *scr, + const char *vars, ...) +{ + int r; + va_list ap; + + va_start (ap, vars); + r = shell_command_va (me, super, wait_reply, scr, vars, ap); + va_end (ap); + + return r; +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +G_GNUC_PRINTF (5, 6) +shell_send_command (struct vfs_class *me, struct vfs_s_super *super, int flags, const char *scr, + const char *vars, ...) +{ + int r; + va_list ap; + + va_start (ap, vars); + r = shell_command_va (me, super, WAIT_REPLY, scr, vars, ap); + va_end (ap); + vfs_stamp_create (vfs_shell_ops, super); + + if (r != COMPLETE) + ERRNOR (E_REMOTE, -1); + if ((flags & OPT_FLUSH) != 0) + vfs_s_invalidate (me, super); + + return 0; +} + +/* --------------------------------------------------------------------------------------------- */ + +static struct vfs_s_super * +shell_new_archive (struct vfs_class *me) +{ + shell_super_t *arch; + + arch = g_new0 (shell_super_t, 1); + arch->base.me = me; + + return VFS_SUPER (arch); +} + +/* --------------------------------------------------------------------------------------------- */ + +static void +shell_free_archive (struct vfs_class *me, struct vfs_s_super *super) +{ + shell_super_t *shell_super = SHELL_SUPER (super); + + if ((shell_super->sockw != -1) || (shell_super->sockr != -1)) + vfs_print_message (_("shell: Disconnecting from %s"), super->name ? super->name : "???"); + + if (shell_super->sockw != -1) + { + shell_command (me, super, NONE, "exit\n", -1); + close (shell_super->sockw); + shell_super->sockw = -1; + } + + if (shell_super->sockr != -1) + { + close (shell_super->sockr); + shell_super->sockr = -1; + } + + g_free (shell_super->scr_ls); + g_free (shell_super->scr_exists); + g_free (shell_super->scr_mkdir); + g_free (shell_super->scr_unlink); + g_free (shell_super->scr_chown); + g_free (shell_super->scr_chmod); + g_free (shell_super->scr_utime); + g_free (shell_super->scr_rmdir); + g_free (shell_super->scr_ln); + g_free (shell_super->scr_mv); + g_free (shell_super->scr_hardlink); + g_free (shell_super->scr_get); + g_free (shell_super->scr_send); + g_free (shell_super->scr_append); + g_free (shell_super->scr_info); + g_string_free (shell_super->scr_env, TRUE); +} + +/* --------------------------------------------------------------------------------------------- */ + +static void +shell_pipeopen (struct vfs_s_super *super, const char *path, const char *argv[]) +{ + int fileset1[2], fileset2[2]; + int res; + + if ((pipe (fileset1) < 0) || (pipe (fileset2) < 0)) + vfs_die ("Cannot pipe(): %m."); + + res = fork (); + + if (res != 0) + { + if (res < 0) + vfs_die ("Cannot fork(): %m."); + /* We are the parent */ + close (fileset1[0]); + SHELL_SUPER (super)->sockw = fileset1[1]; + close (fileset2[1]); + SHELL_SUPER (super)->sockr = fileset2[0]; + } + else + { + res = dup2 (fileset1[0], STDIN_FILENO); + close (fileset1[0]); + close (fileset1[1]); + res = dup2 (fileset2[1], STDOUT_FILENO); + close (STDERR_FILENO); + /* stderr to /dev/null */ + res = open ("/dev/null", O_WRONLY); + close (fileset2[0]); + close (fileset2[1]); + execvp (path, (char **) argv); + my_exit (3); + } +} + +/* --------------------------------------------------------------------------------------------- */ + +static GString * +shell_set_env (int flags) +{ + GString *ret; + + ret = g_string_sized_new (256); + + if ((flags & SHELL_HAVE_HEAD) != 0) + g_string_append (ret, "SHELL_HAVE_HEAD=1 export SHELL_HAVE_HEAD; "); + + if ((flags & SHELL_HAVE_SED) != 0) + g_string_append (ret, "SHELL_HAVE_SED=1 export SHELL_HAVE_SED; "); + + if ((flags & SHELL_HAVE_AWK) != 0) + g_string_append (ret, "SHELL_HAVE_AWK=1 export SHELL_HAVE_AWK; "); + + if ((flags & SHELL_HAVE_PERL) != 0) + g_string_append (ret, "SHELL_HAVE_PERL=1 export SHELL_HAVE_PERL; "); + + if ((flags & SHELL_HAVE_LSQ) != 0) + g_string_append (ret, "SHELL_HAVE_LSQ=1 export SHELL_HAVE_LSQ; "); + + if ((flags & SHELL_HAVE_DATE_MDYT) != 0) + g_string_append (ret, "SHELL_HAVE_DATE_MDYT=1 export SHELL_HAVE_DATE_MDYT; "); + + if ((flags & SHELL_HAVE_TAIL) != 0) + g_string_append (ret, "SHELL_HAVE_TAIL=1 export SHELL_HAVE_TAIL; "); + + return ret; +} + +/* --------------------------------------------------------------------------------------------- */ + +static gboolean +shell_info (struct vfs_class *me, struct vfs_s_super *super) +{ + shell_super_t *shell_super = SHELL_SUPER (super); + + if (shell_command (me, super, NONE, shell_super->scr_info, -1) == COMPLETE) + { + while (TRUE) + { + int res; + char buffer[BUF_8K] = ""; + + res = vfs_s_get_line_interruptible (me, buffer, sizeof (buffer), shell_super->sockr); + if ((res == 0) || (res == EINTR)) + ERRNOR (ECONNRESET, FALSE); + if (strncmp (buffer, "### ", 4) == 0) + break; + shell_super->host_flags = atol (buffer); + } + return TRUE; + } + ERRNOR (E_PROTO, FALSE); +} + +/* --------------------------------------------------------------------------------------------- */ + +static void +shell_open_archive_pipeopen (struct vfs_s_super *super) +{ + char gbuf[10]; + const char *argv[10]; /* All of 10 is used now */ + const char *xsh = (super->path_element->port == SHELL_FLAG_RSH ? "rsh" : "ssh"); + int i = 0; + + argv[i++] = xsh; + if (super->path_element->port == SHELL_FLAG_COMPRESSED) + argv[i++] = "-C"; + + if (super->path_element->port > SHELL_FLAG_RSH) + { + argv[i++] = "-p"; + g_snprintf (gbuf, sizeof (gbuf), "%d", super->path_element->port); + argv[i++] = gbuf; + } + + /* + * Add the user name to the ssh command line only if it was explicitly + * set in vfs URL. rsh/ssh will get current user by default + * plus we can set convenient overrides in ~/.ssh/config (explicit -l + * option breaks it for some) + */ + + if (super->path_element->user != NULL) + { + argv[i++] = "-l"; + argv[i++] = super->path_element->user; + } + else + { + /* The rest of the code assumes it to be a valid username */ + super->path_element->user = vfs_get_local_username (); + } + + argv[i++] = super->path_element->host; + argv[i++] = "echo SHELL:; /bin/sh"; + argv[i++] = NULL; + + shell_pipeopen (super, xsh, argv); +} + +/* --------------------------------------------------------------------------------------------- */ + +static gboolean +shell_open_archive_talk (struct vfs_class *me, struct vfs_s_super *super) +{ + shell_super_t *shell_super = SHELL_SUPER (super); + char answer[2048]; + + printf ("\n%s\n", _("shell: Waiting for initial line...")); + + if (vfs_s_get_line (me, shell_super->sockr, answer, sizeof (answer), ':') == 0) + return FALSE; + + if (strstr (answer, "assword") != NULL) + { + /* Currently, this does not work. ssh reads passwords from + /dev/tty, not from stdin :-(. */ + + printf ("\n%s\n", _("Sorry, we cannot do password authenticated connections for now.")); + + return FALSE; +#if 0 + if (super->path_element->password == NULL) + { + char *p, *op; + + p = g_strdup_printf (_("shell: Password is required for %s"), + super->path_element->user); + op = vfs_get_password (p); + g_free (p); + if (op == NULL) + return FALSE; + super->path_element->password = op; + } + + printf ("\n%s\n", _("shell: Sending password...")); + + { + size_t str_len; + + str_len = strlen (super->path_element->password); + if ((write (shell_super.sockw, super->path_element->password, str_len) != + (ssize_t) str_len) || (write (shell_super->sockw, "\n", 1) != 1)) + return FALSE; + } +#endif + } + return TRUE; +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +shell_open_archive_int (struct vfs_class *me, struct vfs_s_super *super) +{ + gboolean ftalk; + + /* hide panels */ + pre_exec (); + + /* open pipe */ + shell_open_archive_pipeopen (super); + + /* Start talk with ssh-server (password prompt, etc ) */ + ftalk = shell_open_archive_talk (me, super); + + /* show panels */ + post_exec (); + + if (!ftalk) + ERRNOR (E_PROTO, -1); + + vfs_print_message ("%s", _("shell: Sending initial line...")); + + /* Set up remote locale to C, otherwise dates cannot be recognized */ + if (shell_command + (me, super, WAIT_REPLY, + "LANG=C LC_ALL=C LC_TIME=C; export LANG LC_ALL LC_TIME;\n" "echo '### 200'\n", + -1) != COMPLETE) + ERRNOR (E_PROTO, -1); + + vfs_print_message ("%s", _("shell: Getting host info...")); + if (shell_info (me, super)) + SHELL_SUPER (super)->scr_env = shell_set_env (SHELL_SUPER (super)->host_flags); + +#if 0 + super->name = + g_strconcat ("sh://", super->path_element->user, "@", super->path_element->host, + PATH_SEP_STR, (char *) NULL); +#else + super->name = g_strdup (PATH_SEP_STR); +#endif + + super->root = vfs_s_new_inode (me, super, shell_default_stat (me)); + + return 0; +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +shell_open_archive (struct vfs_s_super *super, + const vfs_path_t * vpath, const vfs_path_element_t * vpath_element) +{ + shell_super_t *shell_super = SHELL_SUPER (super); + + (void) vpath; + + super->path_element = vfs_path_element_clone (vpath_element); + + if (strncmp (vpath_element->vfs_prefix, "rsh", 3) == 0) + super->path_element->port = SHELL_FLAG_RSH; + + shell_super->scr_ls = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_LS_FILE, + VFS_SHELL_LS_DEF_CONTENT); + shell_super->scr_exists = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_EXISTS_FILE, + VFS_SHELL_EXISTS_DEF_CONTENT); + shell_super->scr_mkdir = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_MKDIR_FILE, + VFS_SHELL_MKDIR_DEF_CONTENT); + shell_super->scr_unlink = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_UNLINK_FILE, + VFS_SHELL_UNLINK_DEF_CONTENT); + shell_super->scr_chown = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_CHOWN_FILE, + VFS_SHELL_CHOWN_DEF_CONTENT); + shell_super->scr_chmod = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_CHMOD_FILE, + VFS_SHELL_CHMOD_DEF_CONTENT); + shell_super->scr_utime = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_UTIME_FILE, + VFS_SHELL_UTIME_DEF_CONTENT); + shell_super->scr_rmdir = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_RMDIR_FILE, + VFS_SHELL_RMDIR_DEF_CONTENT); + shell_super->scr_ln = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_LN_FILE, + VFS_SHELL_LN_DEF_CONTENT); + shell_super->scr_mv = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_MV_FILE, + VFS_SHELL_MV_DEF_CONTENT); + shell_super->scr_hardlink = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_HARDLINK_FILE, + VFS_SHELL_HARDLINK_DEF_CONTENT); + shell_super->scr_get = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_GET_FILE, + VFS_SHELL_GET_DEF_CONTENT); + shell_super->scr_send = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_SEND_FILE, + VFS_SHELL_SEND_DEF_CONTENT); + shell_super->scr_append = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_APPEND_FILE, + VFS_SHELL_APPEND_DEF_CONTENT); + shell_super->scr_info = + shell_load_script_from_file (super->path_element->host, VFS_SHELL_INFO_FILE, + VFS_SHELL_INFO_DEF_CONTENT); + + return shell_open_archive_int (vpath_element->class, super); +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +shell_archive_same (const vfs_path_element_t * vpath_element, struct vfs_s_super *super, + const vfs_path_t * vpath, void *cookie) +{ + vfs_path_element_t *path_element; + int result; + + (void) vpath; + (void) cookie; + + path_element = vfs_path_element_clone (vpath_element); + + if (path_element->user == NULL) + path_element->user = vfs_get_local_username (); + + result = ((strcmp (path_element->host, super->path_element->host) == 0) + && (strcmp (path_element->user, super->path_element->user) == 0) + && (path_element->port == super->path_element->port)) ? 1 : 0; + + vfs_path_element_free (path_element); + + return result; +} + +/* --------------------------------------------------------------------------------------------- */ + +static void +shell_parse_ls (char *buffer, struct vfs_s_entry *ent) +{ +#define ST ent->ino->st + + buffer++; + + switch (buffer[-1]) + { + case ':': + { + char *filename; + char *filename_bound; + char *temp; + + filename = buffer; + + if (strcmp (filename, "\".\"") == 0 || strcmp (filename, "\"..\"") == 0) + break; /* We'll do "." and ".." ourselves */ + + filename_bound = filename + strlen (filename); + + if (S_ISLNK (ST.st_mode)) + { + char *linkname; + char *linkname_bound; + /* we expect: "escaped-name" -> "escaped-name" + // -> cannot occur in filenames, + // because it will be escaped to -\> */ + + + linkname_bound = filename_bound; + + if (*filename == '"') + ++filename; + + linkname = strstr (filename, "\" -> \""); + if (linkname == NULL) + { + /* broken client, or smth goes wrong */ + linkname = filename_bound; + if (filename_bound > filename && *(filename_bound - 1) == '"') + --filename_bound; /* skip trailing " */ + } + else + { + filename_bound = linkname; + linkname += 6; /* strlen ("\" -> \"") */ + if (*(linkname_bound - 1) == '"') + --linkname_bound; /* skip trailing " */ + } + + ent->name = g_strndup (filename, filename_bound - filename); + temp = ent->name; + ent->name = strutils_shell_unescape (ent->name); + g_free (temp); + + ent->ino->linkname = g_strndup (linkname, linkname_bound - linkname); + temp = ent->ino->linkname; + ent->ino->linkname = strutils_shell_unescape (ent->ino->linkname); + g_free (temp); + } + else + { + /* we expect: "escaped-name" */ + if (filename_bound - filename > 2) + { + /* + there is at least 2 " + and we skip them + */ + if (*filename == '"') + ++filename; + if (*(filename_bound - 1) == '"') + --filename_bound; + } + + ent->name = g_strndup (filename, filename_bound - filename); + temp = ent->name; + ent->name = strutils_shell_unescape (ent->name); + g_free (temp); + } + break; + } + + case 'S': + ST.st_size = (off_t) g_ascii_strtoll (buffer, NULL, 10); + break; + + case 'P': + { + size_t skipped; + + vfs_parse_filemode (buffer, &skipped, &ST.st_mode); + break; + } + + case 'R': + { + /* + raw filemode: + we expect: Roctal-filemode octal-filetype uid.gid + */ + size_t skipped; + + vfs_parse_raw_filemode (buffer, &skipped, &ST.st_mode); + break; + } + + case 'd': + vfs_split_text (buffer); + if (vfs_parse_filedate (0, &ST.st_ctime) == 0) + break; + ST.st_atime = ST.st_mtime = ST.st_ctime; +#ifdef HAVE_STRUCT_STAT_ST_MTIM + ST.st_atim.tv_nsec = ST.st_mtim.tv_nsec = ST.st_ctim.tv_nsec = 0; +#endif + break; + + case 'D': + { + struct tm tim; + + memset (&tim, 0, sizeof (tim)); + /* cppcheck-suppress invalidscanf */ + if (sscanf (buffer, "%d %d %d %d %d %d", &tim.tm_year, &tim.tm_mon, + &tim.tm_mday, &tim.tm_hour, &tim.tm_min, &tim.tm_sec) != 6) + break; + ST.st_atime = ST.st_mtime = ST.st_ctime = mktime (&tim); +#ifdef HAVE_STRUCT_STAT_ST_MTIM + ST.st_atim.tv_nsec = ST.st_mtim.tv_nsec = ST.st_ctim.tv_nsec = 0; +#endif + } + break; + + case 'E': + { + int maj, min; + + /* cppcheck-suppress invalidscanf */ + if (sscanf (buffer, "%d,%d", &maj, &min) != 2) + break; +#ifdef HAVE_STRUCT_STAT_ST_RDEV + ST.st_rdev = makedev (maj, min); +#endif + } + break; + + default: + break; + } + +#undef ST +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +shell_dir_load (struct vfs_class *me, struct vfs_s_inode *dir, const char *remote_path) +{ + struct vfs_s_super *super = dir->super; + char buffer[BUF_8K] = "\0"; + struct vfs_s_entry *ent = NULL; + char *quoted_path; + int reply_code; + + /* + * Simple SHELL debug interface :] + */ +#if 0 + if (me->logfile == NULL) + me->logfile = fopen ("/tmp/mc-SHELL.sh", "w"); +#endif + + vfs_print_message (_("shell: Reading directory %s..."), remote_path); + + dir->timestamp = g_get_monotonic_time () + shell_directory_timeout * G_USEC_PER_SEC; + + quoted_path = strutils_shell_escape (remote_path); + (void) shell_command_v (me, super, NONE, SHELL_SUPER (super)->scr_ls, "SHELL_FILENAME=%s;\n", + quoted_path); + g_free (quoted_path); + + ent = vfs_s_generate_entry (me, NULL, dir, 0); + + while (TRUE) + { + int res; + + res = + vfs_s_get_line_interruptible (me, buffer, sizeof (buffer), SHELL_SUPER (super)->sockr); + + if ((res == 0) || (res == EINTR)) + { + vfs_s_free_entry (me, ent); + me->verrno = ECONNRESET; + goto error; + } + if (me->logfile != NULL) + { + fputs (buffer, me->logfile); + fputs ("\n", me->logfile); + fflush (me->logfile); + } + if (strncmp (buffer, "### ", 4) == 0) + break; + + if (buffer[0] != '\0') + shell_parse_ls (buffer, ent); + else if (ent->name != NULL) + { + vfs_s_insert_entry (me, dir, ent); + ent = vfs_s_generate_entry (me, NULL, dir, 0); + } + } + + vfs_s_free_entry (me, ent); + reply_code = shell_decode_reply (buffer + 4, 0); + if (reply_code == COMPLETE) + { + vfs_print_message (_("%s: done."), me->name); + return 0; + } + + me->verrno = reply_code == ERROR ? EACCES : E_REMOTE; + + error: + vfs_print_message (_("%s: failure"), me->name); + return -1; +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +shell_file_store (struct vfs_class *me, vfs_file_handler_t * fh, char *name, char *localname) +{ + shell_file_handler_t *shell = SHELL_FILE_HANDLER (fh); + struct vfs_s_super *super = VFS_FILE_HANDLER_SUPER (fh); + shell_super_t *shell_super = SHELL_SUPER (super); + int code; + off_t total = 0; + char buffer[BUF_8K]; + struct stat s; + int h; + char *quoted_name; + + h = open (localname, O_RDONLY); + if (h == -1) + ERRNOR (EIO, -1); + if (fstat (h, &s) < 0) + { + close (h); + ERRNOR (EIO, -1); + } + + /* First, try this as stor: + * + * ( head -c number ) | ( cat > file; cat >/dev/null ) + * + * If 'head' is not present on the remote system, 'dd' will be used. + * Unfortunately, we cannot trust most non-GNU 'head' implementations + * even if '-c' options is supported. Therefore, we separate GNU head + * (and other modern heads?) using '-q' and '-' . This causes another + * implementations to fail (because of "incorrect options"). + * + * Fallback is: + * + * rest= + * while [ $rest -gt 0 ] + * do + * cnt=`expr \( $rest + 255 \) / 256` + * n=`dd bs=256 count=$cnt | tee -a | wc -c` + * rest=`expr $rest - $n` + * done + * + * 'dd' was not designed for full filling of input buffers, + * and does not report exact number of bytes (not blocks). + * Therefore a more complex shell script is needed. + * + * On some systems non-GNU head writes "Usage:" error report to stdout + * instead of stderr. It makes impossible the use of "head || dd" + * algorithm for file appending case, therefore just "dd" is used for it. + */ + + quoted_name = strutils_shell_escape (name); + vfs_print_message (_("shell: store %s: sending command..."), quoted_name); + + /* FIXME: File size is limited to ULONG_MAX */ + code = + shell_command_v (me, super, WAIT_REPLY, + shell->append ? shell_super->scr_append : shell_super->scr_send, + "SHELL_FILENAME=%s SHELL_FILESIZE=%" PRIuMAX ";\n", quoted_name, + (uintmax_t) s.st_size); + g_free (quoted_name); + + if (code != PRELIM) + { + close (h); + ERRNOR (E_REMOTE, -1); + } + + while (TRUE) + { + ssize_t n, t; + + while ((n = read (h, buffer, sizeof (buffer))) < 0) + { + if ((errno == EINTR) && tty_got_interrupt ()) + continue; + vfs_print_message ("%s", _("shell: Local read failed, sending zeros")); + close (h); + h = open ("/dev/zero", O_RDONLY); + } + + if (n == 0) + break; + + t = write (shell_super->sockw, buffer, n); + if (t != n) + { + if (t == -1) + me->verrno = errno; + else + me->verrno = EIO; + goto error_return; + } + tty_disable_interrupt_key (); + total += n; + vfs_print_message ("%s: %" PRIuMAX "/%" PRIuMAX, _("shell: storing file"), + (uintmax_t) total, (uintmax_t) s.st_size); + } + close (h); + + if (shell_get_reply (me, shell_super->sockr, NULL, 0) != COMPLETE) + ERRNOR (E_REMOTE, -1); + return 0; + + error_return: + close (h); + shell_get_reply (me, shell_super->sockr, NULL, 0); + return -1; +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +shell_linear_start (struct vfs_class *me, vfs_file_handler_t * fh, off_t offset) +{ + shell_file_handler_t *shell = SHELL_FILE_HANDLER (fh); + struct vfs_s_super *super = VFS_FILE_HANDLER_SUPER (fh); + char *name; + char *quoted_name; + + name = vfs_s_fullpath (me, fh->ino); + if (name == NULL) + return 0; + quoted_name = strutils_shell_escape (name); + g_free (name); + shell->append = FALSE; + + /* + * Check whether the remote file is readable by using 'dd' to copy + * a single byte from the remote file to /dev/null. If 'dd' completes + * with exit status of 0 use 'cat' to send the file contents to the + * standard output (i.e. over the network). + */ + + offset = + shell_command_v (me, super, WANT_STRING, SHELL_SUPER (super)->scr_get, + "SHELL_FILENAME=%s SHELL_START_OFFSET=%" PRIuMAX ";\n", quoted_name, + (uintmax_t) offset); + g_free (quoted_name); + + if (offset != PRELIM) + ERRNOR (E_REMOTE, 0); + fh->linear = LS_LINEAR_OPEN; + shell->got = 0; + errno = 0; +#if SIZEOF_OFF_T == SIZEOF_LONG + shell->total = (off_t) strtol (reply_str, NULL, 10); +#else + shell->total = (off_t) g_ascii_strtoll (reply_str, NULL, 10); +#endif + if (errno != 0) + ERRNOR (E_REMOTE, 0); + return 1; +} + +/* --------------------------------------------------------------------------------------------- */ + +static void +shell_linear_abort (struct vfs_class *me, vfs_file_handler_t * fh) +{ + shell_file_handler_t *shell = SHELL_FILE_HANDLER (fh); + struct vfs_s_super *super = VFS_FILE_HANDLER_SUPER (fh); + char buffer[BUF_8K]; + ssize_t n; + + vfs_print_message ("%s", _("Aborting transfer...")); + + do + { + n = MIN ((off_t) sizeof (buffer), (shell->total - shell->got)); + if (n != 0) + { + n = read (SHELL_SUPER (super)->sockr, buffer, n); + if (n < 0) + return; + shell->got += n; + } + } + while (n != 0); + + if (shell_get_reply (me, SHELL_SUPER (super)->sockr, NULL, 0) != COMPLETE) + vfs_print_message ("%s", _("Error reported after abort.")); + else + vfs_print_message ("%s", _("Aborted transfer would be successful.")); +} + +/* --------------------------------------------------------------------------------------------- */ + +static ssize_t +shell_linear_read (struct vfs_class *me, vfs_file_handler_t * fh, void *buf, size_t len) +{ + shell_file_handler_t *shell = SHELL_FILE_HANDLER (fh); + struct vfs_s_super *super = VFS_FILE_HANDLER_SUPER (fh); + ssize_t n = 0; + + len = MIN ((size_t) (shell->total - shell->got), len); + tty_disable_interrupt_key (); + while (len != 0 && ((n = read (SHELL_SUPER (super)->sockr, buf, len)) < 0)) + { + if ((errno == EINTR) && !tty_got_interrupt ()) + continue; + break; + } + tty_enable_interrupt_key (); + + if (n > 0) + shell->got += n; + else if (n < 0) + shell_linear_abort (me, fh); + else if (shell_get_reply (me, SHELL_SUPER (super)->sockr, NULL, 0) != COMPLETE) + ERRNOR (E_REMOTE, -1); + ERRNOR (errno, n); +} + +/* --------------------------------------------------------------------------------------------- */ + +static void +shell_linear_close (struct vfs_class *me, vfs_file_handler_t * fh) +{ + shell_file_handler_t *shell = SHELL_FILE_HANDLER (fh); + + if (shell->total != shell->got) + shell_linear_abort (me, fh); +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +shell_ctl (void *fh, int ctlop, void *arg) +{ + (void) arg; + (void) fh; + (void) ctlop; + + return 0; + +#if 0 + switch (ctlop) + { + case VFS_CTL_IS_NOTREADY: + { + vfs_file_handler_t *file = VFS_FILE_HANDLER (fh); + int v; + + if (file->linear == LS_NOT_LINEAR) + vfs_die ("You may not do this"); + if (file->linear == LS_LINEAR_CLOSED || file->linear == LS_LINEAR_PREOPEN) + return 0; + + v = vfs_s_select_on_two (VFS_FILE_HANDLER_SUPER (fh)->u.shell.sockr, 0); + + return (((v < 0) && (errno == EINTR)) || v == 0) ? 1 : 0; + } + default: + return 0; + } +#endif +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +shell_rename (const vfs_path_t * vpath1, const vfs_path_t * vpath2) +{ + const char *crpath1, *crpath2; + char *rpath1, *rpath2; + struct vfs_s_super *super, *super2; + struct vfs_class *me; + int ret; + + crpath1 = vfs_s_get_path (vpath1, &super, 0); + if (crpath1 == NULL) + return -1; + + crpath2 = vfs_s_get_path (vpath2, &super2, 0); + if (crpath2 == NULL) + return -1; + + rpath1 = strutils_shell_escape (crpath1); + rpath2 = strutils_shell_escape (crpath2); + + me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath1)); + + ret = + shell_send_command (me, super2, OPT_FLUSH, SHELL_SUPER (super)->scr_mv, + "SHELL_FILEFROM=%s SHELL_FILETO=%s;\n", rpath1, rpath2); + + g_free (rpath1); + g_free (rpath2); + + return ret; +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +shell_link (const vfs_path_t * vpath1, const vfs_path_t * vpath2) +{ + const char *crpath1, *crpath2; + char *rpath1, *rpath2; + struct vfs_s_super *super, *super2; + struct vfs_class *me; + int ret; + + crpath1 = vfs_s_get_path (vpath1, &super, 0); + if (crpath1 == NULL) + return -1; + + crpath2 = vfs_s_get_path (vpath2, &super2, 0); + if (crpath2 == NULL) + return -1; + + rpath1 = strutils_shell_escape (crpath1); + rpath2 = strutils_shell_escape (crpath2); + + me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath1)); + + ret = + shell_send_command (me, super2, OPT_FLUSH, SHELL_SUPER (super)->scr_hardlink, + "SHELL_FILEFROM=%s SHELL_FILETO=%s;\n", rpath1, rpath2); + + g_free (rpath1); + g_free (rpath2); + + return ret; +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +shell_symlink (const vfs_path_t * vpath1, const vfs_path_t * vpath2) +{ + char *qsetto; + const char *crpath; + char *rpath; + struct vfs_s_super *super; + struct vfs_class *me; + int ret; + + crpath = vfs_s_get_path (vpath2, &super, 0); + if (crpath == NULL) + return -1; + + rpath = strutils_shell_escape (crpath); + qsetto = strutils_shell_escape (vfs_path_get_last_path_str (vpath1)); + + me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath2)); + + ret = + shell_send_command (me, super, OPT_FLUSH, SHELL_SUPER (super)->scr_ln, + "SHELL_FILEFROM=%s SHELL_FILETO=%s;\n", qsetto, rpath); + + g_free (qsetto); + g_free (rpath); + + return ret; +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +shell_stat (const vfs_path_t * vpath, struct stat *buf) +{ + int ret; + + ret = vfs_s_stat (vpath, buf); + shell_set_blksize (buf); + return ret; +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +shell_lstat (const vfs_path_t * vpath, struct stat *buf) +{ + int ret; + + ret = vfs_s_lstat (vpath, buf); + shell_set_blksize (buf); + return ret; +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +shell_fstat (void *vfs_info, struct stat *buf) +{ + int ret; + + ret = vfs_s_fstat (vfs_info, buf); + shell_set_blksize (buf); + return ret; +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +shell_chmod (const vfs_path_t * vpath, mode_t mode) +{ + const char *crpath; + char *rpath; + struct vfs_s_super *super; + struct vfs_class *me; + int ret; + + crpath = vfs_s_get_path (vpath, &super, 0); + if (crpath == NULL) + return -1; + + rpath = strutils_shell_escape (crpath); + + me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath)); + + ret = + shell_send_command (me, super, OPT_FLUSH, SHELL_SUPER (super)->scr_chmod, + "SHELL_FILENAME=%s SHELL_FILEMODE=%4.4o;\n", rpath, + (unsigned int) (mode & 07777)); + + g_free (rpath); + + return ret;; +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +shell_chown (const vfs_path_t * vpath, uid_t owner, gid_t group) +{ + char *sowner, *sgroup; + struct passwd *pw; + struct group *gr; + const char *crpath; + char *rpath; + struct vfs_s_super *super; + struct vfs_class *me; + int ret; + + pw = getpwuid (owner); + if (pw == NULL) + return 0; + + gr = getgrgid (group); + if (gr == NULL) + return 0; + + sowner = pw->pw_name; + sgroup = gr->gr_name; + + crpath = vfs_s_get_path (vpath, &super, 0); + if (crpath == NULL) + return -1; + + rpath = strutils_shell_escape (crpath); + + me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath)); + + /* FIXME: what should we report if chgrp succeeds but chown fails? */ + ret = + shell_send_command (me, super, OPT_FLUSH, SHELL_SUPER (super)->scr_chown, + "SHELL_FILENAME=%s SHELL_FILEOWNER=%s SHELL_FILEGROUP=%s;\n", rpath, + sowner, sgroup); + + g_free (rpath); + + return ret; +} + +/* --------------------------------------------------------------------------------------------- */ + +static void +shell_get_atime (mc_timesbuf_t * times, time_t * sec, long *nsec) +{ +#ifdef HAVE_UTIMENSAT + *sec = (*times)[0].tv_sec; + *nsec = (*times)[0].tv_nsec; +#else + *sec = times->actime; + *nsec = 0; +#endif +} + +/* --------------------------------------------------------------------------------------------- */ + +static void +shell_get_mtime (mc_timesbuf_t * times, time_t * sec, long *nsec) +{ +#ifdef HAVE_UTIMENSAT + *sec = (*times)[1].tv_sec; + *nsec = (*times)[1].tv_nsec; +#else + *sec = times->modtime; + *nsec = 0; +#endif +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +shell_utime (const vfs_path_t * vpath, mc_timesbuf_t * times) +{ + char utcatime[16], utcmtime[16]; + char utcatime_w_nsec[30], utcmtime_w_nsec[30]; + time_t atime, mtime; + long atime_nsec, mtime_nsec; + struct tm *gmt; + const char *crpath; + char *rpath; + struct vfs_s_super *super; + struct vfs_class *me; + int ret; + + crpath = vfs_s_get_path (vpath, &super, 0); + if (crpath == NULL) + return -1; + + rpath = strutils_shell_escape (crpath); + + shell_get_atime (times, &atime, &atime_nsec); + gmt = gmtime (&atime); + g_snprintf (utcatime, sizeof (utcatime), "%04d%02d%02d%02d%02d.%02d", + gmt->tm_year + 1900, gmt->tm_mon + 1, gmt->tm_mday, + gmt->tm_hour, gmt->tm_min, gmt->tm_sec); + g_snprintf (utcatime_w_nsec, sizeof (utcatime_w_nsec), "%04d-%02d-%02d %02d:%02d:%02d.%09ld", + gmt->tm_year + 1900, gmt->tm_mon + 1, gmt->tm_mday, + gmt->tm_hour, gmt->tm_min, gmt->tm_sec, atime_nsec); + + shell_get_mtime (times, &mtime, &mtime_nsec); + gmt = gmtime (&mtime); + g_snprintf (utcmtime, sizeof (utcmtime), "%04d%02d%02d%02d%02d.%02d", + gmt->tm_year + 1900, gmt->tm_mon + 1, gmt->tm_mday, + gmt->tm_hour, gmt->tm_min, gmt->tm_sec); + g_snprintf (utcmtime_w_nsec, sizeof (utcmtime_w_nsec), "%04d-%02d-%02d %02d:%02d:%02d.%09ld", + gmt->tm_year + 1900, gmt->tm_mon + 1, gmt->tm_mday, + gmt->tm_hour, gmt->tm_min, gmt->tm_sec, mtime_nsec); + + me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath)); + + ret = shell_send_command (me, super, OPT_FLUSH, SHELL_SUPER (super)->scr_utime, + "SHELL_FILENAME=%s SHELL_FILEATIME=%ld SHELL_FILEMTIME=%ld " + "SHELL_TOUCHATIME=%s SHELL_TOUCHMTIME=%s SHELL_TOUCHATIME_W_NSEC=\"%s\" " + "SHELL_TOUCHMTIME_W_NSEC=\"%s\";\n", rpath, (long) atime, + (long) mtime, utcatime, utcmtime, utcatime_w_nsec, utcmtime_w_nsec); + + g_free (rpath); + + return ret; +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +shell_unlink (const vfs_path_t * vpath) +{ + const char *crpath; + char *rpath; + struct vfs_s_super *super; + struct vfs_class *me; + int ret; + + crpath = vfs_s_get_path (vpath, &super, 0); + if (crpath == NULL) + return -1; + + rpath = strutils_shell_escape (crpath); + + me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath)); + + ret = + shell_send_command (me, super, OPT_FLUSH, SHELL_SUPER (super)->scr_unlink, + "SHELL_FILENAME=%s;\n", rpath); + + g_free (rpath); + + return ret; +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +shell_exists (const vfs_path_t * vpath) +{ + const char *crpath; + char *rpath; + struct vfs_s_super *super; + struct vfs_class *me; + int ret; + + crpath = vfs_s_get_path (vpath, &super, 0); + if (crpath == NULL) + return -1; + + rpath = strutils_shell_escape (crpath); + + me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath)); + + ret = + shell_send_command (me, super, OPT_FLUSH, SHELL_SUPER (super)->scr_exists, + "SHELL_FILENAME=%s;\n", rpath); + + g_free (rpath); + + return (ret == 0 ? 1 : 0); +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +shell_mkdir (const vfs_path_t * vpath, mode_t mode) +{ + const char *crpath; + char *rpath; + struct vfs_s_super *super; + struct vfs_class *me; + int ret; + + (void) mode; + + crpath = vfs_s_get_path (vpath, &super, 0); + if (crpath == NULL) + return -1; + + rpath = strutils_shell_escape (crpath); + + me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath)); + + ret = + shell_send_command (me, super, OPT_FLUSH, SHELL_SUPER (super)->scr_mkdir, + "SHELL_FILENAME=%s;\n", rpath); + g_free (rpath); + + if (ret != 0) + return ret; + + if (shell_exists (vpath) == 0) + { + me->verrno = EACCES; + return -1; + } + return 0; +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +shell_rmdir (const vfs_path_t * vpath) +{ + const char *crpath; + char *rpath; + struct vfs_s_super *super; + struct vfs_class *me; + int ret; + + crpath = vfs_s_get_path (vpath, &super, 0); + if (crpath == NULL) + return -1; + + rpath = strutils_shell_escape (crpath); + + me = VFS_CLASS (vfs_path_get_last_path_vfs (vpath)); + + ret = + shell_send_command (me, super, OPT_FLUSH, SHELL_SUPER (super)->scr_rmdir, + "SHELL_FILENAME=%s;\n", rpath); + + g_free (rpath); + + return ret; +} + +/* --------------------------------------------------------------------------------------------- */ + +static vfs_file_handler_t * +shell_fh_new (struct vfs_s_inode *ino, gboolean changed) +{ + shell_file_handler_t *fh; + + fh = g_new0 (shell_file_handler_t, 1); + vfs_s_init_fh (VFS_FILE_HANDLER (fh), ino, changed); + + return VFS_FILE_HANDLER (fh); +} + +/* --------------------------------------------------------------------------------------------- */ + +static int +shell_fh_open (struct vfs_class *me, vfs_file_handler_t * fh, int flags, mode_t mode) +{ + shell_file_handler_t *shell = SHELL_FILE_HANDLER (fh); + + (void) mode; + + /* File will be written only, so no need to retrieve it */ + if (((flags & O_WRONLY) == O_WRONLY) && ((flags & (O_RDONLY | O_RDWR)) == 0)) + { + /* user pressed the button [ Append ] in the "Copy" dialog */ + if ((flags & O_APPEND) != 0) + shell->append = TRUE; + + if (fh->ino->localname == NULL) + { + vfs_path_t *vpath = NULL; + int tmp_handle; + + tmp_handle = vfs_mkstemps (&vpath, me->name, fh->ino->ent->name); + if (tmp_handle == -1) + return (-1); + + fh->ino->localname = vfs_path_free (vpath, FALSE); + close (tmp_handle); + } + return 0; + } + + if (fh->ino->localname == NULL && vfs_s_retrieve_file (me, fh->ino) == -1) + return (-1); + + if (fh->ino->localname == NULL) + vfs_die ("retrieve_file failed to fill in localname"); + return 0; +} + +/* --------------------------------------------------------------------------------------------- */ + +static void +shell_fill_names (struct vfs_class *me, fill_names_f func) +{ + GList *iter; + + for (iter = VFS_SUBCLASS (me)->supers; iter != NULL; iter = g_list_next (iter)) + { + const struct vfs_s_super *super = (const struct vfs_s_super *) iter->data; + + char *name; + char gbuf[10]; + const char *flags = ""; + + switch (super->path_element->port) + { + case SHELL_FLAG_RSH: + flags = ":r"; + break; + case SHELL_FLAG_COMPRESSED: + flags = ":C"; + break; + default: + if (super->path_element->port > SHELL_FLAG_RSH) + { + g_snprintf (gbuf, sizeof (gbuf), ":%d", super->path_element->port); + flags = gbuf; + } + break; + } + + name = + g_strconcat (vfs_shell_ops->prefix, VFS_PATH_URL_DELIMITER, + super->path_element->user, "@", super->path_element->host, flags, + PATH_SEP_STR, super->path_element->path, (char *) NULL); + func (name); + g_free (name); + } +} + +/* --------------------------------------------------------------------------------------------- */ + +static void * +shell_open (const vfs_path_t * vpath, int flags, mode_t mode) +{ + /* + sorry, i've places hack here + cause shell don't able to open files with O_EXCL flag + */ + flags &= ~O_EXCL; + return vfs_s_open (vpath, flags, mode); +} + +/* --------------------------------------------------------------------------------------------- */ +/*** public functions ****************************************************************************/ +/* --------------------------------------------------------------------------------------------- */ + +void +vfs_init_shell (void) +{ + tcp_init (); + + vfs_init_subclass (&shell_subclass, "shell", VFSF_REMOTE | VFSF_USETMP, "sh"); + vfs_shell_ops->fill_names = shell_fill_names; + vfs_shell_ops->stat = shell_stat; + vfs_shell_ops->lstat = shell_lstat; + vfs_shell_ops->fstat = shell_fstat; + vfs_shell_ops->chmod = shell_chmod; + vfs_shell_ops->chown = shell_chown; + vfs_shell_ops->utime = shell_utime; + vfs_shell_ops->open = shell_open; + vfs_shell_ops->symlink = shell_symlink; + vfs_shell_ops->link = shell_link; + vfs_shell_ops->unlink = shell_unlink; + vfs_shell_ops->rename = shell_rename; + vfs_shell_ops->mkdir = shell_mkdir; + vfs_shell_ops->rmdir = shell_rmdir; + vfs_shell_ops->ctl = shell_ctl; + shell_subclass.archive_same = shell_archive_same; + shell_subclass.new_archive = shell_new_archive; + shell_subclass.open_archive = shell_open_archive; + shell_subclass.free_archive = shell_free_archive; + shell_subclass.fh_new = shell_fh_new; + shell_subclass.fh_open = shell_fh_open; + shell_subclass.dir_load = shell_dir_load; + shell_subclass.file_store = shell_file_store; + shell_subclass.linear_start = shell_linear_start; + shell_subclass.linear_read = shell_linear_read; + shell_subclass.linear_close = shell_linear_close; + vfs_register_class (vfs_shell_ops); +} + +/* --------------------------------------------------------------------------------------------- */ diff -Nru mc-4.8.30/src/vfs/shell/shell.h mc-4.8.31/src/vfs/shell/shell.h --- mc-4.8.30/src/vfs/shell/shell.h 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.8.31/src/vfs/shell/shell.h 2024-01-20 19:34:38.000000000 +0000 @@ -0,0 +1,28 @@ + +/** + * \file + * \brief Header: Virtual File System: SHELL implementation for transferring files over + * shell connections + */ + + +#ifndef MC__VFS_SHELL_H +#define MC__VFS_SHELL_H + +/*** typedefs(not structures) and defined constants **********************************************/ + +/*** enums ***************************************************************************************/ + +/*** structures declarations (and typedefs of structures)*****************************************/ + +/*** global variables defined in .c file *********************************************************/ + +extern int shell_directory_timeout; + +/*** declarations of public functions ************************************************************/ + +void vfs_init_shell (void); + +/*** inline functions ****************************************************************************/ + +#endif /* MC__VFS_SHELL_H */ diff -Nru mc-4.8.30/src/vfs/shell/shelldef.h mc-4.8.31/src/vfs/shell/shelldef.h --- mc-4.8.30/src/vfs/shell/shelldef.h 1970-01-01 00:00:00.000000000 +0000 +++ mc-4.8.31/src/vfs/shell/shelldef.h 2024-01-20 19:34:38.000000000 +0000 @@ -0,0 +1,224 @@ + +/** + * \file + * \brief Header: SHELL script defaults + */ + +#ifndef MC__VFS_SHELL_DEF_H +#define MC__VFS_SHELL_DEF_H + +/*** typedefs(not structures) and defined constants **********************************************/ + +/* default 'ls' script */ +#define VFS_SHELL_LS_DEF_CONTENT "" \ +"export LC_TIME=C\n" \ +"ls -Qlan \"/${SHELL_FILENAME}\" 2>/dev/null | grep '^[^cbt]' | (\n" \ +"while read p l u g s m d y n; do\n" \ +" echo \"P$p $u.$g\"\n" \ +" echo \"S$s\"\n" \ +" echo \"d$m $d $y\"\n" \ +" echo \":$n\"\n" \ +" echo\n" \ +"done\n" \ +")\n" \ +"ls -Qlan \"/${SHELL_FILENAME}\" 2>/dev/null | grep '^[cb]' | (\n" \ +"while read p l u g a i m d y n; do\n" \ +" echo \"P$p $u.$g\"\n" \ +" echo \"E$a$i\"\n" \ +" echo \"d$m $d $y\"\n" \ +" echo \":$n\"\n" \ +" echo\n" \ +"done\n" \ +")\n" \ +"echo \"### 200\"\n" + +/* default file exists script */ +#define VFS_SHELL_EXISTS_DEF_CONTENT "" \ +"ls -l \"/${SHELL_FILENAME}\" >/dev/null 2>/dev/null\n" \ +"echo '### '$?\n" + +/* default 'mkdir' script */ +#define VFS_SHELL_MKDIR_DEF_CONTENT "" \ +"if mkdir \"/${SHELL_FILENAME}\" 2>/dev/null; then\n" \ +" echo \"### 000\"\n" \ +"else\n" \ +" echo \"### 500\"\n" \ +"fi\n" + +/* default 'unlink' script */ +#define VFS_SHELL_UNLINK_DEF_CONTENT "" \ +"if rm -f \"/${SHELL_FILENAME}\" 2>/dev/null; then\n" \ +" echo \"### 000\"\n" \ +"else\n" \ +" echo \"### 500\"\n" \ +"fi\n" + +/* default 'chown' script */ +#define VFS_SHELL_CHOWN_DEF_CONTENT "" \ +"if chown ${SHELL_FILEOWNER}:${SHELL_FILEGROUP} \"/${SHELL_FILENAME}\"; then\n" \ +" echo \"### 000\"\n" \ +"else\n" \ +" echo \"### 500\"\n" \ +"fi\n" + +/* default 'chmod' script */ +#define VFS_SHELL_CHMOD_DEF_CONTENT "" \ +"if chmod ${SHELL_FILEMODE} \"/${SHELL_FILENAME}\" 2>/dev/null; then\n" \ +" echo \"### 000\"\n" \ +"else\n" \ +" echo \"### 500\"\n" \ +"fi\n" + +/* default 'utime' script */ +#define VFS_SHELL_UTIME_DEF_CONTENT "" \ +"#UTIME \"$SHELL_TOUCHATIME_W_NSEC\" \"$SHELL_TOUCHMTIME_W_NSEC\" $SHELL_FILENAME\n" \ +"if TZ=UTC touch -h -m -d \"$SHELL_TOUCHMTIME_W_NSEC\" \"/${SHELL_FILENAME}\" 2>/dev/null && \\\n" \ +" TZ=UTC touch -h -a -d \"$SHELL_TOUCHATIME_W_NSEC\" \"/${SHELL_FILENAME}\" 2>/dev/null; then\n" \ +" echo \"### 000\"\n" \ +"elif TZ=UTC touch -h -m -t $SHELL_TOUCHMTIME \"/${SHELL_FILENAME}\" 2>/dev/null && \\\n" \ +" TZ=UTC touch -h -a -t $SHELL_TOUCHATIME \"/${SHELL_FILENAME}\" 2>/dev/null; then\n" \ +" echo \"### 000\"\n" \ +"elif [ -n \"$SHELL_HAVE_PERL\" ] && \\\n" \ +" perl -e 'utime '$SHELL_FILEATIME','$SHELL_FILEMTIME',@ARGV;' \"/${SHELL_FILENAME}\" 2>/dev/null; then\n" \ +" echo \"### 000\"\n" \ +"else\n" \ +" echo \"### 500\"\n" \ +"fi\n" + +/* default 'rmdir' script */ +#define VFS_SHELL_RMDIR_DEF_CONTENT "" \ +"if rmdir \"/${SHELL_FILENAME}\" 2>/dev/null; then\n" \ +" echo \"### 000\"\n" \ +"else\n" \ +" echo \"### 500\"\n" \ +"fi\n" + +/* default 'ln -s' symlink script */ +#define VFS_SHELL_LN_DEF_CONTENT "" \ +"if ln -s \"/${SHELL_FILEFROM}\" \"/${SHELL_FILETO}\" 2>/dev/null; then\n" \ +" echo \"### 000\"\n" \ +"else\n" \ +" echo \"### 500\"\n" \ +"fi\n" + +/* default 'mv' script */ +#define VFS_SHELL_MV_DEF_CONTENT "" \ +"if mv \"/${SHELL_FILEFROM}\" \"/${SHELL_FILETO}\" 2>/dev/null; then\n" \ +" echo \"### 000\"\n" \ +"else\n" \ +" echo \"### 500\"\n" \ +"fi\n" + +/* default 'ln' hardlink script */ +#define VFS_SHELL_HARDLINK_DEF_CONTENT "" \ +"if ln \"/${SHELL_FILEFROM}\" \"/${SHELL_FILETO}\" 2>/dev/null; then\n" \ +" echo \"### 000\"\n" \ +"else\n" \ +" echo \"### 500\"\n" \ +"fi\n" + +/* default 'retr' script */ +#define VFS_SHELL_GET_DEF_CONTENT "" \ +"export LC_TIME=C\n" \ +"if dd if=\"/${SHELL_FILENAME}\" of=/dev/null bs=1 count=1 2>/dev/null ; then\n" \ +" ls -ln \"/${SHELL_FILENAME}\" 2>/dev/null | (\n" \ +" read p l u g s r\n" \ +" echo $s\n" \ +" )\n" \ +" echo \"### 100\"\n" \ +" cat \"/${SHELL_FILENAME}\"\n" \ +" echo \"### 200\"\n" \ +"else\n" \ +" echo \"### 500\"\n" \ +"fi\n" + +/* default 'stor' script */ +#define VFS_SHELL_SEND_DEF_CONTENT "" \ +"FILENAME=\"/${SHELL_FILENAME}\"\n" \ +"FILESIZE=${SHELL_FILESIZE}\n" \ +"echo \"### 001\"\n" \ +"{\n" \ +" while [ $FILESIZE -gt 0 ]; do\n" \ +" cnt=`expr \\( $FILESIZE + 255 \\) / 256`\n" \ +" n=`dd bs=256 count=$cnt | tee -a \"${FILENAME}\" | wc -c`\n" \ +" FILESIZE=`expr $FILESIZE - $n`\n" \ +" done\n" \ +"}; echo \"### 200\"\n" + +/* default 'appe' script */ +#define VFS_SHELL_APPEND_DEF_CONTENT "" \ +"FILENAME=\"/${SHELL_FILENAME}\"\n" \ +"FILESIZE=${SHELL_FILESIZE}\n" \ +"echo \"### 001\"\n" \ +"res=`exec 3>&1\n" \ +"(\n" \ +" head -c $FILESIZE -q - || echo DD >&3\n" \ +") 2>/dev/null | (\n" \ +" cat > \"${FILENAME}\"\n" \ +" cat > /dev/null\n" \ +")`; [ \"$res\" = DD ] && {\n" \ +" > \"${FILENAME}\"\n" \ +" while [ $FILESIZE -gt 0 ]\n" \ +" do\n" \ +" cnt=`expr \\( $FILESIZE + 255 \\) / 256`\n" \ +" n=`dd bs=256 count=$cnt | tee -a \"${FILENAME}\" | wc -c`\n" \ +" FILESIZE=`expr $FILESIZE - $n`\n" \ +" done\n" \ +"}; echo \"### 200\"\n" + +/* default 'info' script */ +#define VFS_SHELL_INFO_DEF_CONTENT "" \ +"export LC_TIME=C\n" \ +"#SHELL_HAVE_HEAD 1\n" \ +"#SHELL_HAVE_SED 2\n" \ +"#SHELL_HAVE_AWK 4\n" \ +"#SHELL_HAVE_PERL 8\n" \ +"#SHELL_HAVE_LSQ 16\n" \ +"#SHELL_HAVE_DATE_MDYT 32\n" \ +"#SHELL_HAVE_TAIL 64\n" \ +"res=0\n" \ +"if `echo yes| head -c 1 > /dev/null 2>&1` ; then\n" \ +" res=`expr $res + 1`\n" \ +"fi\n" \ +"if `sed --version >/dev/null 2>&1` ; then\n" \ +" res=`expr $res + 2`\n" \ +"fi\n" \ +"if `awk --version > /dev/null 2>&1` ; then\n" \ +" res=`expr $res + 4`\n" \ +"fi\n" \ +"if `perl -v > /dev/null 2>&1` ; then\n" \ +" res=`expr $res + 8`\n" \ +"fi\n" \ +"if `ls -Q / >/dev/null 2>&1` ; then\n" \ +" res=`expr $res + 16`\n" \ +"fi\n" \ +"dat=`ls -lan / 2>/dev/null | head -n 3 | tail -n 1 | (\n" \ +" while read p l u g s rec; do\n" \ +" if [ -n \"$g\" ]; then\n" \ +" if [ -n \"$l\" ]; then\n" \ +" echo \"$rec\"\n" \ +" fi\n" \ +" fi\n" \ +" done\n" \ +") | cut -c1 2>/dev/null`\n" \ +"r=`echo \"0123456789\"| grep \"$dat\"`\n" \ +"if [ -z \"$r\" ]; then\n" \ +" res=`expr $res + 32`\n" \ +"fi\n" \ +"if `echo yes| tail -c +1 - > /dev/null 2>&1` ; then\n" \ +" res=`expr $res + 64`\n" \ +"fi\n" \ +"echo $res\n" \ +"echo \"### 200\"\n" + +/*** enums ***************************************************************************************/ + +/*** structures declarations (and typedefs of structures)*****************************************/ + +/*** global variables defined in .c file *********************************************************/ + +/*** declarations of public functions ************************************************************/ + +/*** inline functions ****************************************************************************/ + +#endif /* MC__VFS_SHELL_DEF_H */ diff -Nru mc-4.8.30/src/vfs/tar/Makefile.in mc-4.8.31/src/vfs/tar/Makefile.in --- mc-4.8.30/src/vfs/tar/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/src/vfs/tar/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/src/vfs/tar/tar-internal.c mc-4.8.31/src/vfs/tar/tar-internal.c --- mc-4.8.30/src/vfs/tar/tar-internal.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/tar/tar-internal.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Virtual File System: GNU Tar file system. - Copyright (C) 2023 + Copyright (C) 2023-2024 Free Software Foundation, Inc. Written by: @@ -32,7 +32,6 @@ #include -#include /* isspace() */ #include /* uintmax_t */ #include /* UINTMAX_MAX, etc */ @@ -184,6 +183,14 @@ /*** public functions ****************************************************************************/ /* --------------------------------------------------------------------------------------------- */ +gboolean +is_octal_digit (char c) +{ + return '0' <= c && c <= '7'; +} + +/* --------------------------------------------------------------------------------------------- */ + void tar_base64_init (void) { @@ -262,13 +269,13 @@ if (where == lim) return (-1); - if (!isspace ((unsigned char) *where)) + if (!g_ascii_isspace (*where)) break; where++; } - if (isodigit (*where)) + if (is_octal_digit (*where)) { char const *where1 = where; gboolean overflow = FALSE; @@ -276,7 +283,7 @@ while (TRUE) { value += *where++ - '0'; - if (where == lim || !isodigit (*where)) + if (where == lim || !is_octal_digit (*where)) break; overflow |= value != (value << LG_8 >> LG_8); value <<= LG_8; @@ -301,7 +308,7 @@ { value += 7 - digit; where++; - if (where == lim || !isodigit (*where)) + if (where == lim || !is_octal_digit (*where)) break; digit = *where - '0'; overflow |= value != (value << LG_8 >> LG_8); @@ -373,7 +380,7 @@ value = -value; } - if (where != lim && *where != '\0' && !isspace ((unsigned char) *where)) + if (where != lim && *where != '\0' && !g_ascii_isspace (*where)) return (-1); if (value <= (negative ? minus_minval : maxval)) diff -Nru mc-4.8.30/src/vfs/tar/tar-internal.h mc-4.8.31/src/vfs/tar/tar-internal.h --- mc-4.8.30/src/vfs/tar/tar-internal.h 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/tar/tar-internal.h 2024-01-20 19:34:38.000000000 +0000 @@ -65,8 +65,6 @@ #define OFF_FROM_HEADER(where) off_from_header (where, sizeof (where)) -#define isodigit(c) ( ((c) >= '0') && ((c) <= '7') ) - /*** enums ***************************************************************************************/ /*** structures declarations (and typedefs of structures)*****************************************/ @@ -302,6 +300,7 @@ /*** declarations of public functions ************************************************************/ /* tar-internal.c */ +gboolean is_octal_digit (char c); void tar_base64_init (void); void tar_assign_string (char **string, char *value); void tar_assign_string_dup (char **string, const char *value); diff -Nru mc-4.8.30/src/vfs/tar/tar-sparse.c mc-4.8.31/src/vfs/tar/tar-sparse.c --- mc-4.8.30/src/vfs/tar/tar-sparse.c 2023-08-13 18:39:18.000000000 +0000 +++ mc-4.8.31/src/vfs/tar/tar-sparse.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Virtual File System: GNU Tar file system. - Copyright (C) 2003-2023 + Copyright (C) 2003-2024 Free Software Foundation, Inc. Written by: @@ -547,8 +547,8 @@ { size_t i; union block *h = current_header; - int ext_p; - enum oldgnu_add_status rc; + gboolean ext_p; + enum oldgnu_add_status rc = add_fail; if (file->stat_info->sparse_map != NULL) g_array_set_size (file->stat_info->sparse_map, 0); @@ -560,8 +560,8 @@ break; } - for (ext_p = h->oldgnu_header.isextended ? 1 : 0; rc == add_ok && ext_p != 0; - ext_p = h->sparse_header.isextended ? 1 : 0) + for (ext_p = h->oldgnu_header.isextended != 0; rc == add_ok && ext_p; + ext_p = h->sparse_header.isextended != 0) { h = tar_find_next_block (archive); if (h == NULL) @@ -612,7 +612,7 @@ { size_t i; union block *h = current_header; - int ext_p = 1; + gboolean ext_p = TRUE; enum oldgnu_add_status rc = add_ok; if (file->stat_info->sparse_map != NULL) @@ -628,10 +628,10 @@ break; } - ext_p = h->star_in_header.isextended ? 1 : 0; + ext_p = h->star_in_header.isextended != 0; } - for (; rc == add_ok && ext_p != 0; ext_p = h->star_ext_header.isextended ? 1 : 0) + for (; rc == add_ok && ext_p; ext_p = h->star_ext_header.isextended != 0) { h = tar_find_next_block (archive); if (h == NULL) diff -Nru mc-4.8.30/src/vfs/tar/tar-xheader.c mc-4.8.31/src/vfs/tar/tar-xheader.c --- mc-4.8.30/src/vfs/tar/tar-xheader.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/tar/tar-xheader.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Virtual File System: GNU Tar file system. - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/vfs/tar/tar.c mc-4.8.31/src/vfs/tar/tar.c --- mc-4.8.30/src/vfs/tar/tar.c 2023-08-13 18:39:18.000000000 +0000 +++ mc-4.8.31/src/vfs/tar/tar.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Virtual File System: GNU Tar file system. - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: @@ -87,6 +87,8 @@ #define XGLTYPE 'g' /* Global extended header */ /* Values used in typeflag field. */ +#define REGTYPE '0' /* regular file */ +#define AREGTYPE '\0' /* regular file */ #define LNKTYPE '1' /* link */ #define SYMTYPE '2' /* symbolic link */ #define CHRTYPE '3' /* character special */ @@ -123,7 +125,6 @@ #define MODE_FROM_HEADER(where,hbits) mode_from_header (where, sizeof (where), hbits) #define TIME_FROM_HEADER(where) time_from_header (where, sizeof (where)) #define UID_FROM_HEADER(where) uid_from_header (where, sizeof (where)) -#define UINTMAX_FROM_HEADER(where) uintmax_from_header (where, sizeof (where)) /*** file scope type declarations ****************************************************************/ @@ -247,14 +248,6 @@ /* --------------------------------------------------------------------------------------------- */ -static inline uintmax_t -uintmax_from_header (const char *p, size_t s) -{ - return tar_from_header (p, s, "uintmax_t", 0, UINTMAX_MAX, FALSE); -} - -/* --------------------------------------------------------------------------------------------- */ - static void tar_calc_sparse_offsets (struct vfs_s_inode *inode) { @@ -304,7 +297,7 @@ } else if (save_typeflag != DIRTYPE) { - if (inode != NULL) + if (inode != NULL && (save_typeflag == REGTYPE || save_typeflag == AREGTYPE)) inode->data_offset = BLOCKSIZE * tar_current_block_ordinal (archive); return tar_skip_file (archive, current_stat_info.stat.st_size); @@ -390,8 +383,10 @@ { if (strcmp (header->header.magic, TMAGIC) == 0) { - if (header->star_header.prefix[130] == 0 && isodigit (header->star_header.atime[0]) - && header->star_header.atime[11] == ' ' && isodigit (header->star_header.ctime[0]) + if (header->star_header.prefix[130] == 0 + && is_octal_digit (header->star_header.atime[0]) + && header->star_header.atime[11] == ' ' + && is_octal_digit (header->star_header.ctime[0]) && header->star_header.ctime[11] == ' ') arch->type = TAR_STAR; else if (current_stat_info.xhdr.buffer != NULL) @@ -588,7 +583,6 @@ (*inode)->st.st_mtime = current_stat_info.mtime.tv_sec; (*inode)->st.st_atime = current_stat_info.atime.tv_sec; (*inode)->st.st_ctime = current_stat_info.ctime.tv_sec; - (*inode)->data_offset = BLOCKSIZE * tar_current_block_ordinal (TAR_SUPER (archive)); if (link_name != NULL && *link_name != '\0') (*inode)->linkname = g_strdup (link_name); diff -Nru mc-4.8.30/src/vfs/undelfs/Makefile.in mc-4.8.31/src/vfs/undelfs/Makefile.in --- mc-4.8.30/src/vfs/undelfs/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/src/vfs/undelfs/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/src/vfs/undelfs/undelfs.c mc-4.8.31/src/vfs/undelfs/undelfs.c --- mc-4.8.30/src/vfs/undelfs/undelfs.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/vfs/undelfs/undelfs.c 2024-01-20 19:34:38.000000000 +0000 @@ -7,7 +7,7 @@ Parts of this program were taken from the lsdel.c and dump.c files written by Ted Ts'o (tytso@mit.edu) for the ext2fs package. - Copyright (C) 1995-2023 + Copyright (C) 1995-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/viewer/Makefile.in mc-4.8.31/src/viewer/Makefile.in --- mc-4.8.30/src/viewer/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/src/viewer/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -134,7 +134,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/src/viewer/actions_cmd.c mc-4.8.31/src/viewer/actions_cmd.c --- mc-4.8.30/src/viewer/actions_cmd.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/viewer/actions_cmd.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Callback function for some actions (hotkeys, menu) - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: @@ -57,13 +57,13 @@ #include "lib/charsets.h" #endif #include "lib/event.h" /* mc_event_raise() */ -#include "lib/mcconfig.h" /* mc_config_history_get() */ +#include "lib/mcconfig.h" /* mc_config_history_get_recent_item() */ #include "src/filemanager/layout.h" #include "src/filemanager/filemanager.h" /* current_panel */ #include "src/filemanager/ext.h" /* regex_command_for() */ -#include "src/history.h" +#include "src/history.h" /* MC_HISTORY_SHARED_SEARCH */ #include "src/file_history.h" /* show_file_history() */ #include "src/execute.h" #include "src/keymap.h" @@ -139,16 +139,12 @@ else { /* find last search string in history */ - GList *history; + char *s; - history = mc_config_history_get (MC_HISTORY_SHARED_SEARCH); - if (history != NULL) + s = mc_config_history_get_recent_item (MC_HISTORY_SHARED_SEARCH); + if (s != NULL) { - /* FIXME: is it possible that history->data == NULL? */ - view->last_search_string = (gchar *) history->data; - history->data = NULL; - history = g_list_first (history); - g_list_free_full (history, g_free); + view->last_search_string = s; if (mcview_search_init (view)) { @@ -405,12 +401,6 @@ switch (command) { - case CK_Help: - { - ev_help_t event_data = { NULL, "[Internal File Viewer]" }; - mc_event_raise (MCEVENT_GROUP_CORE, "help", &event_data); - } - break; case CK_HexMode: /* Toggle between hex view and text view */ mcview_toggle_hex_mode (view); diff -Nru mc-4.8.30/src/viewer/ascii.c mc-4.8.31/src/viewer/ascii.c --- mc-4.8.30/src/viewer/ascii.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/viewer/ascii.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Function for plain view - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/viewer/coord_cache.c mc-4.8.31/src/viewer/coord_cache.c --- mc-4.8.30/src/viewer/coord_cache.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/viewer/coord_cache.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Function for work with coordinate cache (ccache) - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/viewer/datasource.c mc-4.8.31/src/viewer/datasource.c --- mc-4.8.30/src/viewer/datasource.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/viewer/datasource.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Functions for datasources - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/viewer/dialogs.c mc-4.8.31/src/viewer/dialogs.c --- mc-4.8.30/src/viewer/dialogs.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/viewer/dialogs.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Function for paint dialogs - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/viewer/display.c mc-4.8.31/src/viewer/display.c --- mc-4.8.30/src/viewer/display.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/viewer/display.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Function for whow info on display - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/viewer/growbuf.c mc-4.8.31/src/viewer/growbuf.c --- mc-4.8.30/src/viewer/growbuf.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/viewer/growbuf.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Function for work with growing buffers - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/viewer/hex.c mc-4.8.31/src/viewer/hex.c --- mc-4.8.30/src/viewer/hex.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/viewer/hex.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Function for hex view - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/viewer/lib.c mc-4.8.31/src/viewer/lib.c --- mc-4.8.30/src/viewer/lib.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/viewer/lib.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Common finctions (used from some other mcviewer functions) - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/viewer/mcviewer.c mc-4.8.31/src/viewer/mcviewer.c --- mc-4.8.30/src/viewer/mcviewer.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/viewer/mcviewer.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Interface functions - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc Written by: diff -Nru mc-4.8.30/src/viewer/move.c mc-4.8.31/src/viewer/move.c --- mc-4.8.30/src/viewer/move.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/viewer/move.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Functions for handle cursor movement - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/viewer/nroff.c mc-4.8.31/src/viewer/nroff.c --- mc-4.8.30/src/viewer/nroff.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/viewer/nroff.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Functions for searching in nroff-like view - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/src/viewer/search.c mc-4.8.31/src/viewer/search.c --- mc-4.8.30/src/viewer/search.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/src/viewer/search.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ Internal file viewer for the Midnight Commander Function for search data - Copyright (C) 1994-2023 + Copyright (C) 1994-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/Makefile.in mc-4.8.31/tests/Makefile.in --- mc-4.8.30/tests/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/tests/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -133,7 +133,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/tests/lib/Makefile.in mc-4.8.31/tests/lib/Makefile.in --- mc-4.8.30/tests/lib/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/tests/lib/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -145,7 +145,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/tests/lib/library_independ.c mc-4.8.31/tests/lib/library_independ.c --- mc-4.8.30/tests/lib/library_independ.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/library_independ.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* libmc - check if library is independent to $(topsrc)/src directory - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/mc_build_filename.c mc-4.8.31/tests/lib/mc_build_filename.c --- mc-4.8.30/tests/lib/mc_build_filename.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/mc_build_filename.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib - mc_build_filename() function testing - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/mc_realpath.c mc-4.8.31/tests/lib/mc_realpath.c --- mc-4.8.30/tests/lib/mc_realpath.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/mc_realpath.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib - realpath - Copyright (C) 2017-2023 + Copyright (C) 2017-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/mcconfig/Makefile.in mc-4.8.31/tests/lib/mcconfig/Makefile.in --- mc-4.8.30/tests/lib/mcconfig/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/tests/lib/mcconfig/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -138,7 +138,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/tests/lib/mcconfig/config_string.c mc-4.8.31/tests/lib/mcconfig/config_string.c --- mc-4.8.30/tests/lib/mcconfig/config_string.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/mcconfig/config_string.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* libmc - check mcconfig submodule. read and write config files - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/mcconfig/user_configs_path.c mc-4.8.31/tests/lib/mcconfig/user_configs_path.c --- mc-4.8.30/tests/lib/mcconfig/user_configs_path.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/mcconfig/user_configs_path.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* libmc - check mcconfig submodule. Get full paths to user's config files. - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: @@ -118,7 +118,7 @@ }, { /* 10. */ CONF_DATA, - FISH_PREFIX + VFS_SHELL_PREFIX }, { /* 11. */ CONF_DATA, diff -Nru mc-4.8.30/tests/lib/name_quote.c mc-4.8.31/tests/lib/name_quote.c --- mc-4.8.30/tests/lib/name_quote.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/name_quote.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib - Quote file names - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: @@ -91,6 +91,8 @@ const char *expected_string; } data_source2[] = { + {NULL, NULL}, + {"", NULL}, {"-", "./-"}, {"blabla-", "blabla-"}, {"\r\n\t", "\\\r\\\n\\\t"}, diff -Nru mc-4.8.30/tests/lib/search/Makefile.in mc-4.8.31/tests/lib/search/Makefile.in --- mc-4.8.30/tests/lib/search/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/tests/lib/search/Makefile.in 2024-01-27 08:25:18.000000000 +0000 @@ -140,7 +140,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/tests/lib/search/glob_prepare_replace_str.c mc-4.8.31/tests/lib/search/glob_prepare_replace_str.c --- mc-4.8.30/tests/lib/search/glob_prepare_replace_str.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/search/glob_prepare_replace_str.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* libmc - checks for processing esc sequences in replace string - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: @@ -77,7 +77,7 @@ /* when */ mc_search_run (s, data->input_value, 0, strlen (data->input_value), NULL); - dest_str = mc_search_prepare_replace_str2 (s, (char *) data->replace_str); + dest_str = mc_search_prepare_replace_str2 (s, data->replace_str); /* then */ mctest_assert_str_eq (dest_str, data->expected_result); diff -Nru mc-4.8.30/tests/lib/search/glob_translate_to_regex.c mc-4.8.31/tests/lib/search/glob_translate_to_regex.c --- mc-4.8.30/tests/lib/search/glob_translate_to_regex.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/search/glob_translate_to_regex.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* libmc - checks for processing esc sequences in replace string - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/search/hex_translate_to_regex.c mc-4.8.31/tests/lib/search/hex_translate_to_regex.c --- mc-4.8.30/tests/lib/search/hex_translate_to_regex.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/search/hex_translate_to_regex.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* libmc - checks for hex pattern parsing - Copyright (C) 2017-2023 + Copyright (C) 2017-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff -Nru mc-4.8.30/tests/lib/search/regex_process_escape_sequence.c mc-4.8.31/tests/lib/search/regex_process_escape_sequence.c --- mc-4.8.30/tests/lib/search/regex_process_escape_sequence.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/search/regex_process_escape_sequence.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* libmc - checks for processing esc sequences in replace string - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/search/regex_replace_esc_seq.c mc-4.8.31/tests/lib/search/regex_replace_esc_seq.c --- mc-4.8.30/tests/lib/search/regex_replace_esc_seq.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/search/regex_replace_esc_seq.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* libmc - checks for processing esc sequences in replace string - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/search/translate_replace_glob_to_regex.c mc-4.8.31/tests/lib/search/translate_replace_glob_to_regex.c --- mc-4.8.30/tests/lib/search/translate_replace_glob_to_regex.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/search/translate_replace_glob_to_regex.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* libmc - checks for processing esc sequences in replace string - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/serialize.c mc-4.8.31/tests/lib/serialize.c --- mc-4.8.30/tests/lib/serialize.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/serialize.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib - common serialize/deserialize functions - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/strutil/Makefile.in mc-4.8.31/tests/lib/strutil/Makefile.in --- mc-4.8.30/tests/lib/strutil/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/tests/lib/strutil/Makefile.in 2024-01-27 08:25:19.000000000 +0000 @@ -137,7 +137,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/tests/lib/strutil/filevercmp.c mc-4.8.31/tests/lib/strutil/filevercmp.c --- mc-4.8.30/tests/lib/strutil/filevercmp.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/strutil/filevercmp.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib/strutil - tests for lib/strutil/fileverscmp function. - Copyright (C) 2019-2023 + Copyright (C) 2019-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/strutil/parse_integer.c mc-4.8.31/tests/lib/strutil/parse_integer.c --- mc-4.8.30/tests/lib/strutil/parse_integer.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/strutil/parse_integer.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib/strutil - tests for lib/strutil/parse_integer function. - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/strutil/str_replace_all.c mc-4.8.31/tests/lib/strutil/str_replace_all.c --- mc-4.8.30/tests/lib/strutil/str_replace_all.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/strutil/str_replace_all.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib/strutil - tests for lib/strutil/replace.c:str_replace_all() function. - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/strutil/str_verscmp.c mc-4.8.31/tests/lib/strutil/str_verscmp.c --- mc-4.8.30/tests/lib/strutil/str_verscmp.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/strutil/str_verscmp.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ lib/strutil - tests for lib/strutil/str_verscmp function. Testcases are taken from Gnulib. - Copyright (C) 2019-2023 + Copyright (C) 2019-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/utilunix__mc_pstream_get_string.c mc-4.8.31/tests/lib/utilunix__mc_pstream_get_string.c --- mc-4.8.30/tests/lib/utilunix__mc_pstream_get_string.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/utilunix__mc_pstream_get_string.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib - Read string from mc_pipe_stream - Copyright (C) 2021-2023 + Copyright (C) 2021-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/utilunix__my_system-common.c mc-4.8.31/tests/lib/utilunix__my_system-common.c --- mc-4.8.30/tests/lib/utilunix__my_system-common.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/utilunix__my_system-common.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib - common code for testing lib/utilinux:my_system() function - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/utilunix__my_system-fork_child.c mc-4.8.31/tests/lib/utilunix__my_system-fork_child.c --- mc-4.8.30/tests/lib/utilunix__my_system-fork_child.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/utilunix__my_system-fork_child.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib - tests lib/utilinux:my_system() function - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/utilunix__my_system-fork_child_shell.c mc-4.8.31/tests/lib/utilunix__my_system-fork_child_shell.c --- mc-4.8.30/tests/lib/utilunix__my_system-fork_child_shell.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/utilunix__my_system-fork_child_shell.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib - tests lib/utilinux:my_system() function - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/utilunix__my_system-fork_fail.c mc-4.8.31/tests/lib/utilunix__my_system-fork_fail.c --- mc-4.8.30/tests/lib/utilunix__my_system-fork_fail.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/utilunix__my_system-fork_fail.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib - tests lib/utilinux:my_system() function - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/vfs/Makefile.in mc-4.8.31/tests/lib/vfs/Makefile.in --- mc-4.8.30/tests/lib/vfs/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/tests/lib/vfs/Makefile.in 2024-01-27 08:25:19.000000000 +0000 @@ -148,7 +148,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/tests/lib/vfs/canonicalize_pathname.c mc-4.8.31/tests/lib/vfs/canonicalize_pathname.c --- mc-4.8.30/tests/lib/vfs/canonicalize_pathname.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/vfs/canonicalize_pathname.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib - canonicalize path - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/vfs/current_dir.c mc-4.8.31/tests/lib/vfs/current_dir.c --- mc-4.8.30/tests/lib/vfs/current_dir.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/vfs/current_dir.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib/vfs - manipulate with current directory - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/vfs/path_cmp.c mc-4.8.31/tests/lib/vfs/path_cmp.c --- mc-4.8.30/tests/lib/vfs/path_cmp.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/vfs/path_cmp.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,6 +1,6 @@ /* lib/vfs - vfs_path_t compare functions - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/vfs/path_len.c mc-4.8.31/tests/lib/vfs/path_len.c --- mc-4.8.30/tests/lib/vfs/path_len.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/vfs/path_len.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,6 +1,6 @@ /* lib/vfs - tests for vfspath_len() function. - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/vfs/path_manipulations.c mc-4.8.31/tests/lib/vfs/path_manipulations.c --- mc-4.8.30/tests/lib/vfs/path_manipulations.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/vfs/path_manipulations.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,6 +1,6 @@ /* lib/vfs - test vfs_path_t manipulation functions - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/vfs/path_recode.c mc-4.8.31/tests/lib/vfs/path_recode.c --- mc-4.8.30/tests/lib/vfs/path_recode.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/vfs/path_recode.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib/vfs - vfs_path_t charset recode functions - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/vfs/path_serialize.c mc-4.8.31/tests/lib/vfs/path_serialize.c --- mc-4.8.30/tests/lib/vfs/path_serialize.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/vfs/path_serialize.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib/vfs - vfs_path_t serialize/deserialize functions - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/vfs/relative_cd.c mc-4.8.31/tests/lib/vfs/relative_cd.c --- mc-4.8.30/tests/lib/vfs/relative_cd.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/vfs/relative_cd.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,6 +1,6 @@ /* lib/vfs - test vfs_path_t manipulation functions - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/vfs/tempdir.c mc-4.8.31/tests/lib/vfs/tempdir.c --- mc-4.8.30/tests/lib/vfs/tempdir.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/vfs/tempdir.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib/vfs - manipulations with temp files and dirs - Copyright (C) 2012-2023 + Copyright (C) 2012-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/vfs/vfs_adjust_stat.c mc-4.8.31/tests/lib/vfs/vfs_adjust_stat.c --- mc-4.8.30/tests/lib/vfs/vfs_adjust_stat.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/vfs/vfs_adjust_stat.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib/vfs - test vfs_adjust_stat() functionality - Copyright (C) 2017-2023 + Copyright (C) 2017-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/vfs/vfs_get_encoding.c mc-4.8.31/tests/lib/vfs/vfs_get_encoding.c --- mc-4.8.30/tests/lib/vfs/vfs_get_encoding.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/vfs/vfs_get_encoding.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib/vfs - test vfs_get_encoding() functionality - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/vfs/vfs_parse_ls_lga.c mc-4.8.31/tests/lib/vfs/vfs_parse_ls_lga.c --- mc-4.8.30/tests/lib/vfs/vfs_parse_ls_lga.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/vfs/vfs_parse_ls_lga.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib/vfs - test vfs_parse_ls_lga() functionality - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/vfs/vfs_path_from_str_flags.c mc-4.8.31/tests/lib/vfs/vfs_path_from_str_flags.c --- mc-4.8.30/tests/lib/vfs/vfs_path_from_str_flags.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/vfs/vfs_path_from_str_flags.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,6 +1,6 @@ /* lib/vfs - test vfs_path_from_str_flags() function - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/vfs/vfs_path_string_convert.c mc-4.8.31/tests/lib/vfs/vfs_path_string_convert.c --- mc-4.8.30/tests/lib/vfs/vfs_path_string_convert.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/vfs/vfs_path_string_convert.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib/vfs - get vfs_path_t from string - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/vfs/vfs_prefix_to_class.c mc-4.8.31/tests/lib/vfs/vfs_prefix_to_class.c --- mc-4.8.30/tests/lib/vfs/vfs_prefix_to_class.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/vfs/vfs_prefix_to_class.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib/vfs - test vfs_prefix_to_class() functionality - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/vfs/vfs_s_get_path.c mc-4.8.31/tests/lib/vfs/vfs_s_get_path.c --- mc-4.8.30/tests/lib/vfs/vfs_s_get_path.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/vfs/vfs_s_get_path.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib/vfs - test vfs_s_get_path() function - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/vfs/vfs_setup_cwd.c mc-4.8.31/tests/lib/vfs/vfs_setup_cwd.c --- mc-4.8.30/tests/lib/vfs/vfs_setup_cwd.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/vfs/vfs_setup_cwd.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib/vfs - test vfs_setup_cwd() functionality - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/vfs/vfs_split.c mc-4.8.31/tests/lib/vfs/vfs_split.c --- mc-4.8.30/tests/lib/vfs/vfs_split.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/vfs/vfs_split.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib/vfs - test vfs_split() functionality - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/widget/Makefile.in mc-4.8.31/tests/lib/widget/Makefile.in --- mc-4.8.30/tests/lib/widget/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/tests/lib/widget/Makefile.in 2024-01-27 08:25:19.000000000 +0000 @@ -138,7 +138,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/tests/lib/widget/complete_engine.c mc-4.8.31/tests/lib/widget/complete_engine.c --- mc-4.8.30/tests/lib/widget/complete_engine.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/widget/complete_engine.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib/widget - tests for autocomplete feature - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/widget/group_init_destroy.c mc-4.8.31/tests/lib/widget/group_init_destroy.c --- mc-4.8.30/tests/lib/widget/group_init_destroy.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/widget/group_init_destroy.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* libmc - checks for initialization and deinitialization of WGroup widget - Copyright (C) 2020-2023 + Copyright (C) 2020-2024 The Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/widget/hotkey_equal.c mc-4.8.31/tests/lib/widget/hotkey_equal.c --- mc-4.8.30/tests/lib/widget/hotkey_equal.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/widget/hotkey_equal.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib/widget - tests for hotkey comparison - Copyright (C) 2019-2023 + Copyright (C) 2019-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/widget/widget_find_by_id.c mc-4.8.31/tests/lib/widget/widget_find_by_id.c --- mc-4.8.30/tests/lib/widget/widget_find_by_id.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/widget/widget_find_by_id.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* libmc - checks for search widget with requested ID - Copyright (C) 2020-2023 + Copyright (C) 2020-2024 The Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/widget/widget_make_global_local.c mc-4.8.31/tests/lib/widget/widget_make_global_local.c --- mc-4.8.30/tests/lib/widget/widget_make_global_local.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/widget/widget_make_global_local.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* libmc - checks for search widget with requested ID - Copyright (C) 2021-2023 + Copyright (C) 2021-2024 The Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/lib/x_basename.c mc-4.8.31/tests/lib/x_basename.c --- mc-4.8.30/tests/lib/x_basename.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/lib/x_basename.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* lib - x_basename() function testing - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/src/Makefile.in mc-4.8.31/tests/src/Makefile.in --- mc-4.8.30/tests/src/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/tests/src/Makefile.in 2024-01-27 08:25:19.000000000 +0000 @@ -139,7 +139,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/tests/src/editor/Makefile.in mc-4.8.31/tests/src/editor/Makefile.in --- mc-4.8.30/tests/src/editor/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/tests/src/editor/Makefile.in 2024-01-27 08:25:19.000000000 +0000 @@ -136,7 +136,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/tests/src/editor/edit_complete_word_cmd.c mc-4.8.31/tests/src/editor/edit_complete_word_cmd.c --- mc-4.8.30/tests/src/editor/edit_complete_word_cmd.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/src/editor/edit_complete_word_cmd.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* src/editor - tests for edit_complete_word_cmd() function - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/src/execute__common.c mc-4.8.31/tests/src/execute__common.c --- mc-4.8.30/tests/src/execute__common.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/src/execute__common.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* Common code for testing functions in src/execute.c file. - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. diff -Nru mc-4.8.30/tests/src/execute__execute_external_editor_or_viewer.c mc-4.8.31/tests/src/execute__execute_external_editor_or_viewer.c --- mc-4.8.30/tests/src/execute__execute_external_editor_or_viewer.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/src/execute__execute_external_editor_or_viewer.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* src - tests for execute_external_editor_or_viewer() function - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/src/execute__execute_get_external_cmd_opts_from_config.c mc-4.8.31/tests/src/execute__execute_get_external_cmd_opts_from_config.c --- mc-4.8.30/tests/src/execute__execute_get_external_cmd_opts_from_config.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/src/execute__execute_get_external_cmd_opts_from_config.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* src - tests for execute_external_editor_or_viewer() function - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/src/execute__execute_with_vfs_arg.c mc-4.8.31/tests/src/execute__execute_with_vfs_arg.c --- mc-4.8.30/tests/src/execute__execute_with_vfs_arg.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/src/execute__execute_with_vfs_arg.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* src - tests for execute_with_vfs_arg() function - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/src/filemanager/Makefile.in mc-4.8.31/tests/src/filemanager/Makefile.in --- mc-4.8.30/tests/src/filemanager/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/tests/src/filemanager/Makefile.in 2024-01-27 08:25:19.000000000 +0000 @@ -138,7 +138,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/tests/src/filemanager/cd_to.c mc-4.8.31/tests/src/filemanager/cd_to.c --- mc-4.8.30/tests/src/filemanager/cd_to.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/src/filemanager/cd_to.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* src/filemanager - tests for cd_to() function - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/src/filemanager/examine_cd.c mc-4.8.31/tests/src/filemanager/examine_cd.c --- mc-4.8.30/tests/src/filemanager/examine_cd.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/src/filemanager/examine_cd.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* src/filemanager - examine_cd() function testing - Copyright (C) 2012-2023 + Copyright (C) 2012-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/src/filemanager/exec_get_export_variables_ext.c mc-4.8.31/tests/src/filemanager/exec_get_export_variables_ext.c --- mc-4.8.30/tests/src/filemanager/exec_get_export_variables_ext.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/src/filemanager/exec_get_export_variables_ext.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* src/filemanager - filemanager functions - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/src/filemanager/filegui_is_wildcarded.c mc-4.8.31/tests/src/filemanager/filegui_is_wildcarded.c --- mc-4.8.30/tests/src/filemanager/filegui_is_wildcarded.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/src/filemanager/filegui_is_wildcarded.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* src/filemanager - tests for is_wildcarded() function - Copyright (C) 2011-2023 + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/src/filemanager/get_random_hint.c mc-4.8.31/tests/src/filemanager/get_random_hint.c --- mc-4.8.30/tests/src/filemanager/get_random_hint.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/src/filemanager/get_random_hint.c 2024-01-20 19:34:38.000000000 +0000 @@ -2,7 +2,7 @@ src/filemanager - filemanager functions. Tests for getting random hints. - Copyright (C) 2013-2023 + Copyright (C) 2013-2024 Free Software Foundation, Inc. Written by: diff -Nru mc-4.8.30/tests/src/vfs/Makefile.in mc-4.8.31/tests/src/vfs/Makefile.in --- mc-4.8.30/tests/src/vfs/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/tests/src/vfs/Makefile.in 2024-01-27 08:25:19.000000000 +0000 @@ -135,7 +135,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/tests/src/vfs/extfs/Makefile.in mc-4.8.31/tests/src/vfs/extfs/Makefile.in --- mc-4.8.30/tests/src/vfs/extfs/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/tests/src/vfs/extfs/Makefile.in 2024-01-27 08:25:19.000000000 +0000 @@ -133,7 +133,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/tests/src/vfs/extfs/helpers-list/Makefile.in mc-4.8.31/tests/src/vfs/extfs/helpers-list/Makefile.in --- mc-4.8.30/tests/src/vfs/extfs/helpers-list/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/tests/src/vfs/extfs/helpers-list/Makefile.in 2024-01-27 08:25:19.000000000 +0000 @@ -135,7 +135,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/tests/src/vfs/extfs/helpers-list/mc_parse_ls_l.c mc-4.8.31/tests/src/vfs/extfs/helpers-list/mc_parse_ls_l.c --- mc-4.8.30/tests/src/vfs/extfs/helpers-list/mc_parse_ls_l.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/src/vfs/extfs/helpers-list/mc_parse_ls_l.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,7 +1,7 @@ /* A parser for file-listings formatted like 'ls -l'. - Copyright (C) 2016-2023 + Copyright (C) 2016-2024 Free Software Foundation, Inc. This file is part of the Midnight Commander. diff -Nru mc-4.8.30/tests/src/vfs/extfs/helpers-list/misc/Makefile.in mc-4.8.31/tests/src/vfs/extfs/helpers-list/misc/Makefile.in --- mc-4.8.30/tests/src/vfs/extfs/helpers-list/misc/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/tests/src/vfs/extfs/helpers-list/misc/Makefile.in 2024-01-27 08:25:19.000000000 +0000 @@ -133,7 +133,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/tests/src/vfs/ftpfs/Makefile.in mc-4.8.31/tests/src/vfs/ftpfs/Makefile.in --- mc-4.8.30/tests/src/vfs/ftpfs/Makefile.in 2023-08-13 19:07:03.000000000 +0000 +++ mc-4.8.31/tests/src/vfs/ftpfs/Makefile.in 2024-01-27 08:25:19.000000000 +0000 @@ -136,7 +136,7 @@ $(top_srcdir)/m4.include/vfs/mc-vfs-sfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-ftp.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-sftp.m4 \ - $(top_srcdir)/m4.include/vfs/mc-vfs-fish.m4 \ + $(top_srcdir)/m4.include/vfs/mc-vfs-shell.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-undelfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-tarfs.m4 \ $(top_srcdir)/m4.include/vfs/mc-vfs-cpiofs.m4 \ diff -Nru mc-4.8.30/tests/src/vfs/ftpfs/ftpfs_parse_long_list.c mc-4.8.31/tests/src/vfs/ftpfs/ftpfs_parse_long_list.c --- mc-4.8.30/tests/src/vfs/ftpfs/ftpfs_parse_long_list.c 2023-08-06 13:26:05.000000000 +0000 +++ mc-4.8.31/tests/src/vfs/ftpfs/ftpfs_parse_long_list.c 2024-01-20 19:34:38.000000000 +0000 @@ -1,6 +1,6 @@ /* src/vfs/ftpfs - tests for ftpfs_parse_long_list() function. - Copyright (C) 2021-2023 + Copyright (C) 2021-2024 Free Software Foundation, Inc. Written by: