From: Ian Jackson Date: Thu, 26 Dec 2019 01:04:58 +0000 (+0000) Subject: generate: Make @nest always be nonempty X-Git-Tag: subdirmk/0.3~58 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?p=subdirmk.git;a=commitdiff_plain;h=57a9bee6bf459a1499729159007bfd95110b94e2 generate: Make @nest always be nonempty No outward functional change, but makes the error handling etc. slightly simpler. Signed-off-by: Ian Jackson --- 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"; }