fixed issues with expansion of case arm patterns

This commit is contained in:
2026-03-04 18:54:06 -05:00
parent b831bdf166
commit 206c6cb64e
3 changed files with 43 additions and 3 deletions

View File

@@ -9,7 +9,7 @@ use crate::{
builtin::{
alias::{alias, unalias}, arrops::{arr_fpop, arr_fpush, arr_pop, arr_push, arr_rotate}, autocmd::autocmd, cd::cd, complete::{compgen_builtin, complete_builtin}, dirstack::{dirs, popd, pushd}, echo::echo, eval, exec, flowctl::flowctl, getopts::getopts, intro, jobctl::{self, JobBehavior, continue_job, disown, jobs}, keymap, map, pwd::pwd, read::{self, read_builtin}, shift::shift, shopt::shopt, source::source, test::double_bracket_test, trap::{TrapTarget, trap}, varcmds::{export, local, readonly, unset}, zoltraak::zoltraak
},
expand::{Expander, expand_aliases, expand_raw, glob_to_regex},
expand::{Expander, expand_aliases, expand_case_pattern, expand_raw, glob_to_regex},
jobs::{ChildProc, JobStack, attach_tty, dispatch_job},
libsh::{
error::{ShErr, ShErrKind, ShResult, ShResultExt, next_color},
@@ -428,7 +428,7 @@ impl Dispatcher {
let block_patterns = block_pattern_raw.split('|');
for pattern in block_patterns {
let pattern_exp = Expander::from_raw(pattern)?.expand()?.join(" ");
let pattern_exp = expand_case_pattern(pattern)?;
let pattern_regex = glob_to_regex(&pattern_exp, false);
if pattern_regex.is_match(&pattern_raw) {
for node in &body {