I gave this PR a brief spin. Linux and Windows, GTK+2 and GTK+3, a few realistic and contrived examples.
-----------------------------------------------
**Bug:** on Windows, if one of the pathnames to be rendered in the popup is too long, it is considered empty. This happens before the removal of common prefixes, so it looks like this:
![geany-goto-popup-cut](https://user-images.githubusercontent.com/300211/27780482-d975321e-5fd1-11e7...)
This first line “: 1” actually refers to a very long pathname. If I click it, Geany successfully jumps to the symbol in that pathname, but also prints this to the console:
Geany: utils_tidy_path: assertion 'g_path_is_absolute(filename)' failed
So what is a “very long pathname”? Here is an example:
C:\Users\Vasiliy\Downloads\Первая папка\В ней много интересного\Приколов не счесть\Всякое разное 1234567890\Ещё больше 1234567890\Последний уровень вло\Ор выше гор.c
As you can see, it’s 165 characters long, but in UTF-8 it would be 261 bytes long. Now this is the minimum length where the problem happens. If I remove any **1 Cyrillic** or any **2 Latin** characters from anywhere in this pathname, it is rendered as expected.
I could not reproduce this problem with ASCII-only pathnames, probably because Windows prevented me from creating a pathname longer than 255 characters.
I could not reproduce this problem on Linux.
-----------------------------------------------
When common substrings are ellipsized, Geany now prints messages to the console, like this:
``` p 0 Вторая папка/.../Тест.c p 1 Первая папка/.../Тест.c ```
I think this should be either removed or made more understandable.