hush: fix quoted "${notexist-}" expansion to not disappear
No binary (build failed)
—
(log yok)
| @@ -5,3 +5,5 @@ _aaaa _aaaa _aaaa _aaaa _aaaa | |
| _ _ _ _word _word | |
| _ _ _ _ _word | |
| _fff _fff _fff _fff _fff | |
| + | 1:1 |
| + | 0:0 |
| @@ -21,3 +21,8 @@ echo _$f _${f-} _${f:-} _${f-word} _${f:-word} | |
| f=fff | |
| echo _$f _${f-} _${f:-} _${f-word} _${f:-word} | |
| + | |
| + | set -- |
| + | set -- "${1-}"; echo 1:$# |
| + | set -- |
| + | set -- ${1-}; echo 0:$# |
| @@ -6132,6 +6132,12 @@ static int encode_then_append_var_plusminus(o_string *output, int n, | |
| /* string has no special chars | |
| * && string has no $IFS chars | |
| */ | |
| + | if (dquoted) { |
| + | /* Prints 1 (quoted expansion is a "" word, not nothing): |
| + | * set -- "${notexist-}"; echo $# |
| + | */ |
| + | output->has_quoted_part = 1; |
| + | } |
| return expand_vars_to_list(output, n, str); | |
| } | |
| @@ -6,3 +6,5 @@ _aaaa _aaaa _aaaa _aaaa _aaaa | |
| _ _ _ _word _word | |
| _ _ _ _ _word | |
| _fff _fff _fff _fff _fff | |
| + | 1:1 |
| + | 0:0 |
| @@ -22,3 +22,8 @@ echo _$f _${f-} _${f:-} _${f-word} _${f:-word} | |
| f=fff | |
| echo _$f _${f-} _${f:-} _${f-word} _${f:-word} | |
| + | |
| + | set -- |
| + | set -- "${1-}"; echo 1:$# |
| + | set -- |
| + | set -- ${1-}; echo 0:$# |