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

From: Eli Zaretskii <[email-masked]>
Date: Sat, 23 Jan 2016 22:48:36 +0200

> Cc: [email-masked]
> From: Dmitry Gutov <[email-masked]>
> Date: Sat, 23 Jan 2016 22:29:02 +0300
> 
> On 01/23/2016 09:59 PM, Eli Zaretskii wrote:
> 
> > So I guess I will leave constants out for now: etags has no notion of
> > expressions.
> 
> That would be a noticeable omission. Can't you just look for
> 
> ^[ \t]([A-Z][a-z0-9_])[ \t]*=[ \t]*
> 
> ? 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?

> > Is the telltale part "<<" or "self" (or both)?  If it's "<<", then are
> > there other such tokens that "invalidate" a class?
> 
> It's "class << self" as a whole. Instead of self, there could be a 
> variable, or a class name, but let's ignore those cases for now.
> 
> If we see "class <<" - it's not a class definition.

OK.

Thanks for the other info, I will work on this.