X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?p=subdirmk.git;a=blobdiff_plain;f=generate;h=4bc1e74eb712a3a799bb9ee19912189d58b91e08;hp=2e77df3749084dc480b997e9bb83fdcb3329178a;hb=57a9bee6bf459a1499729159007bfd95110b94e2;hpb=e8d42d59cf11aaace6b7833ae3274314a15e4250 diff --git a/generate b/generate index 2e77df3..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,7 +277,7 @@ sub process_input_mk ($$$$) { } } } - die "unclosed $nest[0][0]" if @nest; + die "unclosed $nest[0][0]" if $nest[0][0]; $input->error and die "read $f: $!\n"; close $input or die "close $f: $!\n"; }