On Thu, Jan 7, 2016 at 11:14 PM, Lex Trotman <elextr@gmail.com> wrote:
On 8 January 2016 at 08:00, Jiří Techet <techet@gmail.com> wrote:
>
>
> On Wed, Jan 6, 2016 at 9:23 PM, Thomas Martitz <kugel@rockbox.org> wrote:
>>
>> Am 06.01.2016 um 21:12 schrieb Jiří Techet:
>>>
>>>
>>>
>>>     It's indeed at least interesting to consider, because at least for .h
>>>     headers there really is some mixed stuff all over the place -- even,
>>>     simply look in Scintilla's source tree.
>>>
>>>
>>> +1 for having the headers parsed/lexed by the C++ parser (with sources it
>>> may be a bit dangerous and typically the sources have the right C++
>>> extension).
>>>
>>>
>>
>> Not replying to Jiří specifically.
>>
>> -1. .h is legitimately a C, it's just that many people get it wrong. And I
>> don't want C++ keywords highlighted in C headers while they are not
>> highlighted it C source files. This is just confusing.
>
>
> I agree with Matthew here - I think the "damage" caused by parsing C headers
> with the C++ parser/lexer is much smaller than vice versa. Actually a few
> months back a user of my ProjectOrganizer plugin wrote me just because of
> that - he had a C++ project with "h" headers and was surprised that tag
> generation didn't work for him.
>
> I created (a highly sophisticated) pull request here:
>
> https://github.com/geany/geany/pull/857
>
> Power users can always add *.h back to C types but I think having it in C++
> is a better default.

As the failing tests show, better have a BIG warning about breaking
change if we do this.

Fixed now. 

Actually the tests "failed" because the tested files were C++ headers and the previously-generated tags files were incorrect because of the used C parser. So yeah, BEWARE USERS, HEADERS MIGHT BE PARSED CORRECTLY :-) 

Jiri