Hello autoconf-patches,
Here's a series of patches that, when applied, should allow for mostly
arbitrary characters
- in the absolute name of the source and build trees of Autoconf
(but not in the relative $srcdir -- of course `make' cannot cope with
that),
- in $TMPDIR,
- in the name of the autom4te cache file,
- in most command line arguments passed to Autoconf's programs
(and even some for config.status).
For these, `make all check dist' will succeed if you use the latest
git Automake to bootstrap the tree (including a couple of pending
patches, which I guess I'll apply soon).
Note that this patch series will _not_ allow for white space in $prefix,
or, more generally, any of the installation directory variables. Which
is the reason why `distcheck' will not succeed in a build tree with
spaces in the absolute name.
Now to the open issues:
- There is too much dwimmery going on in perl. I think it needs more
than one quoting function; one for xsystem, and one for stuff like
... = new Autom4te::XFile "> $file"
but I wouldn't know how to make it foolproof. First, if the space is
missing after `>' and $file begins with `>', then append mode is used.
But also, if $file begins with whitespace, that is just ignored anyway.
Not sure whether we want to protect the user from all such kinds of
things.
- If the build tree name contains whitespace, the manpages come out
wrongly. The synopsis says
| dir with spaces/build/bin/ifnames [OPTION] ... [FILE] ...
instead of
| ifnames [OPTION] ... [FILE] ...
because `../tests/ifnames --help' outputs
| Usage: /tmp/dir with spaces/build/bin/ifnames [OPTION] ... [FILE] ...
Dunno whether it bothers me enough to fix it.
Anyway, I'd appreciate review, and of course also comments along the
lines of "may review in 2 weeks, please don't apply yet" or whatever
else you think.
Thanks to Ben Pfaff for teaching me `git rebase --interactive'.
FWIW, the patch mails are formatted using `git format-patch', which
means the Subject: line and everything before `^---$' are the ChangeLog
entry, then comes mail commentary, then the actual diff. (Just in case
other people find this format a bit in need of getting used to.)
Cheers,
Ralf