Page MenuHomePhabricator

highlight: fix encoding issues to enable Py3 compatibility

Authored by sheehan on Sep 9 2019, 3:22 PM.



This commit fixes various encoding issues with the highlight extension
to enable compatibility with Python 3. Python .encode() and .decode()
requires the target encoding to be passed as a str, so the value of
mercurial.encoding.encoding must be converted before passing to the
function. Pygments also assumes the str type for values it works with,
so we must perform conversions before and after receiving values from its

After applying this patch, test-highlight.t passes under Python 3. We
add it to python3-whitelist as well.

Tested with Pygments 2.4.2.

Diff Detail

rHG Mercurial
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

sheehan created this revision.Sep 9 2019, 3:22 PM
pulkit accepted this revision.Sep 11 2019, 2:28 AM
This revision is now accepted and ready to land.Sep 11 2019, 2:28 AM