Subject: bug#22241: 25.0.50; etags Ruby parser problems

From: Dmitry Gutov <[email-masked]>
Date: Sun, 24 Jan 2016 00:43:21 +0300

On 01/23/2016 11:48 PM, Eli Zaretskii wrote:

>> ^[ \t]([A-Z][a-z0-9_])[ \t]*=[ \t]*

                         ^ I missed a * there.

>> ? Then record the first group, and simply don't look at what's being
>> assigned.
>
> That's possible, but is it good enough?  Does the above regexp
> necessarily mean it's a constant?

I think so. The important point is that its name begins with a capital 
letter.

And we should probably recognize assignments like these:

ModuleExample::CONSTANT = 5

The qualified name "ModuleExample::CONSTANT" if at the top level, 
unqualified name is "CONSTANT". When inside classes, modules or methods, 
only record the unqualified name; maybe disregard these assignments when 
inside methods altogether.

Thanks in advance.