Your attachment didn't decompress for me. I did find the bug in the
variant that I created. The problem was that sub-dictionaries were
erroneously being initialized from the dictionary state for a given
major mode. When I eliminated that, it then worked for my example.
I checked in my changes, and new tests for this case. Perhaps it will
fix the problem with your example.
On Fri, 2009-08-28 at 16:32 +0200, Pierre Lorenzon wrote:
> Hi Eric!
> From: "Eric M. Ludlam" <eric@...>
> Subject: Re: [CEDET-devel] srecode variables scope ?
> Date: Fri, 28 Aug 2009 07:07:03 -0400
> > Your experience sounds like a bug to me. The dictionaries are supposed
> > to stack, such that references in the section dictionaries should
> > provide values from the next dictionary up in the tree of section
> > dictionaries only if there is no value in the current dictionary.
> > I added a test for this case, and ended up with a result that is the
> > opposite of what you experienced. Thus, I expect I will need a
> > simplified example template from you since I apparently created
> > something different. I can then resolve these two inconsistencies, and
> > add some nice tests for this case.
> OK ! Here comes my tests. Top of file test.el was produced by
> inserting file:test template after having loaded test.el.
> You should notice that there's no space before X-RCS (using
> ";;" (the value defined in srecode-el.srt) as comment prefix)
> whereas there are spaces in front of the other lines using
> ";; " as prefix (produced by :automode argument.)
> In file test.tex there's no problem since for this mode there
> are no other settings.