I am very baffled as to why anyone would want to write "return !!a". Are
you sure you're writing C and not some other language?

On 03/04/10 21:00, Edward Hervey wrote:
> Hi,
>
>   I found a regression in indent 2.2.11.
>
>   The following code
> a = !!b;
>   Now becomes
> a = ! !b;
>
>   This used to work perfectly fine with most versions of indent prior to
> 2.2.11.
>
>   The regression was introduced with the 'fix' for avoiding "- --a"
> becomeing "---a".
>
>   A simple fix for this would be to check if the token in question is
> not the '!' operator:
>
> Line 616:
> -------------
>             if ((parser_state_tos->last_token == unary_op) &&
> -               (e_code > s_code) &&
> +               (e_code > s_code) && (*res != '!') &&
>                 (*(e_code - 1) == *res))
>             {
>                 *(e_code++) = ' ';
>             }
> --------------
>
> Sample test for regression:
> ------------------
> int
> foo(int a)
> {
>   return !!a;
> }
> ------------------
>
>    Edward
>
>
>
> _______________________________________________
> bug-indent mailing list
> [email protected]
> http://lists.gnu.org/mailman/listinfo/bug-indent
>
>   



_______________________________________________
bug-indent mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-indent

Reply via email to