bug-indent
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Regression in 2.2.11


From: indent
Subject: Re: Regression in 2.2.11
Date: Mon, 05 Apr 2010 10:24:15 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-GB; rv:1.9.1.8) Gecko/20100228 SUSE/3.0.3-1.1.1 Thunderbird/3.0.3

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
> address@hidden
> http://lists.gnu.org/mailman/listinfo/bug-indent
>
>   





reply via email to

[Prev in Thread] Current Thread [Next in Thread]