[Top][All Lists]
[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
>
>