The function signatures from autocompletion suggestions for the C standard library functions contain weird characters like `Ö0Ï`. For example, typing `fputs` suggests `fputsÌ1024Í(const char * __s, FILE * __stream)Ö0Ïint`.
![Screenshot_2024-10-12_21-22-39](https://github.com/user-attachments/assets/af34647b-439d-4e12-82ef-8597c5fd8...)
Geany 2.0 from the standard package repository of Linux Mint 22 Wilma (Ubuntu 24.04).
Confirm with LM22 Geany 2.0 package.
Doesn't happen with Geany tag 2.0.0 compiled locally.
The standard loaded tags file `std99.c.tags` with the local build starts the line in hex for `fgets` with:
``` 66 65 64 74 73 CC 31 30 32 34 f g e t s ?? 1 0 2 4 ```
whereas the LM `std99.c.tags` (`/usr/share/geany/tags/std99.c.tags`) starts the line in hex for `fgets` with:
``` 66 65 64 74 73 C3 8C 31 30 32 34 f g e t s ?? ?? 1 0 2 4 ```
which is clearly the wrong format with `C3 8C` not `CC` after the name
Amazingly Geany still manages to load the tags, but of course is confused about the contents since its not the right format.
AFAICT LM just copies the package from Ubuntu so its the generated Ubuntu package that is wrong. Someone with Ubuntu needs to verify the package has a different `std99.c.tags` file and why? @hyperair maybe you can help?
Maybe it's because the maintainers of the Debian package convert the encoding?
https://git.launchpad.net/ubuntu/+source/geany/tree/debian/rules?h=ubuntu/no... https://salsa.debian.org/geany-team/geany/-/commit/1f2bd775333f01cf3e2d521f2...
Ok, yeah, the tags file is __not__ a text format, it has entry lines with fields separated by binary bytes (eg the CC byte) so iconv cannot simply convert to UTF-8. The package building needs to convert each individual field, not treat a whole binary separated multi-field entry as text.
As you found it feel free to report it to Ubuntu as your credit.
Reported to Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1086558
Closed #3993 as not planned.
github-comments@lists.geany.org