Geany version 0.18 "Kaine" on Ubuntu 10.04 (lucid)
See the attached file for an example Ruby program consisting of one class and three subroutines ("initialize", "run" and "terminate").
1. Load the example Ruby program into Geany.
2. Notice immediately how, in the Symbols window, the subroutines are not correctly lined up.
3. Collapse the second subroutine ("run") using the boxed minus sign on the left of the line reading "def run".
4. Notice how this collapses not just subroutine "run" but also subroutine "terminate" as well.
5. I have a much larger program consisting of several classes and dozens of subroutines in which this behaviour is amplified.
No attachment provided, will close if none provided in a couple of weeks.
Example code for ID: 3094431
Recently retested with Geany 0.20 ("Disra") on Linux Mint running kernel 3.0.0-12-generic. Same outcome.
Bug still happens on Geany 1.23 (git >= c05f1bd).
OK, I see the problem. Weirdly not only the folding is buggy but the tags hierarchy is wrong too, seeing "terminate" as a child of "run"; although those two things are done by completely different means.
Apparently both parsers get fooled by the "for x in [...] do": they open a scope on the "for" AND on the "do". Using the syntax "[...].each do |x|" don't fool the parsers though (and seems more standard as far as I can read the internets).
OK, I fixed the symbols part, and submitted a patch to upstream Scintilla to fix the folding part. Let's wait for them to apply it, then I'll backport it.
Scintilla report: https://sourceforge.net/tracker/?func=detail&atid=102439&aid=3567391&group_id=2439
Now fixed in Git, thanks for reporting.