Don't know if its relevant, but tagmanager `get_path_max()` which is used in `get_real_path()` is wrong, it checks a compile time symbol `PATH_MAX` and then uses the value on an unknown run time system [see](https://github.com/geany/geany/blob/35a5d457f48c92ecb71b5a2ecf7d718701d5ef63...)
At the very least it should use pathconf() all the time (does it work on windows?) but IIUC it gives a value "unsuitable for allocating memory" (ie very high, eg SIZE_MAX) on some systems.