@@ -6438,19 +6438,23 @@ impl Interpreter {
64386438 }
64396439 ParameterOp :: RemovePrefixShort => {
64406440 // ${var#pattern} - remove shortest prefix match
6441- self . remove_pattern ( value, operand, true , false )
6441+ let expanded = self . expand_operand ( operand) ;
6442+ self . remove_pattern ( value, & expanded, true , false )
64426443 }
64436444 ParameterOp :: RemovePrefixLong => {
64446445 // ${var##pattern} - remove longest prefix match
6445- self . remove_pattern ( value, operand, true , true )
6446+ let expanded = self . expand_operand ( operand) ;
6447+ self . remove_pattern ( value, & expanded, true , true )
64466448 }
64476449 ParameterOp :: RemoveSuffixShort => {
64486450 // ${var%pattern} - remove shortest suffix match
6449- self . remove_pattern ( value, operand, false , false )
6451+ let expanded = self . expand_operand ( operand) ;
6452+ self . remove_pattern ( value, & expanded, false , false )
64506453 }
64516454 ParameterOp :: RemoveSuffixLong => {
64526455 // ${var%%pattern} - remove longest suffix match
6453- self . remove_pattern ( value, operand, false , true )
6456+ let expanded = self . expand_operand ( operand) ;
6457+ self . remove_pattern ( value, & expanded, false , true )
64546458 }
64556459 ParameterOp :: ReplaceFirst {
64566460 pattern,
0 commit comments