Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package vifm for openSUSE:Factory checked in 
at 2025-06-05 20:34:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vifm (Old)
 and      /work/SRC/openSUSE:Factory/.vifm.new.19631 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "vifm"

Thu Jun  5 20:34:46 2025 rev:20 rq:1282943 version:0.14.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/vifm/vifm.changes        2025-05-08 
18:25:58.234957992 +0200
+++ /work/SRC/openSUSE:Factory/.vifm.new.19631/vifm.changes     2025-06-05 
20:37:23.440906089 +0200
@@ -1,0 +2,19 @@
+Thu Jun  5 05:03:04 UTC 2025 - Michael Vetter <mvet...@suse.com>
+
+- Update to 0.14.3:
+  Documentation:
+  * Improved documentation on the use of registers.
+  Menus and dialogs:
+  * Say primary instead of default in the title of :colorscheme menu.
+  Other changes:
+  * Provided more details on file handlers and viewers in sample vifmrc files.
+  Fixes:
+  * Fixed picking trash directory when rooted trash is included in 'trashdir'
+    and root is writable.  Regression in v0.14.2 (unfortunately, testing this
+    automatically is problematic).
+  * Fixed unlimited growth of directory histories when 'history' is set to its
+    default value or not set at all in vifmrc.
+  * Fixed abort due to assertion on displaying a statusbar message with a
+    newline when 'shortmess' includes T.
+
+-------------------------------------------------------------------

Old:
----
  vifm-0.14.2.tar.bz2
  vifm-0.14.2.tar.bz2.asc

New:
----
  vifm-0.14.3.tar.bz2
  vifm-0.14.3.tar.bz2.asc

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ vifm.spec ++++++
--- /var/tmp/diff_new_pack.FRkVkY/_old  2025-06-05 20:37:24.092933200 +0200
+++ /var/tmp/diff_new_pack.FRkVkY/_new  2025-06-05 20:37:24.096933366 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           vifm
-Version:        0.14.2
+Version:        0.14.3
 Release:        0
 Summary:        Ncurses based file manager with vi like keybindings
 License:        GPL-2.0-or-later

++++++ vifm-0.14.2.tar.bz2 -> vifm-0.14.3.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/ChangeLog new/vifm-0.14.3/ChangeLog
--- old/vifm-0.14.2/ChangeLog   2025-05-07 14:48:03.000000000 +0200
+++ new/vifm-0.14.3/ChangeLog   2025-06-04 10:28:10.000000000 +0200
@@ -1,4 +1,21 @@
-0.14.1 to latest
+0.14.2 to 0.14.3 (2025-06-04)
+
+       Provided more details on file handlers and viewers in sample vifmrc 
files.
+
+       Say "primary" instead of "default" in the title of :colorscheme menu.
+
+       Improved documentation on the use registers.  Thanks to aleksejrs.
+
+       Fixed picking trash directory when rooted trash is included in 
'trashdir'
+       and root is writable.  Regression in v0.14.2.
+
+       Fixed unlimited growth of directory histories when 'history' is set to 
its
+       default value or not set at all in vifmrc.  Thanks to zoj613.
+
+       Fixed abort due to assertion on displaying a statusbar message with a
+       newline when 'shortmess' includes "T".  Thanks to agguser.
+
+0.14.1 to 0.14.2 (2025-05-07)
 
        Fixed build issue with musl due to use of non-standard LONG_LONG_MAX.
        Thanks to NRK.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/Makefile.in new/vifm-0.14.3/Makefile.in
--- old/vifm-0.14.2/Makefile.in 2025-05-07 14:48:05.000000000 +0200
+++ new/vifm-0.14.3/Makefile.in 2025-06-04 10:28:12.000000000 +0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.17 from Makefile.am.
+# Makefile.in generated by automake 1.18 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2024 Free Software Foundation, Inc.
+# Copyright (C) 1994-2025 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -490,6 +490,7 @@
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
        -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
+
 distdir: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) distdir-am
 
@@ -567,6 +568,10 @@
        tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c 
>$(distdir).tar.bz2
        $(am__post_remove_distdir)
 
+dist-bzip3: distdir
+       tardir=$(distdir) && $(am__tar) | bzip3 -c >$(distdir).tar.bz3
+       $(am__post_remove_distdir)
+
 dist-lzip: distdir
        tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} 
>$(distdir).tar.lz
        $(am__post_remove_distdir)
@@ -611,6 +616,8 @@
          eval GZIP= gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
        *.tar.bz2*) \
          bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+       *.tar.bz3*) \
+         bzip3 -dc $(distdir).tar.bz3 | $(am__untar) ;;\
        *.tar.lz*) \
          lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
        *.tar.xz*) \
@@ -799,18 +806,19 @@
 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
        am--refresh check check-am clean clean-cscope clean-generic \
        cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
-       dist-gzip dist-hook dist-lzip dist-shar dist-tarZ dist-xz \
-       dist-zip dist-zstd distcheck distclean distclean-generic \
-       distclean-hdr distclean-tags distcleancheck distdir \
-       distuninstallcheck 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-generic mostlyclean-local pdf pdf-am \
-       ps ps-am tags tags-am uninstall uninstall-am
+       dist-bzip3 dist-gzip dist-hook dist-lzip dist-shar dist-tarZ \
+       dist-xz dist-zip dist-zstd distcheck distclean \
+       distclean-generic distclean-hdr distclean-tags distcleancheck \
+       distdir distuninstallcheck 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-generic \
+       mostlyclean-local pdf pdf-am ps ps-am tags tags-am uninstall \
+       uninstall-am
 
 .PRECIOUS: Makefile
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/NEWS new/vifm-0.14.3/NEWS
--- old/vifm-0.14.2/NEWS        2025-05-07 14:48:03.000000000 +0200
+++ new/vifm-0.14.3/NEWS        2025-06-04 10:28:10.000000000 +0200
@@ -1,3 +1,35 @@
+04 June 2025
+============
+
+Vifm v0.14.3
+------------
+
+Thanks for the bug reports.  The 'trashdir' saga continues, sorry for the
+inconveniences.
+
+Documentation:
+ - Improved documentation on the use of registers.  Thanks to aleksejrs.
+
+Menus and dialogs:
+ - Say "primary" instead of "default" in the title of :colorscheme menu.
+
+Other changes:
+ - Provided more details on file handlers and viewers in sample vifmrc files.
+
+Fixes:
+ - Fixed picking trash directory when rooted trash is included in 'trashdir'
+   and root is writable.  Regression in v0.14.2 (unfortunately, testing this
+   automatically is problematic).
+ - Fixed unlimited growth of directory histories when 'history' is set to its
+   default value or not set at all in vifmrc.  Thanks to zoj613.
+ - Fixed abort due to assertion on displaying a statusbar message with a
+   newline when 'shortmess' includes "T".  Thanks to agguser.
+
+See the ChangeLog file for the full list of changes and by whom they were
+suggested or implemented.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
 07 May 2025
 ===========
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/README new/vifm-0.14.3/README
--- old/vifm-0.14.2/README      2025-05-07 14:48:03.000000000 +0200
+++ new/vifm-0.14.3/README      2025-06-04 10:28:10.000000000 +0200
@@ -1,9 +1,9 @@
 Vifm - Vim-like file manager
 2001 - 2025
 
-Version: 0.14.2
+Version: 0.14.3
 
-This file last updated: 07 May 2025
+This file last updated: 04 June 2025
 
 Brief Description
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/THANKS new/vifm-0.14.3/THANKS
--- old/vifm-0.14.2/THANKS      2025-05-07 14:48:03.000000000 +0200
+++ new/vifm-0.14.3/THANKS      2025-06-04 10:28:10.000000000 +0200
@@ -363,6 +363,7 @@
 Yuriy Artemyev (anuvyklack)
 Yusuf Aktepe
 Zeng (Bekaboo)
+zoj613
 zpxue
 Zsolt Udvari (uzsolt)
 zsugabubus
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/aclocal.m4 new/vifm-0.14.3/aclocal.m4
--- old/vifm-0.14.2/aclocal.m4  2025-05-07 14:48:04.000000000 +0200
+++ new/vifm-0.14.3/aclocal.m4  2025-06-04 10:28:11.000000000 +0200
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.17 -*- Autoconf -*-
+# generated automatically by aclocal 1.18 -*- Autoconf -*-
 
-# Copyright (C) 1996-2024 Free Software Foundation, Inc.
+# Copyright (C) 1996-2025 Free Software Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -20,7 +20,7 @@
 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'.])])
 
-# Copyright (C) 2002-2024 Free Software Foundation, Inc.
+# Copyright (C) 2002-2025 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -32,10 +32,10 @@
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.17'
+[am__api_version='1.18'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.17], [],
+m4_if([$1], [1.18], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -51,14 +51,14 @@
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.17])dnl
+[AM_AUTOMAKE_VERSION([1.18])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001-2024 Free Software Foundation, Inc.
+# Copyright (C) 2001-2025 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -110,7 +110,7 @@
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997-2024 Free Software Foundation, Inc.
+# Copyright (C) 1997-2025 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -141,7 +141,7 @@
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999-2024 Free Software Foundation, Inc.
+# Copyright (C) 1999-2025 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -332,7 +332,7 @@
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999-2024 Free Software Foundation, Inc.
+# Copyright (C) 1999-2025 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -400,7 +400,7 @@
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996-2024 Free Software Foundation, Inc.
+# Copyright (C) 1996-2025 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -500,8 +500,9 @@
 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
 _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
-             [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
-                            [_AM_PROG_TAR([v7])])])
+  [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+    [_AM_IF_OPTION([tar-v7], [_AM_PROG_TAR([v7])],
+      [_AM_PROG_TAR([ustar])])])])
 _AM_IF_OPTION([no-dependencies],,
 [AC_PROVIDE_IFELSE([AC_PROG_CC],
                  [_AM_DEPENDENCIES([CC])],
@@ -577,7 +578,7 @@
 done
 echo "timestamp for $_am_arg" 
>`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001-2024 Free Software Foundation, Inc.
+# Copyright (C) 2001-2025 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -598,7 +599,7 @@
 fi
 AC_SUBST([install_sh])])
 
-# Copyright (C) 2003-2024 Free Software Foundation, Inc.
+# Copyright (C) 2003-2025 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -619,7 +620,7 @@
 
 # Check to see how 'make' treats includes.                 -*- Autoconf -*-
 
-# Copyright (C) 2001-2024 Free Software Foundation, Inc.
+# Copyright (C) 2001-2025 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -662,7 +663,7 @@
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997-2024 Free Software Foundation, Inc.
+# Copyright (C) 1997-2025 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -696,7 +697,7 @@
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001-2024 Free Software Foundation, Inc.
+# Copyright (C) 2001-2025 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -725,7 +726,7 @@
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
-# Copyright (C) 1999-2024 Free Software Foundation, Inc.
+# Copyright (C) 1999-2025 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -757,7 +758,10 @@
       break
     fi
   done
-  rm -f core conftest*
+  # aligned with autoconf, so not including core; see bug#72225.
+  rm -f -r a.out a.exe b.out conftest.$ac_ext conftest.$ac_objext \
+    conftest.dSYM conftest1.$ac_ext conftest1.$ac_objext conftest1.dSYM \
+    conftest2.$ac_ext conftest2.$ac_objext conftest2.dSYM
   unset am_i])
 if test "$am_cv_prog_cc_c_o" != yes; then
    # Losing compiler, so override with the script.
@@ -772,7 +776,7 @@
 # For backward compatibility.
 AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
 
-# Copyright (C) 2022-2024 Free Software Foundation, Inc.
+# Copyright (C) 2022-2025 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -788,7 +792,7 @@
 AC_SUBST(am__rm_f_notfound)
 ])
 
-# Copyright (C) 2001-2024 Free Software Foundation, Inc.
+# Copyright (C) 2001-2025 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -807,7 +811,7 @@
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996-2024 Free Software Foundation, Inc.
+# Copyright (C) 1996-2025 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -976,10 +980,12 @@
 '
 case `pwd` in
   *[[\\\"\#\$\&\'\`$am_lf]]*)
+    AC_MSG_RESULT([no])
     AC_MSG_ERROR([unsafe absolute working directory name]);;
 esac
 case $srcdir in
   *[[\\\"\#\$\&\'\`$am_lf\ \   ]]*)
+    AC_MSG_RESULT([no])
     AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
 esac
 
@@ -1032,7 +1038,7 @@
 rm -f conftest.file
 ])
 
-# Copyright (C) 2009-2024 Free Software Foundation, Inc.
+# Copyright (C) 2009-2025 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1101,9 +1107,13 @@
 # empty being verbose).
 AC_DEFUN([AM_SILENT_RULES],
 [AC_REQUIRE([_AM_SILENT_RULES])
-AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1])])
+AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1])m4_newline
+dnl We intentionally force a newline after the assignment, since a) nothing
+dnl good can come of more text following, and b) that was the behavior
+dnl before 1.17. See https://bugs.gnu.org/72267.
+])
 
-# Copyright (C) 2001-2024 Free Software Foundation, Inc.
+# Copyright (C) 2001-2025 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1131,7 +1141,7 @@
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006-2024 Free Software Foundation, Inc.
+# Copyright (C) 2006-2025 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1150,7 +1160,7 @@
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004-2024 Free Software Foundation, Inc.
+# Copyright (C) 2004-2025 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1285,7 +1295,7 @@
 AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR
 
-# Copyright (C) 2022-2024 Free Software Foundation, Inc.
+# Copyright (C) 2022-2025 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/configure new/vifm-0.14.3/configure
--- old/vifm-0.14.2/configure   2025-05-07 14:48:05.000000000 +0200
+++ new/vifm-0.14.3/configure   2025-06-04 10:28:12.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.72 for vifm 0.14.2.
+# Generated by GNU Autoconf 2.72 for vifm 0.14.3.
 #
 # Report bugs to <xai...@posteo.net>.
 #
@@ -604,8 +604,8 @@
 # Identity of this package.
 PACKAGE_NAME='vifm'
 PACKAGE_TARNAME='vifm'
-PACKAGE_VERSION='0.14.2'
-PACKAGE_STRING='vifm 0.14.2'
+PACKAGE_VERSION='0.14.3'
+PACKAGE_STRING='vifm 0.14.3'
 PACKAGE_BUGREPORT='xai...@posteo.net'
 PACKAGE_URL='https://vifm.info'
 
@@ -1342,7 +1342,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 vifm 0.14.2 to adapt to many kinds of systems.
+'configure' configures vifm 0.14.3 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1413,7 +1413,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of vifm 0.14.2:";;
+     short | recursive ) echo "Configuration of vifm 0.14.3:";;
    esac
   cat <<\_ACEOF
 
@@ -1541,7 +1541,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-vifm configure 0.14.2
+vifm configure 0.14.3
 generated by GNU Autoconf 2.72
 
 Copyright (C) 2023 Free Software Foundation, Inc.
@@ -1980,7 +1980,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by vifm $as_me 0.14.2, which was
+It was created by vifm $as_me 0.14.3, which was
 generated by GNU Autoconf 2.72.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -2758,7 +2758,7 @@
 
 
 
-am__api_version='1.17'
+am__api_version='1.18'
 
 
 
@@ -3028,10 +3028,14 @@
 '
 case `pwd` in
   *[\\\"\#\$\&\'\`$am_lf]*)
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
     as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
 esac
 case $srcdir in
   *[\\\"\#\$\&\'\`$am_lf\ \    ]*)
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
     as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
 esac
 
@@ -3458,7 +3462,7 @@
 
 # Define the identity of the package.
  PACKAGE='vifm'
- VERSION='0.14.2'
+ VERSION='0.14.3'
 
 
 printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -3496,9 +3500,133 @@
 
 
 # We'll loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar  pax cpio none'
+_am_tools='gnutar plaintar pax cpio none'
 
-am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
+# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+      # There is notably a 21 bits limit for the UID and the GID.  In fact,
+      # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+      # and bug#13588).
+      am_max_uid=2097151 # 2^21 - 1
+      am_max_gid=$am_max_uid
+      # The $UID and $GID variables are not portable, so we need to resort
+      # to the POSIX-mandated id(1) utility.  Errors in the 'id' calls
+      # below are definitely unexpected, so allow the users to see them
+      # (that is, avoid stderr redirection).
+      am_uid=`id -u || echo unknown`
+      am_gid=`id -g || echo unknown`
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether UID 
'$am_uid' is supported by ustar format" >&5
+printf %s "checking whether UID '$am_uid' is supported by ustar format... " 
>&6; }
+      if test x$am_uid = xunknown; then
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ancient id 
detected; assuming current UID is ok, but dist-ustar might not work" >&5
+printf "%s\n" "$as_me: WARNING: ancient id detected; assuming current UID is 
ok, but dist-ustar might not work" >&2;}
+      elif test $am_uid -le $am_max_uid; then
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+      else
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+        _am_tools=none
+      fi
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether GID 
'$am_gid' is supported by ustar format" >&5
+printf %s "checking whether GID '$am_gid' is supported by ustar format... " 
>&6; }
+      if test x$gm_gid = xunknown; then
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: ancient id 
detected; assuming current GID is ok, but dist-ustar might not work" >&5
+printf "%s\n" "$as_me: WARNING: ancient id detected; assuming current GID is 
ok, but dist-ustar might not work" >&2;}
+      elif test $am_gid -le $am_max_gid; then
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+      else
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+        _am_tools=none
+      fi
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to create a ustar 
tar archive" >&5
+printf %s "checking how to create a ustar tar archive... " >&6; }
+
+  # Go ahead even if we have the value already cached.  We do so because we
+  # need to set the values for the 'am__tar' and 'am__untar' variables.
+  _am_tools=${am_cv_prog_tar_ustar-$_am_tools}
+
+  for _am_tool in $_am_tools; do
+    case $_am_tool in
+    gnutar)
+      for _am_tar in tar gnutar gtar; do
+        { echo "$as_me:$LINENO: $_am_tar --version" >&5
+   ($_am_tar --version) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } && break
+      done
+      am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"'
+      am__tar_="$_am_tar --format=ustar -chf - "'"$tardir"'
+      am__untar="$_am_tar -xf -"
+      ;;
+    plaintar)
+      # Must skip GNU tar: if it does not support --format= it doesn't create
+      # ustar tarball either.
+      (tar --version) >/dev/null 2>&1 && continue
+      am__tar='tar chf - "$$tardir"'
+      am__tar_='tar chf - "$tardir"'
+      am__untar='tar xf -'
+      ;;
+    pax)
+      am__tar='pax -L -x ustar -w "$$tardir"'
+      am__tar_='pax -L -x ustar -w "$tardir"'
+      am__untar='pax -r'
+      ;;
+    cpio)
+      am__tar='find "$$tardir" -print | cpio -o -H ustar -L'
+      am__tar_='find "$tardir" -print | cpio -o -H ustar -L'
+      am__untar='cpio -i -H ustar -d'
+      ;;
+    none)
+      am__tar=false
+      am__tar_=false
+      am__untar=false
+      ;;
+    esac
+
+    # If the value was cached, stop now.  We just wanted to have am__tar
+    # and am__untar set.
+    test -n "${am_cv_prog_tar_ustar}" && break
+
+    # tar/untar a dummy directory, and stop if the command works.
+    rm -rf conftest.dir
+    mkdir conftest.dir
+    echo GrepMe > conftest.dir/file
+    { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ 
>conftest.tar" >&5
+   (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
+    rm -rf conftest.dir
+    if test -s conftest.tar; then
+      { echo "$as_me:$LINENO: $am__untar <conftest.tar" >&5
+   ($am__untar <conftest.tar) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
+      { echo "$as_me:$LINENO: cat conftest.dir/file" >&5
+   (cat conftest.dir/file) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
+      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+    fi
+  done
+  rm -rf conftest.dir
+
+  if test ${am_cv_prog_tar_ustar+y}
+then :
+  printf %s "(cached) " >&6
+else case e in #(
+  e) am_cv_prog_tar_ustar=$_am_tool ;;
+esac
+fi
+
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_ustar" 
>&5
+printf "%s\n" "$am_cv_prog_tar_ustar" >&6; }
 
 
 
@@ -3527,7 +3655,7 @@
 
 
 
-printf "%s\n" "#define VERSION_NUM 1402" >>confdefs.h
+printf "%s\n" "#define VERSION_NUM 1403" >>confdefs.h
 
 
 
@@ -4670,7 +4798,10 @@
       break
     fi
   done
-  rm -f core conftest*
+  # aligned with autoconf, so not including core; see bug#72225.
+  rm -f -r a.out a.exe b.out conftest.$ac_ext conftest.$ac_objext \
+    conftest.dSYM conftest1.$ac_ext conftest1.$ac_objext conftest1.dSYM \
+    conftest2.$ac_ext conftest2.$ac_objext conftest2.dSYM
   unset am_i ;;
 esac
 fi
@@ -5794,7 +5925,10 @@
       break
     fi
   done
-  rm -f core conftest*
+  # aligned with autoconf, so not including core; see bug#72225.
+  rm -f -r a.out a.exe b.out conftest.$ac_ext conftest.$ac_objext \
+    conftest.dSYM conftest1.$ac_ext conftest1.$ac_objext conftest1.dSYM \
+    conftest2.$ac_ext conftest2.$ac_objext conftest2.dSYM
   unset am_i ;;
 esac
 fi
@@ -5949,6 +6083,8 @@
 
 AM_DEFAULT_VERBOSITY=0
 
+
+
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -12074,7 +12210,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by vifm $as_me 0.14.2, which was
+This file was extended by vifm $as_me 0.14.3, which was
 generated by GNU Autoconf 2.72.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -12143,7 +12279,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-vifm config.status 0.14.2
+vifm config.status 0.14.3
 configured by $0, generated by GNU Autoconf 2.72,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/configure.ac new/vifm-0.14.3/configure.ac
--- old/vifm-0.14.2/configure.ac        2025-05-07 14:48:03.000000000 +0200
+++ new/vifm-0.14.3/configure.ac        2025-06-04 10:28:10.000000000 +0200
@@ -1,13 +1,13 @@
 dnl Process this file with autoconf to produce a configure script.
 
-AC_INIT([vifm],[0.14.2],[xai...@posteo.net],[vifm],[https://vifm.info])
+AC_INIT([vifm],[0.14.3],[xai...@posteo.net],[vifm],[https://vifm.info])
 AC_CONFIG_SRCDIR(src/vifm.c)
 AC_CONFIG_AUX_DIR(build-aux)
 AC_CONFIG_MACRO_DIR(build-aux/m4)
 AM_INIT_AUTOMAKE([no-dist-gzip dist-bzip2])
 AC_CONFIG_HEADERS(build-aux/config.h)
 
-AC_DEFINE([VERSION_NUM], [1402], [Program version as a comparable integer.])
+AC_DEFINE([VERSION_NUM], [1403], [Program version as a comparable integer.])
 
 AC_DEFINE([PACKAGE_SYSCONF_DIR], [], [Configuration directory of the package.])
 AC_DEFINE([PACKAGE_DATA_DIR], [], [Data directory of the package.])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/data/man/vifm-convert-dircolors.1 
new/vifm-0.14.3/data/man/vifm-convert-dircolors.1
--- old/vifm-0.14.2/data/man/vifm-convert-dircolors.1   2025-05-07 
14:48:03.000000000 +0200
+++ new/vifm-0.14.3/data/man/vifm-convert-dircolors.1   2025-06-04 
10:28:10.000000000 +0200
@@ -1,4 +1,4 @@
-.TH VIFM\-CONVERT\-DIRCOLORS 1 "07 May 2025" "vifm 0.14.2"
+.TH VIFM\-CONVERT\-DIRCOLORS 1 "04 June 2025" "vifm 0.14.3"
 .\" ---------------------------------------------------------------------------
 .SH "NAME"
 .\" ---------------------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/data/man/vifm-pause.1 
new/vifm-0.14.3/data/man/vifm-pause.1
--- old/vifm-0.14.2/data/man/vifm-pause.1       2025-05-07 14:48:03.000000000 
+0200
+++ new/vifm-0.14.3/data/man/vifm-pause.1       2025-06-04 10:28:10.000000000 
+0200
@@ -1,4 +1,4 @@
-.TH "VIFM-PAUSE" "1" "07 May 2025" "vifm 0.14.2"
+.TH "VIFM-PAUSE" "1" "04 June 2025" "vifm 0.14.3"
 .\" ---------------------------------------------------------------------------
 .SH "NAME"
 .\" ---------------------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/data/man/vifm-screen-split.1 
new/vifm-0.14.3/data/man/vifm-screen-split.1
--- old/vifm-0.14.2/data/man/vifm-screen-split.1        2025-05-07 
14:48:03.000000000 +0200
+++ new/vifm-0.14.3/data/man/vifm-screen-split.1        2025-06-04 
10:28:10.000000000 +0200
@@ -1,4 +1,4 @@
-.TH "VIFM-SCREEN-SPLIT" "1" "07 May 2025" "vifm 0.14.2"
+.TH "VIFM-SCREEN-SPLIT" "1" "04 June 2025" "vifm 0.14.3"
 .\" ---------------------------------------------------------------------------
 .SH "NAME"
 .\" ---------------------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/data/man/vifm.1 
new/vifm-0.14.3/data/man/vifm.1
--- old/vifm-0.14.2/data/man/vifm.1     2025-05-07 14:48:03.000000000 +0200
+++ new/vifm-0.14.3/data/man/vifm.1     2025-06-04 10:28:10.000000000 +0200
@@ -1,4 +1,4 @@
-.TH VIFM 1 "07 May 2025" "vifm 0.14.2"
+.TH VIFM 1 "04 June 2025" "vifm 0.14.3"
 .\" ---------------------------------------------------------------------------
 .SH NAME
 .\" ---------------------------------------------------------------------------
@@ -830,34 +830,34 @@
 .SH Registers
 .\" ---------------------------------------------------------------------------
 .LP
-vifm supports multiple registers for temporary storing list of yanked or
+vifm supports multiple registers to temporary store lists of yanked and/or
 deleted files.
 
-Registers should be specified by hitting double quote key followed by a
-register name.  Count is specified after register name.  By default commands 
use
-unnamed register, which has double quote as its name.
-
-Though all commands accept registers, most of commands ignores them (for 
example
-H or Ctrl-U).  Other commands can fill register or append new files to it.
+Registers are specified by pressing double quote key followed by a register
+name before typing a command.  Count is specified after a register name.
+By default commands use unnamed register, which has double quote as its name.
+
+Though all commands accept registers, most commands ignore them (for example,
+H or Ctrl-U).  Other commands fill a register, append
+new files to it or use it as a source of list of files.
 
 Presently vifm supports ", _, a-z and A-Z characters as register names.
 
-As mentioned above " is unnamed register and has special meaning of the default
-register.  Every time when you use named registers (a-z and A-Z) unnamed
-register is updated to contain same list of files as the last used register.
+As mentioned above " is unnamed register and has special meaning of the
+default register.  Every time a named register (a-z and A-Z) is used, unnamed
+register is updated to contain the same list of files.
 
 _ is black hole register.  It can be used for writing, but its list is always
 empty.
 
 Registers with names from a to z and from A to Z are named ones.  Lowercase
-registers are cleared before adding new files, while uppercase aren't and 
should
-be used to append new files to the existing file list of appropriate lowercase
-register (A for a, B for b, ...).
-
-Registers can be changed on :empty command if they contain files under trash
-directory (see "Trash directory" section below).
-
-Registers do not contain one file more than once.
+registers are cleared before adding new files, while uppercase ones aren't and
+should be used to append new files to the existing file list of a corresponding
+lowercase register (A for a, B for b, ...).
+
+Registers contain each file at most once.  Nonexistent files are dropped from
+them.  In particular, registers can be changed on :empty command if they
+include files under trash directory (see "Trash directory" section below).
 
 Example:
 .EX
@@ -869,11 +869,11 @@
 puts names of two files to register a (and to the unnamed register),
 .EX
 
-  "Ad
+  "Add
 
 .EE
 .br
-removes one file and append its name to register a (and to the unnamed
+removes one file and appends its name to register a (and to the unnamed
 register),
 .EX
 
@@ -4528,11 +4528,11 @@
 .br
 Controls details of file operations.  The following values are available:
  \- datasync \- periodically synchronize writes on copying files when\
- 'syscalls' is set.
-              (This makes copying last as long as it takes to actually write
-              data to the medium, which is slower than you might expect;
-              however, this also prevents system hanging due to filling memory
-              with file-system cache.)
+ 'syscalls' is set. \
+ (This makes copying last as long as it takes to actually write\
+ data to the medium, which is slower than you might expect;\
+ however, this also prevents system hanging due to filling memory\
+ with file-system cache.)
  \- fastfilecloning \- perform fast file cloning (copy-on-write), when \
 available (available on Linux and btrfs file system).
 .TP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/data/vifmrc new/vifm-0.14.3/data/vifmrc
--- old/vifm-0.14.2/data/vifmrc 2025-05-07 14:48:03.000000000 +0200
+++ new/vifm-0.14.3/data/vifmrc 2025-06-04 10:28:10.000000000 +0200
@@ -1,6 +1,6 @@
 " vim: filetype=vifm :
 "
-" Sample configuration file for vifm (last updated: 18 December, 2024)
+" Sample configuration file for vifm (last updated: 11 May, 2025)
 "
 " You can edit this file by hand.  The " character at the beginning of a line
 " comments out the line.  Blank lines are ignored.  The basic format for each
@@ -177,17 +177,39 @@
 command! reload :write | restart full
 
 " 
------------------------------------------------------------------------------
-" File types association
+" File handlers and previewers
 " 
------------------------------------------------------------------------------
 
-" :filetype pattern1,pattern2 defaultprogram,program2
-" :fileviewer pattern1,pattern2 consoleviewer
+" Setting up handlers that are considered in all environments:
+"   filetype {pattern1,pattern2} program1,{Optional description}program2
 "
-" The first entry is the default program to be used with a matching file.
-" The other programs for the file type can be accessed via :file command.
-" The command macros like %f, %F, %d, %D may be used in the commands.
-" The %a macro is ignored.  To use a % you must put %%.
-" Spaces in an app name must be escaped, for example: QuickTime\ Player.app
+" Setting up handlers that are considered only in a graphical environment:
+"   filextype {pattern} graphical-program %c
+"
+" Setting up previewers:
+"   fileviewer {pattern1,pattern2} console-viewer1,console-viewer2
+"
+" ORDER MATTERS!  Both handlers and previewers are considered in the order of
+" their definition, therefore they should be defined from most to least
+" specific.  In particular, catch-all patterns like `*`, `*/`, `.*`, `*.*`
+" should be defined after all others.
+"
+" All entries matching a particular file are considered in order until an
+" existing command is found.  Other entries are accessible via :file command
+" for handlers or via `a` and `A` keys for previewers in view mode.
+"
+" The ordering can be checked at run-time by running
+" :filetype/:filextype/:fileviewer with a file name as the only argument.
+" This displays a menu of defined entries annotated with availability of
+" commands.
+"
+" More on syntax and usage:
+"  - macros like %c, %f, %d, etc. may be used in the commands
+"  - the %a macro is ignored
+"  - to insert a literal % use %%
+"  - spaces in an app name must be escaped, for example:
+"    + QuickTime\ Player.app
+"    + "c:/Program Files (x86)/app/app.exe"
 
 " For automated FUSE mounts, you must register an extension with :file[x]type
 " in one of the following formats:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/data/vifmrc-osx 
new/vifm-0.14.3/data/vifmrc-osx
--- old/vifm-0.14.2/data/vifmrc-osx     2025-05-07 14:48:03.000000000 +0200
+++ new/vifm-0.14.3/data/vifmrc-osx     2025-06-04 10:28:10.000000000 +0200
@@ -1,6 +1,6 @@
 " vim: filetype=vifm :
 "
-" Sample configuration file for vifm on OSX (last updated: 29 August, 2024)
+" Sample configuration file for vifm on OSX (last updated: 11 May, 2025)
 "
 " You can edit this file by hand.  The " character at the beginning of a line
 " comments out the line.  Blank lines are ignored.  The basic format for each
@@ -174,17 +174,39 @@
 command! reload :write | restart full
 
 " 
------------------------------------------------------------------------------
-" File types association
+" File handlers and previewers
 " 
------------------------------------------------------------------------------
 
-" :filetype pattern1,pattern2 defaultprogram,program2
-" :fileviewer pattern1,pattern2 consoleviewer
+" Setting up handlers that are considered in all environments:
+"   filetype {pattern1,pattern2} program1,{Optional description}program2
 "
-" The first entry is the default program to be used with a matching file.
-" The other programs for the file type can be accessed via :file command.
-" The command macros like %f, %F, %d, %D may be used in the commands.
-" The %a macro is ignored.  To use a % you must put %%.
-" Spaces in an app name must be escaped, for example: QuickTime\ Player.app
+" Setting up handlers that are considered only in a graphical environment:
+"   filextype {pattern} graphical-program %c
+"
+" Setting up previewers:
+"   fileviewer {pattern1,pattern2} console-viewer1,console-viewer2
+"
+" ORDER MATTERS!  Both handlers and previewers are considered in the order of
+" their definition, therefore they should be defined from most to least
+" specific.  In particular, catch-all patterns like `*`, `*/`, `.*`, `*.*`
+" should be defined after all others.
+"
+" All entries matching a particular file are considered in order until an
+" existing command is found.  Other entries are accessible via :file command
+" for handlers or via `a` and `A` keys for previewers in view mode.
+"
+" The ordering can be checked at run-time by running
+" :filetype/:filextype/:fileviewer with a file name as the only argument.
+" This displays a menu of defined entries annotated with availability of
+" commands.
+"
+" More on syntax and usage:
+"  - macros like %c, %f, %d, etc. may be used in the commands
+"  - the %a macro is ignored
+"  - to insert a literal % use %%
+"  - spaces in an app name must be escaped, for example:
+"    + QuickTime\ Player.app
+"    + "c:/Program Files (x86)/app/app.exe"
 
 " For automated FUSE mounts, you must register an extension with :file[x]type
 " in one of the following formats:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/data/vim/doc/app/vifm-app.txt 
new/vifm-0.14.3/data/vim/doc/app/vifm-app.txt
--- old/vifm-0.14.2/data/vim/doc/app/vifm-app.txt       2025-05-07 
14:48:03.000000000 +0200
+++ new/vifm-0.14.3/data/vim/doc/app/vifm-app.txt       2025-06-04 
10:28:10.000000000 +0200
@@ -1,4 +1,4 @@
-*vifm-app.txt*    For Vifm version 0.14.2  Last change: 2025 May 07
+*vifm-app.txt*    For Vifm version 0.14.3  Last change: 2025 Jun 04
 
  Email for bugs and suggestions: <xai...@posteo.net>
 
@@ -736,43 +736,41 @@
 
 Registers~
                                                *vifm-registers*
-vifm supports multiple registers for temporary storing list of yanked or
+vifm supports multiple registers to temporary store lists of yanked and/or
 deleted files.
 
-Registers should be specified by hitting double quote key followed by a
-register name.  Count is specified after register name.  By default
-commands use unnamed register, which has double quote as its name.
-
-Though all commands accept registers, most of commands ignores them (for
-example H or Ctrl-U).  Other commands can fill register or append new
-files to it.
+Registers are specified by pressing double quote key followed by a register
+name before typing a command.  Count is specified after a register name.
+By default commands use unnamed register, which has double quote as its name.
+
+Though all commands accept registers, most commands ignore them (for
+example, |vifm-H| or |vifm-CTRL-U|).  Other commands fill a register, append
+new files to it or use it as a source of list of files.
 
 Presently vifm supports ", _, a-z and A-Z characters as register names.
 
+As mentioned above " is unnamed register and has special meaning of the
+default register.  Every time a named register (a-z and A-Z) is used, unnamed
+register is updated to contain the same list of files.
+
 _ is black hole register.  It can be used for writing, but its list is always
 empty.
 
-As mentioned above " is unnamed register and has special meaning of the
-default register.  Every time when you use named registers (a-z and A-Z)
-unnamed register is updated to contain same list of files as the last
-used register.
-
 Registers with names from a to z and from A to Z are named ones.
-Lowercase registers are cleared before adding new files, while uppercase
+Lowercase registers are cleared before adding new files, while uppercase ones
 aren't and should be used to append new files to the existing file list
-of appropriate lowercase register (A for a, B for b, ...).
-
-Registers can be changed on :empty command if they contain files under
-|vifm-trash| directory.
+of a corresponding lowercase register (A for a, B for b, ...).
 
-Registers do not contain one file more than once.
+Registers contain each file at most once.  Nonexistent files are dropped from
+them.  In particular, registers can be changed on |vifm-:empty| command if
+they include files under |vifm-trash| directory.
 
-Example:
+Example: >
   "a2yy
-puts names of two files to register a (and to the unnamed register).
-  "Ad
+puts names of two files to register a (and to the unnamed register), >
+  "Add
 removes one file and append its name to register a (and to the unnamed
-register).
+register), >
   p or "ap or "Ap
 inserts previously yanked and deleted files into current directory.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/data/vim/doc/plugin/vifm-plugin.txt 
new/vifm-0.14.3/data/vim/doc/plugin/vifm-plugin.txt
--- old/vifm-0.14.2/data/vim/doc/plugin/vifm-plugin.txt 2025-05-07 
14:48:03.000000000 +0200
+++ new/vifm-0.14.3/data/vim/doc/plugin/vifm-plugin.txt 2025-06-04 
10:28:10.000000000 +0200
@@ -1,4 +1,4 @@
-*vifm-plugin.txt*    For Vifm version 0.14.2  Last change: 2025 May 07
+*vifm-plugin.txt*    For Vifm version 0.14.3  Last change: 2025 Jun 04
 
  Email for bugs and suggestions: <xai...@posteo.net>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vifm-0.14.2/patches/pdcurses39/pdcurses-04-Windows-Terminal-supports-italic-and-underlining-via.patch
 
new/vifm-0.14.3/patches/pdcurses39/pdcurses-04-Windows-Terminal-supports-italic-and-underlining-via.patch
--- 
old/vifm-0.14.2/patches/pdcurses39/pdcurses-04-Windows-Terminal-supports-italic-and-underlining-via.patch
   1970-01-01 01:00:00.000000000 +0100
+++ 
new/vifm-0.14.3/patches/pdcurses39/pdcurses-04-Windows-Terminal-supports-italic-and-underlining-via.patch
   2025-06-04 10:28:10.000000000 +0200
@@ -0,0 +1,51 @@
+From b8a6e979962f606ddeadd1e7a9eff0659c669bab Mon Sep 17 00:00:00 2001
+From: William McBrine <wmcbr...@gmail.com>
+Date: Mon, 5 Jul 2021 16:23:00 -0400
+Subject: [PATCH 04/10] Windows Terminal supports italic and underlining, via
+ escape codes.
+
+---
+ wincon/pdcscrn.c | 5 +++--
+ wincon/pdcwin.h  | 2 +-
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/wincon/pdcscrn.c b/wincon/pdcscrn.c
+index e6640a37..c6436319 100644
+--- a/wincon/pdcscrn.c
++++ b/wincon/pdcscrn.c
+@@ -36,7 +36,7 @@ static short ansitocurs[16] =
+ 
+ short pdc_curstoreal[16], pdc_curstoansi[16];
+ short pdc_oldf, pdc_oldb, pdc_oldu;
+-bool pdc_conemu, pdc_ansi;
++bool pdc_conemu, pdc_wt, pdc_ansi;
+ 
+ enum { PDC_RESTORE_NONE, PDC_RESTORE_BUFFER };
+ 
+@@ -413,9 +413,10 @@ int PDC_scr_open(int argc, char **argv)
+ 
+     is_nt = !(GetVersion() & 0x80000000);
+ 
++    pdc_wt = !!getenv("WT_SESSION");
+     str = getenv("ConEmuANSI");
+     pdc_conemu = !!str;
+-    pdc_ansi = pdc_conemu ? !strcmp(str, "ON") : FALSE;
++    pdc_ansi = pdc_wt ? TRUE : pdc_conemu ? !strcmp(str, "ON") : FALSE;
+ 
+     GetConsoleScreenBufferInfo(pdc_con_out, &csbi);
+     GetConsoleScreenBufferInfo(pdc_con_out, &orig_scr);
+diff --git a/wincon/pdcwin.h b/wincon/pdcwin.h
+index dab1f76b..08d3579d 100644
+--- a/wincon/pdcwin.h
++++ b/wincon/pdcwin.h
+@@ -22,6 +22,6 @@ extern DWORD pdc_quick_edit;
+ extern DWORD pdc_last_blink;
+ extern short pdc_curstoreal[16], pdc_curstoansi[16];
+ extern short pdc_oldf, pdc_oldb, pdc_oldu;
+-extern bool pdc_conemu, pdc_ansi;
++extern bool pdc_conemu, pdc_wt, pdc_ansi;
+ 
+ extern void PDC_blink_text(void);
+-- 
+2.47.1
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vifm-0.14.2/patches/pdcurses39/pdcurses-06-pdc_wt-overrides-pdc_conemu-allows-starting-WT-from-.patch
 
new/vifm-0.14.3/patches/pdcurses39/pdcurses-06-pdc_wt-overrides-pdc_conemu-allows-starting-WT-from-.patch
--- 
old/vifm-0.14.2/patches/pdcurses39/pdcurses-06-pdc_wt-overrides-pdc_conemu-allows-starting-WT-from-.patch
   1970-01-01 01:00:00.000000000 +0100
+++ 
new/vifm-0.14.3/patches/pdcurses39/pdcurses-06-pdc_wt-overrides-pdc_conemu-allows-starting-WT-from-.patch
   2025-06-04 10:28:10.000000000 +0200
@@ -0,0 +1,27 @@
+From 9a9cc97f70ee0dcb3b4b4a5afd3dd0861d2cc35c Mon Sep 17 00:00:00 2001
+From: William McBrine <wmcbr...@gmail.com>
+Date: Mon, 5 Jul 2021 19:41:05 -0400
+Subject: [PATCH 06/10] pdc_wt overrides pdc_conemu -- allows starting WT from
+ ConEmu. (Note that the reverse seems unnecessary -- some of the ConEmu checks
+ may be unneeded?)
+
+---
+ wincon/pdcscrn.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/wincon/pdcscrn.c b/wincon/pdcscrn.c
+index 0d61f821..dc729748 100644
+--- a/wincon/pdcscrn.c
++++ b/wincon/pdcscrn.c
+@@ -414,7 +414,7 @@ int PDC_scr_open(int argc, char **argv)
+     is_nt = !(GetVersion() & 0x80000000);
+ 
+     pdc_wt = !!getenv("WT_SESSION");
+-    str = getenv("ConEmuANSI");
++    str = pdc_wt ? NULL : getenv("ConEmuANSI");
+     pdc_conemu = !!str;
+     pdc_ansi = pdc_wt ? TRUE : pdc_conemu ? !strcmp(str, "ON") : FALSE;
+ 
+-- 
+2.47.1
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vifm-0.14.2/patches/pdcurses39/pdcurses-07-ASCII-control-code-processing-appears-to-be-incorrec.patch
 
new/vifm-0.14.3/patches/pdcurses39/pdcurses-07-ASCII-control-code-processing-appears-to-be-incorrec.patch
--- 
old/vifm-0.14.2/patches/pdcurses39/pdcurses-07-ASCII-control-code-processing-appears-to-be-incorrec.patch
   1970-01-01 01:00:00.000000000 +0100
+++ 
new/vifm-0.14.3/patches/pdcurses39/pdcurses-07-ASCII-control-code-processing-appears-to-be-incorrec.patch
   2025-06-04 10:28:10.000000000 +0200
@@ -0,0 +1,32 @@
+From dcd83e47788645ae2ed97700fd8e2b3674d67d95 Mon Sep 17 00:00:00 2001
+From: William McBrine <wmcbr...@gmail.com>
+Date: Tue, 6 Jul 2021 03:44:20 -0400
+Subject: [PATCH 07/10] ASCII control code processing appears to be
+ (incorrectly) always enabled for WriteConsole() in Windows Terminal, making
+ it impossible to pass some of the CP437 altcharset. The kludge is to fall
+ back to the non-ANSI mode (no extended attributes).
+
+---
+ wincon/pdcscrn.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/wincon/pdcscrn.c b/wincon/pdcscrn.c
+index dc729748..f1f5fdd3 100644
+--- a/wincon/pdcscrn.c
++++ b/wincon/pdcscrn.c
+@@ -416,7 +416,11 @@ int PDC_scr_open(int argc, char **argv)
+     pdc_wt = !!getenv("WT_SESSION");
+     str = pdc_wt ? NULL : getenv("ConEmuANSI");
+     pdc_conemu = !!str;
+-    pdc_ansi = pdc_wt ? TRUE : pdc_conemu ? !strcmp(str, "ON") : FALSE;
++    pdc_ansi =
++#ifdef PDC_WIDE
++        pdc_wt ? TRUE :
++#endif
++        pdc_conemu ? !strcmp(str, "ON") : FALSE;
+ 
+     GetConsoleScreenBufferInfo(pdc_con_out, &csbi);
+     GetConsoleScreenBufferInfo(pdc_con_out, &orig_scr);
+-- 
+2.47.1
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vifm-0.14.2/patches/pdcurses39/pdcurses-09-Restart-output-using-the-non-ansi-WriteConsoleOutput.patch
 
new/vifm-0.14.3/patches/pdcurses39/pdcurses-09-Restart-output-using-the-non-ansi-WriteConsoleOutput.patch
--- 
old/vifm-0.14.2/patches/pdcurses39/pdcurses-09-Restart-output-using-the-non-ansi-WriteConsoleOutput.patch
   1970-01-01 01:00:00.000000000 +0100
+++ 
new/vifm-0.14.3/patches/pdcurses39/pdcurses-09-Restart-output-using-the-non-ansi-WriteConsoleOutput.patch
   2025-06-04 10:28:10.000000000 +0200
@@ -0,0 +1,61 @@
+From 895986be99522d9c5314718234134042d7fa766b Mon Sep 17 00:00:00 2001
+From: William McBrine <wmcbr...@gmail.com>
+Date: Wed, 8 Dec 2021 18:04:46 -0500
+Subject: [PATCH 09/10] Restart output using the non-ansi (WriteConsoleOutput)
+ method when running under Windows Terminal, and printing an ACS character
+ below space (i.e. in the control character range). Partial reversal of
+ b6d6abbf -- extended attributes and redefined basic colors will be disabled
+ only in the case when printing one of these characters; i.e., testcurs looks
+ correct now. ;)
+
+---
+ wincon/pdcdisp.c | 6 ++++++
+ wincon/pdcscrn.c | 6 +-----
+ 2 files changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/wincon/pdcdisp.c b/wincon/pdcdisp.c
+index b89485a9..14418396 100644
+--- a/wincon/pdcdisp.c
++++ b/wincon/pdcdisp.c
+@@ -181,8 +181,13 @@ void _new_packet(attr_t attr, int lineno, int x, int len, 
const chtype *srcp)
+             chtype ch = srcp[j];
+ 
+             if (ch & A_ALTCHARSET && !(ch & 0xff80))
++            {
+                 ch = acs_map[ch & 0x7f];
+ 
++                if (pdc_wt && (ch & A_CHARTEXT) < ' ')
++                    goto NONANSI;
++            }
++
+             if (blink && blinked_off)
+                 ch = ' ';
+ 
+@@ -198,6 +203,7 @@ void _new_packet(attr_t attr, int lineno, int x, int len, 
const chtype *srcp)
+ #endif
+     }
+     else
++NONANSI:
+     {
+         CHAR_INFO buffer[512];
+         COORD bufSize, bufPos;
+diff --git a/wincon/pdcscrn.c b/wincon/pdcscrn.c
+index f1f5fdd3..dc729748 100644
+--- a/wincon/pdcscrn.c
++++ b/wincon/pdcscrn.c
+@@ -416,11 +416,7 @@ int PDC_scr_open(int argc, char **argv)
+     pdc_wt = !!getenv("WT_SESSION");
+     str = pdc_wt ? NULL : getenv("ConEmuANSI");
+     pdc_conemu = !!str;
+-    pdc_ansi =
+-#ifdef PDC_WIDE
+-        pdc_wt ? TRUE :
+-#endif
+-        pdc_conemu ? !strcmp(str, "ON") : FALSE;
++    pdc_ansi = pdc_wt ? TRUE : pdc_conemu ? !strcmp(str, "ON") : FALSE;
+ 
+     GetConsoleScreenBufferInfo(pdc_con_out, &csbi);
+     GetConsoleScreenBufferInfo(pdc_con_out, &orig_scr);
+-- 
+2.47.1
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/pkgs/AppImage/genappimage.sh 
new/vifm-0.14.3/pkgs/AppImage/genappimage.sh
--- old/vifm-0.14.2/pkgs/AppImage/genappimage.sh        2025-05-07 
14:48:03.000000000 +0200
+++ new/vifm-0.14.3/pkgs/AppImage/genappimage.sh        2025-06-04 
10:28:10.000000000 +0200
@@ -12,7 +12,7 @@
 # like Travis, and RAM disk is available)
 # DISABLED: It seems that linuxdeploy won't be executable on shared memory,
 # maybe /dev/shm is marked as non-executable?
-if [ "$CI" == "" ] && [ -d /dev/shm ] && false; then
+if [ -z "${CI:-}" ] && [ -d /dev/shm ] && false; then
     TEMP_BASE=/dev/shm
 else
     TEMP_BASE=/tmp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/src/Makefile.in 
new/vifm-0.14.3/src/Makefile.in
--- old/vifm-0.14.2/src/Makefile.in     2025-05-07 14:48:05.000000000 +0200
+++ new/vifm-0.14.3/src/Makefile.in     2025-06-04 10:28:12.000000000 +0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.17 from Makefile.am.
+# Makefile.in generated by automake 1.18 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2024 Free Software Foundation, Inc.
+# Copyright (C) 1994-2025 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -553,7 +553,7 @@
 # To be inserted before the command running the test.  Creates the
 # directory for the log if needed.  Stores in $dir the directory
 # containing $f, in $tst the test, in $log the log.  Executes the
-# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# developer-defined test setup AM_TESTS_ENVIRONMENT (if any), and
 # passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
 # will run the test scripts (or their associated LOG_COMPILER, if
 # thy have one).
@@ -2645,6 +2645,7 @@
 @am__EXEEXT_TRUE@      --log-file $$b.log --trs-file $$b.trs \
 @am__EXEEXT_TRUE@      $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) 
$(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
 @am__EXEEXT_TRUE@      "$$tst" $(AM_TESTS_FD_REDIRECT)
+
 distdir: $(BUILT_SOURCES)
        $(MAKE) $(AM_MAKEFLAGS) distdir-am
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/src/Makefile.win 
new/vifm-0.14.3/src/Makefile.win
--- old/vifm-0.14.2/src/Makefile.win    2025-05-07 14:48:03.000000000 +0200
+++ new/vifm-0.14.3/src/Makefile.win    2025-06-04 10:28:10.000000000 +0200
@@ -138,8 +138,8 @@
 ../build-aux/config.h: Makefile.win
        @echo Creating sample $@
        mkdir -p ../build-aux
-       echo '#define VERSION "0.14.2"' > $@; \
-       echo '#define VERSION_NUM 1402' >> $@; \
+       echo '#define VERSION "0.14.3"' > $@; \
+       echo '#define VERSION_NUM 1403' >> $@; \
        echo '#define ENABLE_EXTENDED_KEYS' >> $@; \
        echo '#define _GNU_SOURCE 1' >> $@; \
        echo '#define _XOPEN_SOURCE 1' >> $@; \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/src/instance.c 
new/vifm-0.14.3/src/instance.c
--- old/vifm-0.14.2/src/instance.c      2025-05-07 14:48:03.000000000 +0200
+++ new/vifm-0.14.3/src/instance.c      2025-06-04 10:28:10.000000000 +0200
@@ -19,6 +19,8 @@
 
 #include "instance.h"
 
+#include <assert.h> /* assert() */
+
 #include "cfg/config.h"
 #include "engine/abbrevs.h"
 #include "engine/autocmds.h"
@@ -140,7 +142,7 @@
        }
        cs_load_pairs();
 
-       cfg_load();
+       instance_load_config();
        plugs_load(curr_stats.plugs, curr_stats.plugins_dirs);
 
        vifm_reexec_startup_commands();
@@ -161,5 +163,21 @@
        update_screen(UT_REDRAW);
 }
 
+void
+instance_load_config(void)
+{
+       cfg_load();
+
+       /* Directory history is filled with data read from the state before its 
size
+        * limit is known.  For this reason it's allowed to grow unlimited and
+        * diverge from the size limit imposed by the 'history' option.  
Setting an
+        * option in the configuration to the default value of 15 or not 
setting it
+        * there at all leaves the directory history size larger than it should 
be.
+        * Enforce the expected size here to avoid the history growing 
unbounded. */
+       opt_t *history_opt = vle_opts_find("history", OPT_GLOBAL);
+       assert(history_opt != NULL && "'history' option must be there.");
+       cfg_resize_histories(history_opt->val.int_val);
+}
+
 /* vim: set tabstop=2 softtabstop=2 shiftwidth=2 noexpandtab cinoptions-=(0 : 
*/
 /* vim: set cinoptions+=t0 : */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/src/instance.h 
new/vifm-0.14.3/src/instance.h
--- old/vifm-0.14.2/src/instance.h      2025-05-07 14:48:03.000000000 +0200
+++ new/vifm-0.14.3/src/instance.h      2025-06-04 10:28:10.000000000 +0200
@@ -32,6 +32,10 @@
  * calls to instance_start_restart() and this function. */
 void instance_finish_restart(void);
 
+/* Loads configuration file taking care of anything that needs to be done 
before
+ * or after it. */
+void instance_load_config(void);
+
 #endif /* VIFM__INSTANCE_H__ */
 
 /* vim: set tabstop=2 softtabstop=2 shiftwidth=2 noexpandtab cinoptions-=(0 : 
*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/src/menus/colorscheme_menu.c 
new/vifm-0.14.3/src/menus/colorscheme_menu.c
--- old/vifm-0.14.2/src/menus/colorscheme_menu.c        2025-05-07 
14:48:03.000000000 +0200
+++ new/vifm-0.14.3/src/menus/colorscheme_menu.c        2025-06-04 
10:28:10.000000000 +0200
@@ -37,7 +37,7 @@
 show_colorschemes_menu(view_t *view)
 {
        static menu_data_t m;
-       menus_init_data(&m, view, strdup("Choose the default Color Scheme"),
+       menus_init_data(&m, view, strdup("Choose the primary Color Scheme"),
                        strdup("No color schemes found"));
        m.execute_handler = &execute_colorscheme_cb;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/src/trash.c new/vifm-0.14.3/src/trash.c
--- old/vifm-0.14.2/src/trash.c 2025-05-07 14:48:03.000000000 +0200
+++ new/vifm-0.14.3/src/trash.c 2025-06-04 10:28:10.000000000 +0200
@@ -243,13 +243,14 @@
                if(make_path(trash_dir, 0777) != 0)
                {
 #ifndef _WIN32
-                       if(interactive)
+                       if(interactive && errno == EROFS)
                        {
                                /* Do not treat it as an error if the trash is 
not writable because
                                 * file-system is mounted read-only.  User 
should be aware of it. */
-                               return (errno != EROFS);
+                               return 0;
                        }
 #endif
+                       return 1;
                }
        }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/src/ui/statusbar.c 
new/vifm-0.14.3/src/ui/statusbar.c
--- old/vifm-0.14.2/src/ui/statusbar.c  2025-05-07 14:48:03.000000000 +0200
+++ new/vifm-0.14.3/src/ui/statusbar.c  2025-06-04 10:28:10.000000000 +0200
@@ -215,7 +215,8 @@
 
        if(lines > 1)
        {
-               if(cfg.trunc_normal_sb_msgs && !err && 
curr_stats.allow_sb_msg_truncation)
+               if(cfg.trunc_normal_sb_msgs && !err && 
curr_stats.allow_sb_msg_truncation &&
+                               status_bar_lines == 1)
                {
                        truncate_with_ellipsis(msg, getmaxx(stdscr) - 
FIELDS_WIDTH(),
                                        truncated_msg);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/src/vifm.c new/vifm-0.14.3/src/vifm.c
--- old/vifm-0.14.2/src/vifm.c  2025-05-07 14:48:03.000000000 +0200
+++ new/vifm-0.14.3/src/vifm.c  2025-06-04 10:28:10.000000000 +0200
@@ -81,6 +81,7 @@
 #include "flist_hist.h"
 #include "flist_pos.h"
 #include "fops_common.h"
+#include "instance.h"
 #include "ipc.h"
 #include "marks.h"
 #include "ops.h"
@@ -313,7 +314,7 @@
        if(!vifm_args.no_configs)
        {
                load_scheme();
-               cfg_load();
+               instance_load_config();
        }
 
        if(lwin_cv || rwin_cv)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/tests/commands/sessions.c 
new/vifm-0.14.3/tests/commands/sessions.c
--- old/vifm-0.14.2/tests/commands/sessions.c   2025-05-07 14:48:03.000000000 
+0200
+++ new/vifm-0.14.3/tests/commands/sessions.c   2025-06-04 10:28:10.000000000 
+0200
@@ -41,6 +41,10 @@
        columns_setup_column(SK_BY_NAME);
        columns_setup_column(SK_BY_SIZE);
 
+       /* Test a realistic configuration. */
+       cfg_init();
+       histories_init(cfg.history_len);
+
        cmds_init();
        opt_handlers_setup();
 }
@@ -53,8 +57,11 @@
        cfg.session_options = 0;
 
        opt_handlers_teardown();
+       conf_teardown();
        vle_keys_reset();
 
+       histories_init(0);
+
        view_teardown(&lwin);
        view_teardown(&rwin);
 
@@ -166,8 +173,6 @@
        remove_file(SANDBOX_PATH "/sessions/sess.json");
        remove_dir(SANDBOX_PATH "/sessions");
        remove_file(SANDBOX_PATH "/vifminfo.json");
-
-       histories_init(0);
 }
 
 TEST(can_delete_a_session)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/tests/misc/vifminfo.c 
new/vifm-0.14.3/tests/misc/vifminfo.c
--- old/vifm-0.14.2/tests/misc/vifminfo.c       2025-05-07 14:48:03.000000000 
+0200
+++ new/vifm-0.14.3/tests/misc/vifminfo.c       2025-06-04 10:28:10.000000000 
+0200
@@ -11,6 +11,7 @@
 #include "../../src/cfg/config.h"
 #include "../../src/cfg/info.h"
 #include "../../src/cfg/info_chars.h"
+#include "../../src/engine/keys.h"
 #include "../../src/ui/column_view.h"
 #include "../../src/ui/ui.h"
 #include "../../src/utils/matcher.h"
@@ -20,6 +21,7 @@
 #include "../../src/cmd_core.h"
 #include "../../src/filetype.h"
 #include "../../src/flist_hist.h"
+#include "../../src/instance.h"
 #include "../../src/opt_handlers.h"
 #include "../../src/status.h"
 
@@ -42,6 +44,7 @@
        view_setup(&lwin);
        view_setup(&rwin);
        curr_view = &lwin;
+       other_view = &rwin;
 
        cfg_resize_histories(10);
 
@@ -50,6 +53,9 @@
 
 TEARDOWN()
 {
+       curr_view = NULL;
+       other_view = NULL;
+
        cfg_resize_histories(0);
 
        view_teardown(&lwin);
@@ -470,6 +476,35 @@
        assert_success(remove(SANDBOX_PATH "/vifminfo.json"));
 }
 
+TEST(size_of_dhistory_is_limited)
+{
+       cfg.vifm_info = VINFO_DHISTORY;
+
+       /* Short history to fill it easily. */
+       cfg.history_len = 2;
+       opt_handlers_setup();
+       cmds_init();
+
+       /* Adding 3 items to make sure the limit is in effect. */
+       flist_hist_setup(&lwin, "/dir1", "file1", 1, 1);
+       flist_hist_setup(&lwin, "/dir2", "file2", 2, 2);
+       flist_hist_setup(&lwin, "/dir3", "file3", 3, 3);
+       assert_int_equal(2, lwin.history_num);
+
+       /* Write the history to a file. */
+       state_store();
+       /* Reload the state and config (which should be empty in tests). */
+       instance_start_restart(RT_MOST);
+       state_load(0);
+       instance_finish_restart();
+       /* Verify that history was trimmed to the set limit. */
+       assert_int_equal(2, lwin.history_num);
+
+       opt_handlers_teardown();
+       vle_cmds_reset();
+       vle_keys_reset();
+}
+
 TEST(things_missing_from_vifminfo_option_are_dropped)
 {
        cfg.vifm_info = VINFO_CS;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vifm-0.14.2/tests/test-support/test-utils.c 
new/vifm-0.14.3/tests/test-support/test-utils.c
--- old/vifm-0.14.2/tests/test-support/test-utils.c     2025-05-07 
14:48:03.000000000 +0200
+++ new/vifm-0.14.3/tests/test-support/test-utils.c     2025-06-04 
10:28:10.000000000 +0200
@@ -160,6 +160,10 @@
        update_string(&cfg.shell, NULL);
        update_string(&cfg.shell_cmd_flag, NULL);
 
+       /* Non-zero history size has implications for views and status, so reset
+        * it. */
+       cfg.history_len = 0;
+
        cfg.dot_dirs = 0;
 
        cfg.sizefmt.base = 0;

Reply via email to