join_paths() is used in specific ways and has specific behaviour
required which is nuanced and not obvious at first sight. So make
this explicit for future reference.
Previously join_paths() was incorrectly handling absolute paths, for
example join_paths('a/b', '/c/d') would return 'a/b/c/d' rather than
'/c/d'. This was a problem when following a symlink in
find_stowed_path(), because if the symlink was not owned by Stow and
pointed to an absolute path, find_stowed_path() might accidentally
deem the link owned by Stow, if c/d was a valid path relative to the
current directory.
Unlike with the stow_{contents,node}{,_orig}() counterpart functions,
when unstowing, it's not necessary to pass the $stow_path parameter
because it can never differ from $self->{stow_path}.
The stow_*() functions need this for the corner case of unfolding a
tree which is stowed from a different stow directory to the one being
used for the current stowing operation (see the "Multiple Stow
Directories" section of the manual).
At first sight this parameter looks redundant since we have
$self->{stow_path}, but in one case the value can differ from that,
so mention that explicitly.
Allow easy navigation to function definitions in emacs.
The rg (ripgrep) search is needed because as the dumb-jump README says:
[...] the default searcher (git-grep) won't be able to search
outside of the project root. This edge case will be fixed in a
future release.
See: https://github.com/jacktasia/dumb-jump
We no longer need to ensure that texi2any (a.k.a. makeinfo) is called
with -I $(srcdir) in order to make the
@verbatiminclude default-ignore-list
in the manual work, because texi2any includes the current working
directory by default anyway. Presumably this behaviour was introduced
after this AM_MAKEINFOFLAGS was previously added, because it was
needed at some point in the past.