Jeff King schrieb: > +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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html