@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

Reply via email to