chiark / gitweb /
generate: Make @nest always be nonempty
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 26 Dec 2019 01:04:58 +0000 (01:04 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 30 Dec 2019 11:35:15 +0000 (11:35 +0000)
No outward functional change, but makes the error handling
etc. slightly simpler.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
generate

index 2e77df3749084dc480b997e9bb83fdcb3329178a..4bc1e74eb712a3a799bb9ee19912189d58b91e08 100755 (executable)
--- 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";
 }