Good catch! The problem is actually #3268. After a closer inspection the ctags "local" flag detection isn't very profound - it checks source file names and if the file name has a header extension, then the flag is non-local, otherwise it's local. So for the `*.foo` extension, it's assumed to be a C source where `xx_foo` is local just for the file, which is wrong.
Another problem would be when a user has two files open, such as `foo.c` and `bar.c` and doesn't use anything like ProjectOrganizer that would parse also the corresponding headers. Then symbols from `foo.c` won't be visible in `bar.c`. So while it's nice that #3268 reduces the number of possibly invalid autocompletion symbols, it's not good in its current form. We could either revert it completely or modify it a bit to honor the `local` flag only in cases where we can be absolutely sure the given symbol won't leave the current file (such as static declarations). I'll try to play with it a little. -- Reply to this email directly or view it on GitHub: https://github.com/geany/geany/issues/3454#issuecomment-1503846234 You are receiving this because you are subscribed to this thread. Message ID: <geany/geany/issues/3454/1503846...@github.com>