Re: infinite loop in git-send-email with alias files
- From
Johannes Sixt <j.sixt@viscovery.net>
- Date
- Jul 23, 2009, 12:30 UTC
- Message-ID
- <4A6857FF.5070401@viscovery.net>
- In-Reply-To
- <20090723110928.GC4247@coredump.intra.peff.net>
Jeff King schrieb:
Show 8 quoted lines
> +my %EXPANDED_ALIASES;
> +sub expand_one_alias {
> + my $alias = shift;
> + if ($EXPANDED_ALIASES{$alias}) {
> + die "fatal: alias '$alias' expands to itself\n";
> + }
> + local $EXPANDED_ALIASES{$alias} = 1;
> + return $aliases{$alias} ? expand_aliases(@{$aliases{$alias}}) : $alias;What does 'local' make local here? Only the assignment of the slot $EXPANDED_ALIASES{$alias}? Or the whole %EXPANDED_ALIASES? If the latter, does this copy the existing %EXPANDED_ALIASES before the assignment is made; otherwise, how can this work if only ever a single slot of %EXPANDED_ALIASES is filled in?
(Disclaimer: I'm not a perl expert, obviously, and I didn't test your patch.)
-- Hannes