First the good news: after Georg's work we are almost there (99.999%). :-) And now the fine details.
I have fixed #9006 that results in lyx2lyx working with python 3 for systems where the system default encoding is not UTF-8. Using the 0.12.0 User Guide as the starting point the only differences between the two conversions is that python 2 way gets at some points: \bar default \family default while the python 3 gets \family default \bar default This happens in 12 places. This is good because it means that the difference comes likely from a single place and with so many conversions being done this is better than OK. On the other hand the resulting file when read by lyx is immediately modified and saving it has a bigger diff. In particular there one case where it looks like that we have a missing conversion in lyx2lyx: - Compared to common word processors, \SpecialChar LyX$ + Compared to common word processors, \SpecialCharNoPassThru LyX$ It looks like \SpecialChar should have been converted to \SpecialCharNoPassThru but it is not. Where I would like help would be in setting some testing framework to compare the conversions when using python 2 and python 3 to ensure that the code does the same when using the two python versions. In another interesting twist when testing the conversion of 0.10.7 User Gude (the i is really missing from the title :-) ) only the python 3 version applies the conversion of the 0.10 stage while the python 2 way ignores it and goes directly to 0.12. That puzzled me a lot, it took me a while to understand the problem. I tested this with lyx2lyx in 2.2 and problem is already there so this was not the result of making lyx2lyx work with python 3. :-) At the same time and do not expect pressure from the users who want to convert lyx-0.10 documents so I do no expect that Scott makes this a release blocker for 2.3. :-D This is something that I would like to fix naturally. Regards, -- José Abílio