On 4/3/15 10:48 PM, Eduardo A. Bustamante López wrote:
> -#define NEXT_VARIABLE() free (name); list = list->next; continue
> +#define NEXT_VARIABLE() do { free (name); list = list->next; continue; }
> while(0)
That won't work; adding the do {...} while (0) negates the continue in the
code block.
On 4/3/15 8:40 PM, Eduardo A. Bustamante López wrote:
> Hello Chet,
>
> You introduced a regression:
>
> [dual...@ma.sdf.org /tmp/tmp.ps6HXrLSZX/devel-]$ ./bash -c 'typeset -i x;
> x=([0]=1+1); echo "$x"'
> 1+1
>
> vs
>
> dualbus@yaqui ~ % bash -c 'typeset -i x; x=([0]=1+1); echo "$x"'
> 2
T
Nevermind. The patch is wrong, but at least it shows where the problem is
(if needs braces, around line 529)
El abr 3, 2015 8:48 PM, "Eduardo A. Bustamante López"
escribió:
> Here's a patch:
>
>
> diff --git a/builtins/declare.def b/builtins/declare.def
> index 5ed83a0..f0f9a6d 100644
> --- a/bui
Here's a patch:
diff --git a/builtins/declare.def b/builtins/declare.def
index 5ed83a0..f0f9a6d 100644
--- a/builtins/declare.def
+++ b/builtins/declare.def
@@ -280,7 +280,7 @@ declare_internal (list, local_var)
return (sh_chkwrite (any_failed ? EXECUTION_FAILURE :
EXECUTION_SUCCESS));