Auto-hide aliases to prevent recursion (#4487)

This commit is contained in:
JT 2022-02-15 17:36:24 -05:00 committed by GitHub
parent df07e8e410
commit e763a8dcef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 0 deletions

View File

@ -851,7 +851,10 @@ pub fn parse_call(
new_spans.extend(&spans[(pos + 1)..]);
}
working_set.enter_scope();
working_set.hide_alias(&name);
let (mut result, err) = parse_expression(working_set, &new_spans, false);
working_set.exit_scope();
result.replace_span(working_set, expansion_span, orig_span);

View File

@ -33,6 +33,11 @@ fn alias_2_multi_word() -> TestResult {
)
}
#[test]
fn alias_recursion() -> TestResult {
run_test_contains(r#"alias ls = (ls | sort-by type name -i); ls"#, " ")
}
#[test]
fn block_param1() -> TestResult {
run_test("[3] | each { $it + 10 } | get 0", "13")