X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?p=subdirmk.git;a=blobdiff_plain;f=generate;h=4bc1e74eb712a3a799bb9ee19912189d58b91e08;hp=52a0ec8262522076de57b00cbe6013dd04a8d59d;hb=57a9bee6bf459a1499729159007bfd95110b94e2;hpb=8c3e6dc4a16406496aa6991f8dc2fb77a96359ea diff --git a/generate b/generate index 52a0ec8..4bc1e74 100755 --- a/generate +++ b/generate @@ -180,7 +180,7 @@ sub process_input_mk ($$$$) { $pfxmap{$_} = $srcdirmap{$_}.'/' foreach keys %srcdirmap; local $ddbl; - my @nest; + my @nest = (['']); my $push_nest = sub { my ($nk, $nndbl) = @_; @@ -213,7 +213,7 @@ sub process_input_mk ($$$$) { } for (;;) { die if $ddbl && defined $buffering_output; - unless (@nest && $nest[0][0] eq 'Eval' + unless ($nest[0][0] eq 'Eval' ? s{^(.*?)($esc|[{}])}{} : s{^(.*?)($esc)}{}) { od $_; last; } od $1; @@ -277,6 +277,7 @@ sub process_input_mk ($$$$) { } } } + die "unclosed $nest[0][0]" if $nest[0][0]; $input->error and die "read $f: $!\n"; close $input or die "close $f: $!\n"; }