Subject: Re: bug#6978: show-paren-mode doesn't match when scope "::" operator is used : emacs 32.1.97

From: Alan Mackenzie <[email-masked]>
Date: 6 Oct 2019 17:38:50 -0000

In article <[email-masked]> you wrote:
> severity 6978 minor
> found 6978 27.0.50
> quit

> "Bob" <[email-masked]> writes:

>>
>>
>> Emacs 23.1.97:
>>
>>
>>
>> When using the C++ scope operator "::", show-paren-mode gets confused:
>>
>>
>>
>> ------  Foo.cpp ------------------------------------
>>
>> struct Foo1 {};
>>
>>
>>
>> namespace X
>>
>> {
>>
>>   struct Foo2 {};
>>
>>
>>
>>   template<class _Y>
>>
>>   struct Bar;
>>
>>
>>
>>   template<>
>>
>>   struct Bar<::Foo1>         // "(show-paren-mode)" does not match `>` to `<`
>>
>>   {
>>
>>   };
>>
>>
>>
>>   template<>
>>
>>   struct Bar<Foo2>           // "(show-paren-mode)" correctly matches `>` to `<`
>>
>>   {
>>
>>   };
>>
>> }
>>
>> ---------------------------------------------

> I can reproduce this on current master.

This is a CC Mode bug.  The pertinent < and > are not being marked with
syntax-table text properties, hence can't be recognised as parens.

I'll be looking into this.

> Best regards,
> Stefan Kangas

-- 
Alan Mackenzie (Nuremberg, Germany).