Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package stow for openSUSE:Factory checked in 
at 2024-09-10 21:13:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/stow (Old)
 and      /work/SRC/openSUSE:Factory/.stow.new.17570 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "stow"

Tue Sep 10 21:13:06 2024 rev:8 rq:1199670 version:2.4.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/stow/stow.changes        2024-07-11 
20:33:49.870292410 +0200
+++ /work/SRC/openSUSE:Factory/.stow.new.17570/stow.changes     2024-09-10 
21:14:21.992870393 +0200
@@ -1,0 +2,12 @@
+Mon Sep  9 10:36:48 UTC 2024 - Wolfgang Frisch <[email protected]>
+
+- stow 2.4.1:
+  * Fix precedence warning with Perl 5.40 (bsc#1227622)
+  * `--dotfiles` option now works correctly with ignore lists
+  * Use shell-like parsing for `.stowrc` arguments
+  * Make dependency on LaTeX optional
+  * Fix Docker builds
+  * Various maintainer tweaks
+- Remove avoid_precedence_warning.patch (fixed by upstream)
+
+-------------------------------------------------------------------

Old:
----
  avoid_precedence_warning.patch
  stow-2.4.0.tar.bz2
  stow-2.4.0.tar.bz2.sig

New:
----
  stow-2.4.1.tar.bz2
  stow-2.4.1.tar.bz2.sig

BETA DEBUG BEGIN:
  Old:  * Various maintainer tweaks
- Remove avoid_precedence_warning.patch (fixed by upstream)
BETA DEBUG END:

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

Other differences:
------------------
++++++ stow.spec ++++++
--- /var/tmp/diff_new_pack.4tuCFI/_old  2024-09-10 21:14:23.304925060 +0200
+++ /var/tmp/diff_new_pack.4tuCFI/_new  2024-09-10 21:14:23.308925226 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           stow
-Version:        2.4.0
+Version:        2.4.1
 Release:        0
 Summary:        Manage the installation of software packages from source
 License:        GPL-3.0-or-later
@@ -27,7 +27,6 @@
 Source1:        https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.bz2.sig
 Source2:        
https://savannah.gnu.org/project/memberlist-gpgkeys.php?group=stow&download=1#/%name.keyring
 Source3:        stow-rpmlintrc
-Patch0:         avoid_precedence_warning.patch
 BuildRequires:  perl
 BuildRequires:  perl-macros
 BuildRequires:  perl(IO::Scalar)
@@ -73,11 +72,13 @@
 %configure \
     --with-pmdir=%{perl_vendorlib} \
     --docdir=%{_defaultdocdir}/%{name}
+make pdf
 
 %install
 %make_install
 rm %{buildroot}%{_docdir}/stow/version.texi
 rm %{buildroot}%{_docdir}/%{name}/INSTALL.md
+install -m 644 doc/manual.pdf %{buildroot}/%{_docdir}/stow/manual.pdf
 
 %check
 %make_build test

++++++ stow-2.4.0.tar.bz2 -> stow-2.4.1.tar.bz2 ++++++
++++ 2585 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/ChangeLog new/stow-2.4.1/ChangeLog
--- old/stow-2.4.0/ChangeLog    2024-04-07 23:21:05.000000000 +0200
+++ new/stow-2.4.1/ChangeLog    2024-09-08 20:25:07.000000000 +0200
@@ -1,3 +1,204 @@
+Sun Sep 8 19:17:26 2024 +0100  Adam Spiers <[email protected]>
+
+    * Dockerfile: fix whitespace inconsistencies We don't use hard tabs.
+
+
+      M docker/Dockerfile
+
+Sun Sep 8 19:05:42 2024 +0100  Adam Spiers <[email protected]>
+
+    * Merge pull request #116 from aspiers/fix-dot-ignore
+
+Sun Sep 8 13:05:16 2024 +0100  Adam Spiers <[email protected]>
+
+    * ignore based on package dirent name prior to dot- adjustment If
+    `--dotfiles` was enabled, files in the package such as
+    `dot-gitignore` would be translated to `.gitignore` and then
+    ignored by the default ignore list.  However any file named
+    `dot-*` in a package is obviously intended to be stowed as a dot
+    file, so should not be ignored.
+
+    To fix this, ignore based on the name in the package, not the 
+    potentially translated name used for stowing.
+
+
+      M NEWS
+      M doc/stow.texi
+      M lib/Stow.pm.in
+      M t/dotfiles.t
+
+Sun Sep 8 12:47:54 2024 +0100  Adam Spiers <[email protected]>
+
+    * extract setup_package_ignore() into testutil.pm
+
+      M t/ignore.t
+      M t/testutil.pm
+
+Sun Sep 8 12:43:46 2024 +0100  Adam Spiers <[email protected]>
+
+    * extract setup_global_ignore() into testutil.pm
+
+      M t/ignore.t
+      M t/testutil.pm
+
+Sun Sep 8 18:56:03 2024 +0100  Adam Spiers <[email protected]>
+
+    * Merge pull request #117 from aspiers/optional-pdf-build
+
+Sun Sep 8 14:51:58 2024 +0100  Adam Spiers <[email protected]>
+
+    * make build of PDF optional to avoid LaTeX dependency Fixes #95.
+
+
+      M INSTALL.md
+      M Makefile.am
+      M NEWS
+      M doc/HOWTO-RELEASE
+
+Sun Sep 8 15:09:30 2024 +0100  Adam Spiers <[email protected]>
+
+    * INSTALL.md: move clean-up to a separate section It's not part of the
+    install process.
+
+
+      M INSTALL.md
+
+Sun Sep 8 14:52:49 2024 +0100  Adam Spiers <[email protected]>
+
+    * update to autoconf 2.72
+
+      M aclocal.m4
+
+Sun Sep 8 16:23:35 2024 +0100  Adam Spiers <[email protected]>
+
+    * NEWS: add other items since v2.4.0
+
+      M NEWS
+
+Sun Sep 8 13:28:45 2024 +0100  Adam Spiers <[email protected]>
+
+    * NEWS: add entry for ternary precedence fix for Perl 5.40 This is the
+    NEWS entry for #113.
+
+
+      M NEWS
+
+Sat Jul 13 17:07:02 2024 +0100  Adam Spiers <[email protected]>
+
+    * Merge pull request #114 from aspiers/perl-5.40
+
+Sat Jul 13 17:04:03 2024 +0100  Adam Spiers <[email protected]>
+
+    * ci: add Perl 5.40 to GitHub CI test matrix
+
+      M .github/workflows/test.yml
+
+Fri Jul 12 00:02:23 2024 +0100  Adam Spiers <[email protected]>
+
+    * Merge pull request #113 from wfrisch/2024-07-avoid_precedence_warning 
+    avoid precedence warning
+
+Thu Jul 11 09:48:46 2024 +0200  Wolfgang Frisch <[email protected]>
+
+    * avoid precedence warning Perl 5.40.0 extended the scope of the
+    precedence warning to include ternary operators.
+
+    <https://perldoc.perl.org/5.40.0/perldelta>
+
+    Reported-By: Peter Sütterlin <[email protected]>
+
+
+      M bin/stow.in
+
+Tue Jun 18 18:46:45 2024 +0100  Adam Spiers <[email protected]>
+
+    * Merge pull request #111 from jeremy-code/master
+
+Sat Jun 15 13:03:07 2024 +0100  Adam Spiers <[email protected]>
+
+    * Fix parsing of regexp options like --override=bin|man Previously the
+    \A and \z anchoring for --ignore / --override / --defer was being
+    applied without wrapping the user-specified regexp in parentheses,
+    so if it was something like bin|man then the anchor would only
+    apply to one half of those two paths.  So add parentheses, and 
+    also change from qr() to qr{} syntax to visually differentiate
+    between regexp boundaries and parentheses inside the regexp.
+
+
+      M bin/stow.in
+      M t/cli_options.t
+      M t/rc_options.t
+
+Fri Jun 14 16:20:41 2024 -0700  Jeremy Nguyen <[email protected]>
+
+    * Use `shellwords` for `.stowrc` parsing
+    - Use `shellwords` to parse `.stowrc` files from
+    `Text::ParseWords`
+    - Add test for `.stowrc` parsing with quotes
+     - Add `stow directory` to `tmp-testing-trees` for testing
+
+    This change allows `.stowrc` arguments to be parsed similar to
+    shell arguments, where quotes can be used to group an argument
+    with spaces.
+
+    However, this change affects the behavior in --ignore, --defer,
+    --override.
+
+    (?^:$HOME\z)
+    (?^:\A$HOME)
+    (?^:\A$HOME)
+
+
+      M bin/stow.in
+      M doc/stow.texi
+      M t/rc_options.t
+      M t/testutil.pm
+
+Mon Apr 8 00:40:23 2024 +0100  Adam Spiers <[email protected]>
+
+    * Merge pull request #99 from gutierri/patch/fixs-yes-apt
+
+Sun Sep 18 03:13:56 2022 -0300  Gutierri Barboza <[email protected]>
+
+    * fix dockerfile apt-get without force-yes
+
+      M docker/Dockerfile
+
+Mon Apr 8 00:16:02 2024 +0100  Adam Spiers <[email protected]>
+
+    * Bump version to 2.4.1 for development of next release
+
+      M META.json
+      M META.yml
+      M configure.ac
+
+Mon Apr 8 00:13:57 2024 +0100  Adam Spiers <[email protected]>
+
+    * HOWTO-RELEASE: fix previously missed rename from distclean 3aae830e
+    changed the procedure from distclean to maintainer-clean, but
+    missed changing this final detail.
+
+
+      M doc/HOWTO-RELEASE
+
+Sun Apr 7 23:10:08 2024 +0100  Adam Spiers <[email protected]>
+
+    * HOWTO-RELEASE: add reminder to add/remove manual files in CVS
+
+      M doc/HOWTO-RELEASE
+
+Sun Apr 7 22:37:22 2024 +0100  Adam Spiers <[email protected]>
+
+    * HOWTO-RELEASE: suggest using gnupload --dry-run first
+
+      M doc/HOWTO-RELEASE
+
+Sun Apr 7 20:09:43 2024 +0100  Adam Spiers <[email protected]>
+
+    * HOWTO-RELEASE: add link to gnupload docs
+
+      M doc/HOWTO-RELEASE
+
 Sun Apr 7 18:55:18 2024 +0100  Adam Spiers <[email protected]>
 
     * Merge pull request #108 from aspiers/release-v2.4.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/INSTALL.md new/stow-2.4.1/INSTALL.md
--- old/stow-2.4.0/INSTALL.md   2020-11-01 15:44:35.000000000 +0100
+++ new/stow-2.4.1/INSTALL.md   2024-09-08 20:06:18.000000000 +0200
@@ -71,9 +71,15 @@
 
     to avoid a superfluous `use lib` line in your stow executable.
 
-3.  Type `perl Build.PL`.
+3.  If you have LaTeX and texinfo installed and want to build a PDF
+    version of the manual, type:
 
-4.  Type `./Build install` to install the various files.  As noted
+        make pdf
+
+4.  Type `perl Build.PL`.  If you skipped step 3 and see a warning
+    about `manual.pdf` being missing, you can safely ignore it.
+
+5.  Type `./Build install` to install the various files.  As noted
     above, this installs fewer files than the Autotools installation.
 
 Basic Installation via Autotools
@@ -105,13 +111,10 @@
     line into the generated stow script to ensure that it can always
     locate the Perl modules without needing to manually set `PERL5LIB`.
 
-4.  You can remove the generated files from the source code directory
-    by typing `make clean`.  To also remove the files that `configure`
-    created (so you can compile the package for a different computer),
-    type `make distclean`.  There is also a `make maintainer-clean`
-    target, but that is intended mainly for stow's developers.  If you
-    use it, you may have to get all sorts of other programs in order
-    to regenerate files that came with the distribution.
+4.  If you have LaTeX and texinfo installed and want to build a PDF
+    version of the manual, type:
+
+        make pdf
 
 Installation Names
 ------------------
@@ -193,6 +196,17 @@
 
 `configure` also accepts some other, not widely useful, options.
 
+Cleaning up build files
+-----------------------
+
+You can remove the generated files from the source code directory by
+typing `make clean`.  To also remove the files that `configure`
+created (so you can compile the package for a different computer),
+type `make distclean`.  There is also a `make maintainer-clean`
+target, but that is intended mainly for stow's developers.  If you use
+it, you may have to get all sorts of other programs in order to
+regenerate files that came with the distribution.
+
 License for this file
 ---------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/META.json new/stow-2.4.1/META.json
--- old/stow-2.4.0/META.json    2024-04-07 23:20:54.000000000 +0200
+++ new/stow-2.4.1/META.json    2024-09-08 20:24:51.000000000 +0200
@@ -37,11 +37,11 @@
    "provides" : {
       "Stow" : {
          "file" : "lib/Stow.pm",
-         "version" : "v2.4.0"
+         "version" : "v2.4.1"
       },
       "Stow::Util" : {
          "file" : "lib/Stow/Util.pm",
-         "version" : "v2.4.0"
+         "version" : "v2.4.1"
       }
    },
    "release_status" : "stable",
@@ -55,6 +55,6 @@
          "url" : "git://git.savannah.gnu.org/stow.git"
       }
    },
-   "version" : "v2.4.0",
+   "version" : "v2.4.1",
    "x_serialization_backend" : "JSON::PP version 4.16"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/META.yml new/stow-2.4.1/META.yml
--- old/stow-2.4.0/META.yml     2024-04-07 23:20:54.000000000 +0200
+++ new/stow-2.4.1/META.yml     2024-09-08 20:24:51.000000000 +0200
@@ -18,10 +18,10 @@
 provides:
   Stow:
     file: lib/Stow.pm
-    version: v2.4.0
+    version: v2.4.1
   Stow::Util:
     file: lib/Stow/Util.pm
-    version: v2.4.0
+    version: v2.4.1
 requires:
   Carp: '0'
   IO::File: '0'
@@ -30,5 +30,5 @@
   homepage: https://savannah.gnu.org/projects/stow
   license: http://www.gnu.org/licenses/gpl-2.0.html
   repository: git://git.savannah.gnu.org/stow.git
-version: v2.4.0
+version: v2.4.1
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/Makefile.am new/stow-2.4.1/Makefile.am
--- old/stow-2.4.0/Makefile.am  2024-04-07 19:13:09.000000000 +0200
+++ new/stow-2.4.1/Makefile.am  2024-09-08 20:06:18.000000000 +0200
@@ -22,7 +22,7 @@
 HTML = doc/manual-single.html
 dist_doc_DATA = \
        README.md INSTALL.md \
-       $(PDF) $(HTML) doc/version.texi \
+       $(HTML) doc/version.texi \
        ChangeLog doc/ChangeLog.OLD
 
 # automake magic to define where *_DATA files get installed:
@@ -97,7 +97,7 @@
 CPAN_FILES = MANIFEST MANIFEST.SKIP Build.PL META.yml META.json
 EXTRA_DIST = \
        bin/stow.in bin/chkstow.in lib/Stow.pm.in lib/Stow/Util.pm.in \
-       doc/manual-split \
+       $(PDF) doc/manual-split \
        $(TESTS) t/testutil.pm \
        $(DEFAULT_IGNORE_LIST) \
        $(CPAN_FILES)
@@ -237,6 +237,8 @@
                -c USE_TITLEPAGE_FOR_TITLE=1 --no-split -o $@ \
                `test -f 'doc/stow.texi' || echo '$(srcdir)/'`doc/stow.texi
 
+pdf: $(PDF)
+
 $(PDF): $(doc_deps)
        TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
        MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I doc -I 
$(srcdir)/doc' \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/NEWS new/stow-2.4.1/NEWS
--- old/stow-2.4.0/NEWS 2024-04-07 19:55:35.000000000 +0200
+++ new/stow-2.4.1/NEWS 2024-09-08 20:06:18.000000000 +0200
@@ -1,5 +1,55 @@
 News file for Stow.
 
+* Changes in version 2.4.1
+
+*** Fix precedence warning with Perl 5.40.
+
+    Perl 5.40.0 extended the scope of the "Possible precedence issue
+    with control flow operator" warnings to include ternary operators,
+    which reintroduced this warning when running Stow on Perl >= 5.40.0.
+    This has now been fixed.
+
+*** =--dotfiles= option now works correctly with ignore lists
+
+    If the =--dotfiles= option was enabled, files in the package such
+    as =dot-gitignore= would be translated to =.gitignore= prior to
+    stowing, and consequently ignored by the default ignore list.
+    However any file named =dot-*= in a package is obviously intended
+    to be stowed as a dot file, so should not be ignored.
+
+    To fix this, Stow now ignores based on the name in the package,
+    not the potentially translated name used for stowing, and
+    similarly for unstowing.
+
+*** Use shell-like parsing for =.stowrc= arguments
+
+    If a file path or regex in =.stowrc= has a space, the option
+    previously broke because it would have been treated as two options
+    instead of one.  Now it's possible to include options using
+    shell-like quoting, e.g.:
+
+    --target="$HOME/dir with space in/file with space in"
+    --ignore=\\$FOO\\$
+
+*** Make dependency on LaTeX optional
+
+    Previously, the installation instructions always built a PDF
+    version of the manual, which required having LaTeX installed.
+    However LaTeX is a large program which can be awkward to install,
+    so this has now been made optional, and by default the PDF manual
+    is not part of the build.  It can still be built via =make pdf=,
+    and this is documented.
+
+*** Fix Docker builds.
+
+    Fix the return error 100 that was happening when trying to run
+    the build script with docker.
+
+*** Various maintainer tweaks
+
+    Further improved the release process and its documentation in
+    various minor ways.  Perl 5.40 has been added to the test matrix.
+
 * Changes in version 2.4.0
 
 *** --dotfiles now works with directories
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/bin/stow.in new/stow-2.4.1/bin/stow.in
--- old/stow-2.4.0/bin/stow.in  2024-04-07 18:59:40.000000000 +0200
+++ new/stow-2.4.1/bin/stow.in  2024-07-13 18:02:18.000000000 +0200
@@ -460,6 +460,7 @@
 use POSIX qw(getcwd);
 use Getopt::Long qw(GetOptionsFromArray);
 use Scalar::Util qw(reftype);
+use Text::ParseWords qw(shellwords);
 
 @USE_LIB_PMDIR@
 use Stow;
@@ -581,19 +582,19 @@
         'ignore=s' =>
         sub {
             my $regex = $_[1];
-            push @{$options{ignore}}, qr($regex\z);
+            push @{$options{ignore}}, qr{($regex)\z};
         },
 
         'override=s' =>
         sub {
             my $regex = $_[1];
-            push @{$options{override}}, qr(\A$regex);
+            push @{$options{override}}, qr{\A($regex)};
         },
 
         'defer=s' =>
         sub {
             my $regex = $_[1];
-            push @{$options{defer}}, qr(\A$regex);
+            push @{$options{defer}}, qr{\A($regex)};
         },
 
         # a little craziness so we can do different actions on the same line:
@@ -683,7 +684,7 @@
                 or die "Could not open $file for reading\n";
             while (my $line = <$FILE>){
                 chomp $line;
-                push @defaults, split " ", $line;
+                push @defaults, shellwords($line);
             }
             close $FILE or die "Could not close open file: $file\n";
         }
@@ -836,7 +837,7 @@
 Stow home page: <http://www.gnu.org/software/stow/>
 General help using GNU software: <http://www.gnu.org/gethelp/>
 EOT
-    exit defined $msg ? 1 : 0;
+    exit (defined $msg ? 1 : 0);
 }
 
 sub version {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/configure.ac new/stow-2.4.1/configure.ac
--- old/stow-2.4.0/configure.ac 2024-04-07 19:55:35.000000000 +0200
+++ new/stow-2.4.1/configure.ac 2024-04-08 01:24:33.000000000 +0200
@@ -15,7 +15,7 @@
 
 dnl Process this file with Autoconf to produce configure dnl
 
-AC_INIT([stow], [2.4.0], [[email protected]])
+AC_INIT([stow], [2.4.1], [[email protected]])
 AC_PREREQ([2.61])
 AC_CONFIG_AUX_DIR([automake])
 # Unfortunately we have to disable warnings for overrides, because we
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-single.html new/stow-2.4.1/doc/manual-single.html
--- old/stow-2.4.0/doc/manual-single.html       2024-04-07 23:20:30.000000000 
+0200
+++ new/stow-2.4.1/doc/manual-single.html       2024-09-08 20:24:32.000000000 
+0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
@@ -82,7 +82,7 @@
 Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a> &nbsp; 
[<a href="#SEC_Contents" title="Table of contents" 
rel="contents">Contents</a>][<a href="#Index" title="Index" 
rel="index">Index</a>]</p>
 </div>
 <a class="top" id="SEC_Top"></a>
-<p>This manual describes GNU Stow 2.4.0 (7 April 2024), a
+<p>This manual describes GNU Stow 2.4.1 (8 September 2024), a
 symlink farm manager which takes distinct sets of software and/or data
 located in separate directories on the filesystem, and makes them
 appear to be installed in a single directory tree.
@@ -452,6 +452,13 @@
 <samp class="file">stow/dot-emacs.d/init.el</samp>. Any other files, whose 
name does not
 begin with &lsquo;<samp class="samp">dot-</samp>&rsquo;, will be processed as 
usual.
 </p>
+<p>Note that when this option is enabled, any package file or directory
+prefixed with &lsquo;<samp class="samp">dot-</samp>&rsquo; is assumed to be 
named deliberately to be
+stowed with a &lsquo;<samp class="samp">.</samp>&rsquo; prefix, and therefore 
will only be ignored if
+there is an entry in the ignore list (See <a class="xref" 
href="#Ignore-Lists">Ignore Lists</a>) which matches
+this prefix.  So for example, by default <samp 
class="file">dot-gitignore</samp> would not
+be ignored even though &lsquo;<samp class="samp">\.gitignore</samp>&rsquo; is 
in the default ignore list.
+</p>
 </dd>
 <dt>&lsquo;<samp class="samp">--no-folding</samp>&rsquo;</dt>
 <dd>
@@ -1117,7 +1124,11 @@
 character (<code class="command">~</code>) are expanded. An environment 
variable can be
 given in either the <code class="command">$VAR</code> or <code 
class="command">${VAR}</code> form. To
 prevent expansion, escape the <code class="command">$</code> or <code 
class="command">~</code> with a
-backslash.
+backslash.  Since these values are first subject to standard shell
+quoting rules, if you want special characters such as <code 
class="command">\b</code> or
+<code class="command">$</code> to be treated as regular expression assertions 
then they
+will need extra escaping, i.e. <code class="command">\\b</code> and <code 
class="command">\\\$</code>
+respectively.
 </p>
 <p>The options <code class="command">-D</code>, <code 
class="command">-S</code>, and <code class="command">-R</code> are ignored in
 resource files. This is also true of any package names given in the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/Bootstrapping.html 
new/stow-2.4.1/doc/manual-split/Bootstrapping.html
--- old/stow-2.4.0/doc/manual-split/Bootstrapping.html  2024-04-07 
23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/Bootstrapping.html  2024-09-08 
20:24:32.000000000 +0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/Compile_002dtime-vs_002e-Install_002dtime.html 
new/stow-2.4.1/doc/manual-split/Compile_002dtime-vs_002e-Install_002dtime.html
--- 
old/stow-2.4.0/doc/manual-split/Compile_002dtime-vs_002e-Install_002dtime.html  
    2024-04-07 23:20:29.000000000 +0200
+++ 
new/stow-2.4.1/doc/manual-split/Compile_002dtime-vs_002e-Install_002dtime.html  
    2024-09-08 20:24:32.000000000 +0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/Conflicts.html 
new/stow-2.4.1/doc/manual-split/Conflicts.html
--- old/stow-2.4.0/doc/manual-split/Conflicts.html      2024-04-07 
23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/Conflicts.html      2024-09-08 
20:24:32.000000000 +0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/Cygnus-Software.html 
new/stow-2.4.1/doc/manual-split/Cygnus-Software.html
--- old/stow-2.4.0/doc/manual-split/Cygnus-Software.html        2024-04-07 
23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/Cygnus-Software.html        2024-09-08 
20:24:32.000000000 +0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/Deferred-Operation.html 
new/stow-2.4.1/doc/manual-split/Deferred-Operation.html
--- old/stow-2.4.0/doc/manual-split/Deferred-Operation.html     2024-04-07 
23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/Deferred-Operation.html     2024-09-08 
20:24:32.000000000 +0200
@@ -4,8 +4,8 @@
 <!-- This file redirects to the location of a node or anchor -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/Deleting-Packages.html 
new/stow-2.4.1/doc/manual-split/Deleting-Packages.html
--- old/stow-2.4.0/doc/manual-split/Deleting-Packages.html      2024-04-07 
23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/Deleting-Packages.html      2024-09-08 
20:24:32.000000000 +0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/GNU-Emacs.html 
new/stow-2.4.1/doc/manual-split/GNU-Emacs.html
--- old/stow-2.4.0/doc/manual-split/GNU-Emacs.html      2024-04-07 
23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/GNU-Emacs.html      2024-09-08 
20:24:32.000000000 +0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/GNU-General-Public-License.html 
new/stow-2.4.1/doc/manual-split/GNU-General-Public-License.html
--- old/stow-2.4.0/doc/manual-split/GNU-General-Public-License.html     
2024-04-07 23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/GNU-General-Public-License.html     
2024-09-08 20:24:32.000000000 +0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/Ignore-Lists.html 
new/stow-2.4.1/doc/manual-split/Ignore-Lists.html
--- old/stow-2.4.0/doc/manual-split/Ignore-Lists.html   2024-04-07 
23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/Ignore-Lists.html   2024-09-08 
20:24:32.000000000 +0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/Index.html 
new/stow-2.4.1/doc/manual-split/Index.html
--- old/stow-2.4.0/doc/manual-split/Index.html  2024-04-07 23:20:29.000000000 
+0200
+++ new/stow-2.4.1/doc/manual-split/Index.html  2024-09-08 20:24:32.000000000 
+0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/Installing-Packages.html 
new/stow-2.4.1/doc/manual-split/Installing-Packages.html
--- old/stow-2.4.0/doc/manual-split/Installing-Packages.html    2024-04-07 
23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/Installing-Packages.html    2024-09-08 
20:24:32.000000000 +0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/Introduction.html 
new/stow-2.4.1/doc/manual-split/Introduction.html
--- old/stow-2.4.0/doc/manual-split/Introduction.html   2024-04-07 
23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/Introduction.html   2024-09-08 
20:24:32.000000000 +0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/Invoking-Stow.html 
new/stow-2.4.1/doc/manual-split/Invoking-Stow.html
--- old/stow-2.4.0/doc/manual-split/Invoking-Stow.html  2024-04-07 
23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/Invoking-Stow.html  2024-09-08 
20:24:32.000000000 +0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
@@ -174,6 +174,13 @@
 <samp class="file">stow/dot-emacs.d/init.el</samp>. Any other files, whose 
name does not
 begin with &lsquo;<samp class="samp">dot-</samp>&rsquo;, will be processed as 
usual.
 </p>
+<p>Note that when this option is enabled, any package file or directory
+prefixed with &lsquo;<samp class="samp">dot-</samp>&rsquo; is assumed to be 
named deliberately to be
+stowed with a &lsquo;<samp class="samp">.</samp>&rsquo; prefix, and therefore 
will only be ignored if
+there is an entry in the ignore list (See <a class="xref" 
href="Ignore-Lists.html">Ignore Lists</a>) which matches
+this prefix.  So for example, by default <samp 
class="file">dot-gitignore</samp> would not
+be ignored even though &lsquo;<samp class="samp">\.gitignore</samp>&rsquo; is 
in the default ignore list.
+</p>
 </dd>
 <dt>&lsquo;<samp class="samp">--no-folding</samp>&rsquo;</dt>
 <dd>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/Justification-For-Yet-Another-Set-Of-Ignore-Files.html
 
new/stow-2.4.1/doc/manual-split/Justification-For-Yet-Another-Set-Of-Ignore-Files.html
--- 
old/stow-2.4.0/doc/manual-split/Justification-For-Yet-Another-Set-Of-Ignore-Files.html
      2024-04-07 23:20:29.000000000 +0200
+++ 
new/stow-2.4.1/doc/manual-split/Justification-For-Yet-Another-Set-Of-Ignore-Files.html
      2024-09-08 20:24:32.000000000 +0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/Known-Bugs.html 
new/stow-2.4.1/doc/manual-split/Known-Bugs.html
--- old/stow-2.4.0/doc/manual-split/Known-Bugs.html     2024-04-07 
23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/Known-Bugs.html     2024-09-08 
20:24:32.000000000 +0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/Mixing-Operations.html 
new/stow-2.4.1/doc/manual-split/Mixing-Operations.html
--- old/stow-2.4.0/doc/manual-split/Mixing-Operations.html      2024-04-07 
23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/Mixing-Operations.html      2024-09-08 
20:24:32.000000000 +0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/Motivation-For-Ignore-Lists.html 
new/stow-2.4.1/doc/manual-split/Motivation-For-Ignore-Lists.html
--- old/stow-2.4.0/doc/manual-split/Motivation-For-Ignore-Lists.html    
2024-04-07 23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/Motivation-For-Ignore-Lists.html    
2024-09-08 20:24:32.000000000 +0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/Multiple-Stow-Directories.html 
new/stow-2.4.1/doc/manual-split/Multiple-Stow-Directories.html
--- old/stow-2.4.0/doc/manual-split/Multiple-Stow-Directories.html      
2024-04-07 23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/Multiple-Stow-Directories.html      
2024-09-08 20:24:32.000000000 +0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/Other-FSF-Software.html 
new/stow-2.4.1/doc/manual-split/Other-FSF-Software.html
--- old/stow-2.4.0/doc/manual-split/Other-FSF-Software.html     2024-04-07 
23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/Other-FSF-Software.html     2024-09-08 
20:24:32.000000000 +0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/Perl-and-Perl-5-Modules.html 
new/stow-2.4.1/doc/manual-split/Perl-and-Perl-5-Modules.html
--- old/stow-2.4.0/doc/manual-split/Perl-and-Perl-5-Modules.html        
2024-04-07 23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/Perl-and-Perl-5-Modules.html        
2024-09-08 20:24:32.000000000 +0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/Reporting-Bugs.html 
new/stow-2.4.1/doc/manual-split/Reporting-Bugs.html
--- old/stow-2.4.0/doc/manual-split/Reporting-Bugs.html 2024-04-07 
23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/Reporting-Bugs.html 2024-09-08 
20:24:32.000000000 +0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/Resource-Files.html 
new/stow-2.4.1/doc/manual-split/Resource-Files.html
--- old/stow-2.4.0/doc/manual-split/Resource-Files.html 2024-04-07 
23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/Resource-Files.html 2024-09-08 
20:24:32.000000000 +0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
@@ -125,7 +125,11 @@
 character (<code class="command">~</code>) are expanded. An environment 
variable can be
 given in either the <code class="command">$VAR</code> or <code 
class="command">${VAR}</code> form. To
 prevent expansion, escape the <code class="command">$</code> or <code 
class="command">~</code> with a
-backslash.
+backslash.  Since these values are first subject to standard shell
+quoting rules, if you want special characters such as <code 
class="command">\b</code> or
+<code class="command">$</code> to be treated as regular expression assertions 
then they
+will need extra escaping, i.e. <code class="command">\\b</code> and <code 
class="command">\\\$</code>
+respectively.
 </p>
 <p>The options <code class="command">-D</code>, <code 
class="command">-S</code>, and <code class="command">-R</code> are ignored in
 resource files. This is also true of any package names given in the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/Target-Maintenance.html 
new/stow-2.4.1/doc/manual-split/Target-Maintenance.html
--- old/stow-2.4.0/doc/manual-split/Target-Maintenance.html     2024-04-07 
23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/Target-Maintenance.html     2024-09-08 
20:24:32.000000000 +0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/Terminology.html 
new/stow-2.4.1/doc/manual-split/Terminology.html
--- old/stow-2.4.0/doc/manual-split/Terminology.html    2024-04-07 
23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/Terminology.html    2024-09-08 
20:24:32.000000000 +0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/Tree-unfolding.html 
new/stow-2.4.1/doc/manual-split/Tree-unfolding.html
--- old/stow-2.4.0/doc/manual-split/Tree-unfolding.html 2024-04-07 
23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/Tree-unfolding.html 2024-09-08 
20:24:32.000000000 +0200
@@ -4,8 +4,8 @@
 <!-- This file redirects to the location of a node or anchor -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/Types-And-Syntax-Of-Ignore-Lists.html 
new/stow-2.4.1/doc/manual-split/Types-And-Syntax-Of-Ignore-Lists.html
--- old/stow-2.4.0/doc/manual-split/Types-And-Syntax-Of-Ignore-Lists.html       
2024-04-07 23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/Types-And-Syntax-Of-Ignore-Lists.html       
2024-09-08 20:24:32.000000000 +0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/index.html 
new/stow-2.4.1/doc/manual-split/index.html
--- old/stow-2.4.0/doc/manual-split/index.html  2024-04-07 23:20:29.000000000 
+0200
+++ new/stow-2.4.1/doc/manual-split/index.html  2024-09-08 20:24:32.000000000 
+0200
@@ -3,8 +3,8 @@
 <!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
@@ -72,7 +72,7 @@
 </div>
 <hr>
 <a class="top" id="SEC_Top"></a>
-<p>This manual describes GNU Stow 2.4.0 (7 April 2024), a
+<p>This manual describes GNU Stow 2.4.1 (8 September 2024), a
 symlink farm manager which takes distinct sets of software and/or data
 located in separate directories on the filesystem, and makes them
 appear to be installed in a single directory tree.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/symlink.html 
new/stow-2.4.1/doc/manual-split/symlink.html
--- old/stow-2.4.0/doc/manual-split/symlink.html        2024-04-07 
23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/symlink.html        2024-09-08 
20:24:32.000000000 +0200
@@ -4,8 +4,8 @@
 <!-- This file redirects to the location of a node or anchor -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/tree-folding.html 
new/stow-2.4.1/doc/manual-split/tree-folding.html
--- old/stow-2.4.0/doc/manual-split/tree-folding.html   2024-04-07 
23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/tree-folding.html   2024-09-08 
20:24:32.000000000 +0200
@@ -4,8 +4,8 @@
 <!-- This file redirects to the location of a node or anchor -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/manual-split/tree-refolding.html 
new/stow-2.4.1/doc/manual-split/tree-refolding.html
--- old/stow-2.4.0/doc/manual-split/tree-refolding.html 2024-04-07 
23:20:29.000000000 +0200
+++ new/stow-2.4.1/doc/manual-split/tree-refolding.html 2024-09-08 
20:24:32.000000000 +0200
@@ -4,8 +4,8 @@
 <!-- This file redirects to the location of a node or anchor -->
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<!-- This manual describes GNU Stow version 2.4.0
-(7 April 2024), a program for managing farms of symbolic links.
+<!-- This manual describes GNU Stow version 2.4.1
+(8 September 2024), a program for managing farms of symbolic links.
 
 Software and documentation is copyrighted by the following:
 
Binary files old/stow-2.4.0/doc/manual.pdf and new/stow-2.4.1/doc/manual.pdf 
differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/stamp-vti new/stow-2.4.1/doc/stamp-vti
--- old/stow-2.4.0/doc/stamp-vti        2024-04-07 23:20:28.000000000 +0200
+++ new/stow-2.4.1/doc/stamp-vti        2024-09-08 20:24:31.000000000 +0200
@@ -1,4 +1,4 @@
-@set UPDATED 7 April 2024
-@set UPDATED-MONTH April 2024
-@set EDITION 2.4.0
-@set VERSION 2.4.0
+@set UPDATED 8 September 2024
+@set UPDATED-MONTH September 2024
+@set EDITION 2.4.1
+@set VERSION 2.4.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/stow.8 new/stow-2.4.1/doc/stow.8
--- old/stow-2.4.0/doc/stow.8   2024-04-07 23:20:28.000000000 +0200
+++ new/stow-2.4.1/doc/stow.8   2024-09-08 20:24:32.000000000 +0200
@@ -55,7 +55,7 @@
 .\" ========================================================================
 .\"
 .IX Title "stow 8"
-.TH stow 8 2024-04-07 "perl v5.38.2" "User Contributed Perl Documentation"
+.TH stow 8 2024-09-08 "perl v5.38.2" "User Contributed Perl Documentation"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -67,7 +67,7 @@
 stow [ options ] package ...
 .SH DESCRIPTION
 .IX Header "DESCRIPTION"
-This manual page describes GNU Stow 2.4.0.  This is not the
+This manual page describes GNU Stow 2.4.1.  This is not the
 definitive documentation for Stow; for that, see the accompanying info
 manual, e.g. by typing \f(CW\*(C`info stow\*(C'\fR.
 .PP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/stow.info new/stow-2.4.1/doc/stow.info
--- old/stow-2.4.0/doc/stow.info        2024-04-07 23:20:28.000000000 +0200
+++ new/stow-2.4.1/doc/stow.info        2024-09-08 20:24:32.000000000 +0200
@@ -1,7 +1,7 @@
 This is stow.info, produced by makeinfo version 7.0.3 from stow.texi.
 
-This manual describes GNU Stow version 2.4.0 (7 April 2024), a program
-for managing farms of symbolic links.
+This manual describes GNU Stow version 2.4.1 (8 September 2024), a
+program for managing farms of symbolic links.
 
    Software and documentation is copyrighted by the following:
 
@@ -36,7 +36,7 @@
 Stow
 ****
 
-This manual describes GNU Stow 2.4.0 (7 April 2024), a symlink farm
+This manual describes GNU Stow 2.4.1 (8 September 2024), a symlink farm
 manager which takes distinct sets of software and/or data located in
 separate directories on the filesystem, and makes them appear to be
 installed in a single directory tree.
@@ -357,6 +357,14 @@
      ‘stow/dot-emacs.d/init.el’.  Any other files, whose name does not
      begin with ‘dot-’, will be processed as usual.
 
+     Note that when this option is enabled, any package file or
+     directory prefixed with ‘dot-’ is assumed to be named deliberately
+     to be stowed with a ‘.’ prefix, and therefore will only be ignored
+     if there is an entry in the ignore list (*Note Ignore Lists::)
+     which matches this prefix.  So for example, by default
+     ‘dot-gitignore’ would not be ignored even though ‘\.gitignore’ is
+     in the default ignore list.
+
 ‘--no-folding’
 
      This disables any further tree folding (*note tree folding::) or
@@ -922,7 +930,10 @@
    For options that take a file path, environment variables and the
 tilde character (‘~’) are expanded.  An environment variable can be
 given in either the ‘$VAR’ or ‘${VAR}’ form.  To prevent expansion,
-escape the ‘$’ or ‘~’ with a backslash.
+escape the ‘$’ or ‘~’ with a backslash.  Since these values are first
+subject to standard shell quoting rules, if you want special characters
+such as ‘\b’ or ‘$’ to be treated as regular expression assertions then
+they will need extra escaping, i.e.  ‘\\b’ and ‘\\\$’ respectively.
 
    The options ‘-D’, ‘-S’, and ‘-R’ are ignored in resource files. 
 This
 is also true of any package names given in the resource file.
@@ -1993,7 +2004,7 @@
 * Menu:
 
 * absolute symlink:                      Terminology.         (line  50)
-* adopting existing files:               Invoking Stow.       (line 115)
+* adopting existing files:               Invoking Stow.       (line 123)
 * configuration files:                   Resource Files.      (line   6)
 * conflicts:                             Installing Packages. (line  85)
 * conflicts <1>:                         Conflicts.           (line   6)
@@ -2002,7 +2013,7 @@
 * deletion:                              Deleting Packages.   (line   6)
 * directory folding:                     Installing Packages. (line  16)
 * dotfiles:                              Invoking Stow.       (line  87)
-* dry run:                               Invoking Stow.       (line 137)
+* dry run:                               Invoking Stow.       (line 145)
 * folding trees:                         Installing Packages. (line  16)
 * ignore lists:                          Ignore Lists.        (line   6)
 * ignore lists <1>:                      Motivation For Ignore Lists.
@@ -2020,7 +2031,7 @@
 * refolding trees:                       Deleting Packages.   (line  25)
 * relative symlink:                      Terminology.         (line  50)
 * resource files:                        Resource Files.      (line   6)
-* simulated run:                         Invoking Stow.       (line 137)
+* simulated run:                         Invoking Stow.       (line 145)
 * splitting open folded trees:           Installing Packages. (line  51)
 * stow directory:                        Terminology.         (line  19)
 * symlink:                               Terminology.         (line  50)
@@ -2032,49 +2043,49 @@
 * tree unfolding:                        Installing Packages. (line  51)
 * tree unsplitting:                      Installing Packages. (line  51)
 * unfolding trees:                       Installing Packages. (line  51)
-* verbosity levels:                      Invoking Stow.       (line 143)
+* verbosity levels:                      Invoking Stow.       (line 151)
 
 
 
 Tag Table:
-Node: Top1418
-Node: Introduction3075
-Ref: Introduction-Footnote-16579
-Ref: Introduction-Footnote-26688
-Ref: Introduction-Footnote-36786
-Node: Terminology6863
-Ref: symlink9365
-Node: Invoking Stow11207
-Node: Ignore Lists19328
-Node: Motivation For Ignore Lists19592
-Node: Types And Syntax Of Ignore Lists21125
-Ref: Types And Syntax Of Ignore Lists-Footnote-124442
-Ref: Types And Syntax Of Ignore Lists-Footnote-224608
-Ref: Types And Syntax Of Ignore Lists-Footnote-324856
-Node: Justification For Yet Another Set Of Ignore Files25009
-Node: Installing Packages26628
-Ref: tree folding27190
-Ref: Tree unfolding29194
-Node: Deleting Packages31351
-Ref: tree refolding32420
-Ref: Deleting Packages-Footnote-132980
-Node: Conflicts33576
-Ref: Deferred Operation34566
-Node: Mixing Operations35166
-Node: Multiple Stow Directories36155
-Node: Target Maintenance37245
-Node: Resource Files38528
-Node: Compile-time vs. Install-time41124
-Node: GNU Emacs44649
-Ref: GNU Emacs-Footnote-145642
-Node: Other FSF Software45706
-Node: Cygnus Software46492
-Node: Perl and Perl 5 Modules48012
-Node: Bootstrapping51666
-Node: Reporting Bugs52480
-Node: Known Bugs54252
-Node: GNU General Public License54758
-Node: Index92515
+Node: Top1422
+Node: Introduction3083
+Ref: Introduction-Footnote-16587
+Ref: Introduction-Footnote-26696
+Ref: Introduction-Footnote-36794
+Node: Terminology6871
+Ref: symlink9373
+Node: Invoking Stow11215
+Node: Ignore Lists19793
+Node: Motivation For Ignore Lists20057
+Node: Types And Syntax Of Ignore Lists21590
+Ref: Types And Syntax Of Ignore Lists-Footnote-124907
+Ref: Types And Syntax Of Ignore Lists-Footnote-225073
+Ref: Types And Syntax Of Ignore Lists-Footnote-325321
+Node: Justification For Yet Another Set Of Ignore Files25474
+Node: Installing Packages27093
+Ref: tree folding27655
+Ref: Tree unfolding29659
+Node: Deleting Packages31816
+Ref: tree refolding32885
+Ref: Deleting Packages-Footnote-133445
+Node: Conflicts34041
+Ref: Deferred Operation35031
+Node: Mixing Operations35631
+Node: Multiple Stow Directories36620
+Node: Target Maintenance37710
+Node: Resource Files38993
+Node: Compile-time vs. Install-time41847
+Node: GNU Emacs45372
+Ref: GNU Emacs-Footnote-146365
+Node: Other FSF Software46429
+Node: Cygnus Software47215
+Node: Perl and Perl 5 Modules48735
+Node: Bootstrapping52389
+Node: Reporting Bugs53203
+Node: Known Bugs54975
+Node: GNU General Public License55481
+Node: Index93238
 
 End Tag Table
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/stow.texi new/stow-2.4.1/doc/stow.texi
--- old/stow-2.4.0/doc/stow.texi        2024-04-07 15:23:27.000000000 +0200
+++ new/stow-2.4.1/doc/stow.texi        2024-09-08 20:06:18.000000000 +0200
@@ -437,6 +437,13 @@
 @file{stow/dot-emacs.d/init.el}. Any other files, whose name does not
 begin with @samp{dot-}, will be processed as usual.
 
+Note that when this option is enabled, any package file or directory
+prefixed with @samp{dot-} is assumed to be named deliberately to be
+stowed with a @samp{.} prefix, and therefore will only be ignored if
+there is an entry in the ignore list (@xref{Ignore Lists}) which matches
+this prefix.  So for example, by default @file{dot-gitignore} would not
+be ignored even though @samp{\.gitignore} is in the default ignore list.
+
 @item --no-folding
 
 This disables any further tree folding (@pxref{tree folding}) or
@@ -1016,7 +1023,11 @@
 character (@command{~}) are expanded. An environment variable can be
 given in either the @command{$VAR} or @command{$@{VAR@}} form. To
 prevent expansion, escape the @command{$} or @command{~} with a
-backslash.
+backslash.  Since these values are first subject to standard shell
+quoting rules, if you want special characters such as @command{\b} or
+@command{$} to be treated as regular expression assertions then they
+will need extra escaping, i.e. @command{\\b} and @command{\\\$}
+respectively.
 
 The options @command{-D}, @command{-S}, and @command{-R} are ignored in
 resource files. This is also true of any package names given in the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/doc/version.texi new/stow-2.4.1/doc/version.texi
--- old/stow-2.4.0/doc/version.texi     2024-04-07 23:20:28.000000000 +0200
+++ new/stow-2.4.1/doc/version.texi     2024-09-08 20:24:31.000000000 +0200
@@ -1,4 +1,4 @@
-@set UPDATED 7 April 2024
-@set UPDATED-MONTH April 2024
-@set EDITION 2.4.0
-@set VERSION 2.4.0
+@set UPDATED 8 September 2024
+@set UPDATED-MONTH September 2024
+@set EDITION 2.4.1
+@set VERSION 2.4.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/lib/Stow.pm.in new/stow-2.4.1/lib/Stow.pm.in
--- old/stow-2.4.0/lib/Stow.pm.in       2024-04-07 18:59:29.000000000 +0200
+++ new/stow-2.4.1/lib/Stow.pm.in       2024-09-08 20:06:18.000000000 +0200
@@ -431,17 +431,17 @@
 
         my $package_node_path = join_paths($pkg_subdir, $node);
         my $target_node = $node;
+        my $target_node_path = join_paths($target_subdir, $target_node);
+        next NODE if $self->ignore($stow_path, $package, $target_node_path);
 
         if ($self->{dotfiles}) {
             my $adjusted = adjust_dotfile($node);
             if ($adjusted ne $node) {
                 debug(4, 1, "Adjusting: $node => $adjusted");
                 $target_node = $adjusted;
+                $target_node_path = join_paths($target_subdir, $target_node);
             }
         }
-        my $target_node_path = join_paths($target_subdir, $target_node);
-
-        next NODE if $self->ignore($stow_path, $package, $target_node_path);
 
         $self->stow_node(
             $stow_path,
@@ -800,6 +800,9 @@
 
         my $package_node = $node;
         my $target_node = $node;
+        my $target_node_path = join_paths($target_subdir, $target_node);
+
+        next NODE if $self->ignore($self->{stow_path}, $package, 
$target_node_path);
 
         if ($self->{dotfiles}) {
             if ($self->{compat}) {
@@ -819,13 +822,11 @@
                 if ($adjusted ne $node) {
                     debug(4, 1, "Adjusting: $node => $adjusted");
                     $target_node = $adjusted;
+                    $target_node_path = join_paths($target_subdir, 
$target_node);
                 }
             }
         }
         my $package_node_path = join_paths($pkg_subdir, $package_node);
-        my $target_node_path = join_paths($target_subdir, $target_node);
-
-        next NODE if $self->ignore($self->{stow_path}, $package, 
$target_node_path);
 
         $self->unstow_node(
             $package,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/t/cli_options.t new/stow-2.4.1/t/cli_options.t
--- old/stow-2.4.0/t/cli_options.t      2021-04-05 00:35:02.000000000 +0200
+++ new/stow-2.4.1/t/cli_options.t      2024-07-13 18:02:18.000000000 +0200
@@ -73,7 +73,7 @@
     'dummy'
 );
 ($options, $pkgs_to_delete, $pkgs_to_stow) = process_options();
-is_deeply($options->{defer}, [ qr(\Aman), qr(\Ainfo) ] => 'defer man and 
info');
+is_deeply($options->{defer}, [ qr{\A(man)}, qr{\A(info)} ] => 'defer man and 
info');
 
 #
 # Check setting override paths
@@ -84,7 +84,7 @@
     'dummy'
 );
 ($options, $pkgs_to_delete, $pkgs_to_stow) = process_options();
-is_deeply($options->{override}, [qr(\Aman), qr(\Ainfo)] => 'override man and 
info');
+is_deeply($options->{override}, [qr{\A(man)}, qr{\A(info)}] => 'override man 
and info');
 
 #
 # Check setting ignored paths
@@ -95,7 +95,7 @@
     'dummy'
 );
 ($options, $pkgs_to_delete, $pkgs_to_stow) = process_options();
-is_deeply($options->{ignore}, [ qr(~\z), qr(\.#.*\z) ] => 'ignore temp files');
+is_deeply($options->{ignore}, [ qr{(~)\z}, qr{(\.#.*)\z} ] => 'ignore temp 
files');
 
 #
 # Check that expansion not applied.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/t/dotfiles.t new/stow-2.4.1/t/dotfiles.t
--- old/stow-2.4.0/t/dotfiles.t 2024-04-07 18:59:29.000000000 +0200
+++ new/stow-2.4.1/t/dotfiles.t 2024-09-08 20:06:18.000000000 +0200
@@ -22,7 +22,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 12;
+use Test::More tests => 14;
 use English qw(-no_match_vars);
 
 use Stow::Util qw(adjust_dotfile unadjust_dotfile);
@@ -185,6 +185,21 @@
     );
 });
 
+subtest("when stowing, dot-gitignore is not ignored by default", sub {
+    plan tests => 1;
+    $stow = new_Stow(dir => '../stow', dotfiles => 1);
+
+    make_file('../stow/dotfiles/dot-gitignore');
+
+    $stow->plan_stow('dotfiles');
+    $stow->process_tasks();
+    is(
+        readlink('.gitignore'),
+        '../stow/dotfiles/dot-gitignore',
+        => "dot-gitignore shouldn't have been ignored"
+    );
+});
+
 subtest("unstow .bar from dot-bar", sub {
     plan tests => 3;
     $stow = new_Stow(dir => '../stow', dotfiles => 1);
@@ -233,3 +248,19 @@
     ok(! -e '.emacs.d/init.el', '.emacs.d/init.el unstowed');
     ok(-d '.emacs.d/' => '.emacs.d left behind');
 });
+
+subtest("when unstowing, dot-gitignore is not ignored by default", sub {
+    plan tests => 1;
+    $stow = new_Stow(dir => '../stow', dotfiles => 1);
+
+    system('pwd');
+    make_file('../stow/dotfiles/dot-gitignore');
+    -e '.gitignore' or make_link('.gitignore', 
'../stow/dotfiles/dot-gitignore');
+
+    $stow->plan_unstow('dotfiles');
+    $stow->process_tasks();
+    ok(
+        ! -e ('.gitignore')
+        => "dot-gitignore shouldn't have been ignored"
+    );
+});
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/t/ignore.t new/stow-2.4.1/t/ignore.t
--- old/stow-2.4.0/t/ignore.t   2020-11-01 15:44:35.000000000 +0100
+++ new/stow-2.4.1/t/ignore.t   2024-09-08 20:06:18.000000000 +0200
@@ -112,7 +112,7 @@
 sub setup_user_global_list {
     # Now test with global ignore list in home directory
     $ENV{HOME} = tempdir();
-    make_file(join_paths($ENV{HOME}, $Stow::GLOBAL_IGNORE_FILE), <<EOF);
+    setup_global_ignore(<<EOF);
 exact
 .+substring.+ # here's a comment
 .+\.extension
@@ -124,10 +124,9 @@
     my ($stow_path, $package, $list) = @_;
     my $package_path = join_paths($stow_path, $package);
     make_path($package_path);
-    my $local_ignore = join_paths($package_path, $Stow::LOCAL_IGNORE_FILE);
-    make_file($local_ignore, $list);
-    $stow->invalidate_memoized_regexp($local_ignore);
-    return $local_ignore;
+    my $package_ignore = setup_package_ignore($package_path, $list);
+    $stow->invalidate_memoized_regexp($package_ignore);
+    return $package_ignore;
 }
 
 sub main {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/t/rc_options.t new/stow-2.4.1/t/rc_options.t
--- old/stow-2.4.0/t/rc_options.t       2020-11-01 15:44:35.000000000 +0100
+++ new/stow-2.4.1/t/rc_options.t       2024-07-13 18:02:18.000000000 +0200
@@ -22,7 +22,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 34;
+use Test::More tests => 35;
 
 use testutil;
 
@@ -102,7 +102,7 @@
 
 ($options, $pkgs_to_delete, $pkgs_to_stow) = process_options();
 is($options->{target},  "../target", "--target from \$HOME/.stowrc");
-is($options->{dir}, "../stow", "-d from \$HOME/.stowrc");
+is($options->{dir}, "../stow", "-d ../stow from \$HOME/.stowrc");
 
 #
 # Test ~/.stowrc file with one absolute option per line.
@@ -117,7 +117,20 @@
 is($options->{target},  "$ABS_TEST_DIR/target"
    => "--target from \$HOME/.stowrc");
 is($options->{dir}, "$ABS_TEST_DIR/stow"
-   => "-d from \$HOME/.stowrc");
+   => "-d $ABS_TEST_DIR/stow from \$HOME/.stowrc");
+
+#
+# Test ~/.stowrc file with with options with paths containing spaces.
+#
+local @ARGV = ('dummy');
+make_file($HOME_RC_FILE, <<HERE);
+    -d "$ABS_TEST_DIR/stow directory"
+    --target "$ABS_TEST_DIR/target"
+HERE
+
+($options, $pkgs_to_delete, $pkgs_to_stow) = process_options();
+is($options->{dir},  "$ABS_TEST_DIR/stow directory",
+   => "-d from \$HOME/.stowrc with spaces");
 
 #
 # Test that some but not all options ~/.stowrc file are overridden by
@@ -140,7 +153,7 @@
    => "--target overridden by \$PWD/.stowrc");
 is($options->{dir}, "$ABS_TEST_DIR/stow"
    => "-d overridden \$PWD/.stowrc");
-is_deeply($options->{defer}, [qr(\Ainfo), qr(\Aman)],
+is_deeply($options->{defer}, [qr{\A(info)}, qr{\A(man)}],
           'defer man and info');
 unlink($CWD_RC_FILE) or die "Failed to unlink $CWD_RC_FILE";
 
@@ -166,7 +179,7 @@
     --defer=info
 HERE
 ($options, $pkgs_to_delete, $pkgs_to_stow) = process_options();
-is_deeply($options->{defer}, [qr(\Ainfo), qr(\Aman)],
+is_deeply($options->{defer}, [qr{\A(info)}, qr{\A(man)}],
           'defer man and info');
 
 # ======== Filepath Expansion Tests ========
@@ -215,26 +228,32 @@
 is(expand_tilde('\~/path'), '~/path', 'escaped tilde');
 
 #
-# Test that environment variable expansion is applied.
+# Test that environment variable expansion is applied unless quoted.
+# Include examples from the manual
 #
 make_file($HOME_RC_FILE, <<'HERE');
 --dir=$HOME/stow
---target=$HOME/stow
---ignore=\$HOME
---defer=\$HOME
---override=\$HOME
+--target="$HOME/dir with space in/file with space in"
+--ignore=\\$FOO\\$
+--defer="foo\\b.*bar"
+--defer="\\.jpg\$"
+--override=\\.png\$
+--override=bin|man
+--ignore='perllocal\.pod'
+--ignore='\.packlist'
+--ignore='\.bs'
 HERE
 ($options, $pkgs_to_delete, $pkgs_to_stow) = get_config_file_options();
 is($options->{dir}, "$ABS_TEST_DIR/stow",
-    "apply environment expansion on \$HOME/.stowrc --dir");
-is($options->{target}, "$ABS_TEST_DIR/stow",
-    "apply environment expansion on \$HOME/.stowrc --target");
-is_deeply($options->{ignore}, [qr(\$HOME\z)],
-    "environment expansion not applied on --ignore");
-is_deeply($options->{defer}, [qr(\A\$HOME)],
-    "environment expansion not applied on --defer");
-is_deeply($options->{override}, [qr(\A\$HOME)],
-    "environment expansion not applied on --override");
+    "apply environment expansion on --dir");
+is($options->{target}, "$ABS_TEST_DIR/dir with space in/file with space in",
+    "apply environment expansion on --target");
+is_deeply($options->{ignore}, [qr{(\$FOO\$)\z}, qr{(perllocal\.pod)\z}, 
qr{(\.packlist)\z}, qr{(\.bs)\z}],
+    'environment expansion not applied on --ignore but backslash removed');
+is_deeply($options->{defer}, [qr{\A(foo\b.*bar)}, qr{\A(\.jpg$)}],
+    'environment expansion not applied on --defer but backslash removed');
+is_deeply($options->{override}, [qr{\A(\.png$)}, qr{\A(bin|man)}],
+    'environment expansion not applied on --override but backslash removed');
 
 #
 # Test that tilde expansion is applied in correct places.
@@ -251,11 +270,11 @@
     "apply tilde expansion on \$HOME/.stowrc --dir");
 is($options->{target}, "$ABS_TEST_DIR/stow",
     "apply tilde expansion on \$HOME/.stowrc --target");
-is_deeply($options->{ignore}, [qr(~/stow\z)],
+is_deeply($options->{ignore}, [qr{(~/stow)\z}],
     "tilde expansion not applied on --ignore");
-is_deeply($options->{defer}, [qr(\A~/stow)],
+is_deeply($options->{defer}, [qr{\A(~/stow)}],
     "tilde expansion not applied on --defer");
-is_deeply($options->{override}, [qr(\A~/stow)],
+is_deeply($options->{override}, [qr{\A(~/stow)}],
     "tilde expansion not applied on --override");
 
 #
@@ -263,4 +282,3 @@
 #
 unlink $HOME_RC_FILE or die "Unable to clean up $HOME_RC_FILE.\n";
 remove_dir($ABS_TEST_DIR);
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/stow-2.4.0/t/testutil.pm new/stow-2.4.1/t/testutil.pm
--- old/stow-2.4.0/t/testutil.pm        2024-04-07 18:59:29.000000000 +0200
+++ new/stow-2.4.1/t/testutil.pm        2024-09-08 20:06:18.000000000 +0200
@@ -31,7 +31,7 @@
 use Test::More;
 
 use Stow;
-use Stow::Util qw(parent canon_path);
+use Stow::Util qw(parent canon_path join_paths);
 
 use base qw(Exporter);
 our @EXPORT = qw(
@@ -41,6 +41,7 @@
     cd
     new_Stow new_compat_Stow
     make_path make_link make_invalid_link make_file
+    setup_global_ignore setup_package_ignore
     remove_dir remove_file remove_link
     cat_file
     is_link is_dir_not_symlink is_nonexistent_path
@@ -56,7 +57,7 @@
     # Create a run_from/ subdirectory for tests which want to run
     # from a separate directory outside the Stow directory or
     # target directory.
-    for my $dir ("target", "stow", "run_from") {
+    for my $dir ("target", "stow", "run_from", "stow directory") {
         my $path = "$test_dir/$dir";
         -d $path and remove_tree($path);
         make_path($path);
@@ -160,6 +161,20 @@
     close $FILE;
 }
 
+sub setup_global_ignore {
+    my ($contents) = @_;
+    my $global_ignore_file = join_paths($ENV{HOME}, $Stow::GLOBAL_IGNORE_FILE);
+    make_file($global_ignore_file, $contents);
+    return $global_ignore_file;
+}
+
+sub setup_package_ignore {
+    my ($package_path, $contents) = @_;
+    my $package_ignore_file = join_paths($package_path, 
$Stow::LOCAL_IGNORE_FILE);
+    make_file($package_ignore_file, $contents);
+    return $package_ignore_file;
+}
+
 #===== SUBROUTINE ===========================================================
 # Name      : remove_link()
 # Purpose   : remove an esiting symbolic link

Reply via email to