There might of course also be some difference due to memory speed.
That's quite probable.
Well, I started this as a "Christmas project" last year, so I guess I'll just have a another one for this year: to make it faster.
I know those! #3032 is Christmas 2018 :-).
I think the only valid reason to keep them is that there might be something else declared in their scope.
That's a good point. Filtering tags should in theory be possible, the question is how many such things we should do in Geany. But maybe anonymous functions are quite a common pattern to deserve this special handling. I'm just preparing a pull request that improves handling of anonymous tags so I might add something like that.