In principle this is an incompatible change but only for strange input
files and only if they use &:changequote.
We need an ad-hoc test for this.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
recognised at start of line only (possibly after lwsp)
args are processed for &
recognised at start of line only (possibly after lwsp)
args are processed for &
-&:include filename filename should usually be foo.sd.mk
+&:include filename filename should usually be [&]foo.sd.mk
&:-include filename tolerate nonexistent file
filenames are relative to $(top_srcdir)
&:-include filename tolerate nonexistent file
filenames are relative to $(top_srcdir)
&!<lwsp> disables & until EOL (and then disappears)
&!<lwsp> disables & until EOL (and then disappears)
$pfxmap{$_} = $srcdirmap{$_}.'/' foreach keys %srcdirmap;
while (<$input>) {
$pfxmap{$_} = $srcdirmap{$_}.'/' foreach keys %srcdirmap;
while (<$input>) {
+ if (s#^\s*$esc\:changequote\s+(\S+)\s+$##) {
+ $$esclitr = $1;
+ $set_esc->();
+ next;
+ } elsif (s#^\s*$esc\:(?=(-?)include)##) {
+ } elsif (m#^\s*$esc\:([a-z][-0-9a-z_]*)#) {
+ die "unknown directive $1";
}
for (;;) {
unless (s{^(.*?)$esc}{}) { o $_; last; }
}
for (;;) {
unless (s{^(.*?)$esc}{}) { o $_; last; }
$var_prefix, $var_prefix_name, $targets,
$subf, $esclitr, $1);
o "\n";
$var_prefix, $var_prefix_name, $targets,
$subf, $esclitr, $1);
o "\n";
- } elsif (m#^changequote\s+(\S+)\s+$#) {
- $$esclitr = $1;
- $set_esc->();
- die "unknown directive $_ ";
+ die "internal error buffering directive $_ ";
# autogenerated - do not edit
# subdirectory test cases
# autogenerated - do not edit
# subdirectory test cases
# doctests:
sub/dir/all:: $(sub_dir_TARGETS)
# doctests:
sub/dir/all:: $(sub_dir_TARGETS)
# subdirectory test cases
# subdirectory test cases
# doctests:
&:include &doctest.sd.mk
# doctests:
&:include &doctest.sd.mk