@b4n, no the current code works just fine, the hash key is the [inode](https://github.com/geany/geany/blob/97547edb52e34b8f78f44a13548a0fb55baf1a44/src/tagmanager/tm_workspace.c#L383), which is an `int` stored in the pointer, so `g_direct_equal()` is correct for the current system. But it has to be changed to `g_str_equal()` if the key becomes the filename string.
Originally a list was [used](https://github.com/geany/geany/blob/d6c16742b769947914b63a3a24e0b1440593d43d/tagmanager/tm_workspace.c#L187) but then it was [de-duped](https://github.com/geany/geany/blob/d6c16742b769947914b63a3a24e0b1440593d43d/tagmanager/tm_workspace.c#L201), so likely thats why it got changed to a hash but that change is copied from [Anjuta](https://github.com/geany/geany/blob/d3dfe1dd1d7aa96be821ba175624843c65fe970b/ChangeLog#L10), so who knows. Not sure why duplicates are a problem, TM should handle multiple definitions of the same tagname? @b4n TM-spurtese needed. @bmwiedemann did you try running `cpp` yourself? Or you could just `cat` the files together if you don't want recursive inclusion, thats all Geany is doing internally. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/1989#issuecomment-436746861
