After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 744113 - Recent files handling should handle non-filesystem file encodings
Recent files handling should handle non-filesystem file encodings
Status: RESOLVED OBSOLETE
Product: meld
Classification: Other
Component: general
git master
Other All
: Normal minor
: ---
Assigned To: meld-maint
meld-maint
Depends on:
Blocks:
 
 
Reported: 2015-02-06 21:44 UTC by Kai Willadsen
Modified: 2017-12-13 19:10 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Kai Willadsen 2015-02-06 21:44:27 UTC
As it stands, the recent files handling assumes that filenames can be round-tripped to and from the file system encoding, which is sadly very incorrect, and that therefore it's fine to store file names as UTF-8 encoded bytes.

This works about 99.5% of the time, and then it breaks. When it breaks, it doesn't actually take out anything... you just can't open the recent comparison. As such, this isn't as drastically awful as it would otherwise be.

For anyone interested in looking at this, we need to store the actual filename bytes in the recent comparison file, and be *very* paranoid about receiving Python unicodes as filenames, since it's almost certainly going to happen.
Comment 1 Kai Willadsen 2017-11-25 22:26:45 UTC
This has changed with Python 3. We should probably be using the surrogate escape mechanism, or investigate whether this is even an issue given that we're actually storing file URIs now.
Comment 2 GNOME Infrastructure Team 2017-12-13 19:10:17 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/meld/issues/81.