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-8087-4ade43a57f0f.png)

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.

-- 
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/1445#issuecomment-312561434

Reply via email to