Issue 21833: Fix unicodeless build of Python (original) (raw)

Created on 2014-06-24 06:53 by serhiy.storchaka, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
main.patch serhiy.storchaka,2014-06-24 06:53 review
Messages (8)
msg221402 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2014-06-24 06:53
Since 2.2 Python can be compiled without unicode support (built with --disable-unicode configure option). Unfortunately, testing suite depends on the io module, which in 2.7 depends on the _io module, which requires unicode support. So for now testing unicodeless Python is not possible. Some other modules are failed when built without unicode support too. Proposed patch fixes the io module in unicodeless build and includes also minor fixes fixes of compilation errors for other modules (except sqlite) and changes to auxilary files needed to build Python and run tests. Patches for other components will be provided in separate issues.
msg221409 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2014-06-24 07:11
Note MvL's comment ( in Issue8767) about not fixing test cases for --disable-unicode here. This seems like a tremendous amount of code churn for a problem that has likely been around for years and would affect very few. How widely is --disable-unicode used anyway? Why fix these tests now, especially in 2.7?
msg221411 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2014-06-24 07:16
I don't know anyone building Python without Unicode. I would prefer to modify configure to raise an error, and drop #ifdef in the code.
msg221430 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2014-06-24 07:56
I think the purpose of this option is similar to --without-doc-strings, this decreases the size of Python binary (-0.5 MB). Most needed changes are pretty trivial and they are only small fraction of already existing code for supporting --disable-unicode.
msg221431 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2014-06-24 07:58
Serhly, I admire you for all of the obvious effort you put into this but I can't help but think it is misplaced effort. My original comment was made before you submitted all of the other patches. As it stands, to proceed with this, there are now tens of thousands of lines of patches to be reviewed. It will take a lot of effort on a lot of people's part to properly review them. And even then, no matter how careful you were, there will be new bugs introduced by these patches. If it takes that much change to properly support --disable-unicode, then it's clearly been a broken feature and fixing it now is on the scale of a large new feature for 2.7. That just doesn't seem to me like a good choice based on the need for core developers' time and the added risk for the overwhelming majority of Python 2.7 users, who use Unicode-enabled builds. I think we need to have a discussion on python-dev and a ruling by Benjamin.
msg221435 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2014-06-24 08:29
Ned, I think you misunderstood Martin. He approved patch which fixes some disabled-unicode bugs. He noted that fixing a number of test failures has very low priority. This issue is about fixing the possibility of build Python and run test suite itself. And all other issues (except ) fixes bugs in stdlib, not only in tests ( and also fixes compile errors).
msg221438 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2014-06-24 08:50
IMO supporting building Python 2 without Unicode support should be discussed on the python-dev mailing list, it's not an innocent change. Python is moving strongly to Unicode: Python 3 uses Unicode by default. So to me it sounds really weird to work on building Python 2 without Unicode support. It means that you may have "Python 2" and "Python 2 without Unicode" which are not exactly the same language. IMO u"unicode" is part of the Python 2 language. --disable-unicode is an old option added while Python 1.5 was very slowly moving to Unicode. -- I have the same opinion on --without-thread option (we should stop supporting it, this option is useless). I worked in the embedded world, Python used for the UI of a TV set top box. Even if the hardware was slow and old, Python was compiled with threads and Unicode. Unicode was mandatory to handle correctly letters with diacritics.
msg240949 - (view) Author: A.M. Kuchling (akuchling) * (Python committer) Date: 2015-04-14 16:55
The subsequent discussion didn't arrive at a consensus. Most commenters wanted to drop --disable-unicode support and thought these patches were too extensive for 2.7, but Serhiy noted that running the tests with --disable-unicode turns up problems in the Unicode enabled code. There was no pronouncement from the BDFL or a release manager. The python-dev discussion is archived at https://mail.python.org/pipermail/python-dev/2014-June/135181.html
History
Date User Action Args
2022-04-11 14:58:05 admin set github: 66032
2017-04-20 17:06:25 serhiy.storchaka link issue21854 dependencies
2017-04-20 17:06:08 serhiy.storchaka unlink issue21854 dependencies
2017-04-20 17:06:02 serhiy.storchaka set status: open -> closedresolution: rejectedstage: patch review -> resolved
2016-01-18 17:41:53 serhiy.storchaka unlink issue21847 dependencies
2015-05-31 05:04:17 serhiy.storchaka unlink issue21853 dependencies
2015-04-14 16:55:33 akuchling set nosy: + akuchlingmessages: +
2015-02-15 12:05:01 serhiy.storchaka unlink issue21849 dependencies
2015-02-13 10:14:19 serhiy.storchaka unlink issue21840 dependencies
2014-10-14 18:15:20 serhiy.storchaka unlink issue21855 dependencies
2014-10-14 17:28:02 skrah set nosy: - skrah
2014-07-08 15:35:09 ezio.melotti link issue21844 dependencies
2014-07-08 15:34:54 ezio.melotti unlink issue21844 dependencies
2014-06-29 21:12:50 tshepang set nosy: + tshepang
2014-06-24 08:50:39 vstinner set messages: +
2014-06-24 08:29:57 serhiy.storchaka set messages: +
2014-06-24 08:01:03 serhiy.storchaka link issue21844 dependencies
2014-06-24 07:58:01 ned.deily set messages: +
2014-06-24 07:56:38 serhiy.storchaka set nosy: + skrahmessages: +
2014-06-24 07:45:55 serhiy.storchaka set nosy: + benjamin.peterson
2014-06-24 07:44:32 serhiy.storchaka link issue21855 dependencies
2014-06-24 07:44:24 serhiy.storchaka link issue21854 dependencies
2014-06-24 07:44:13 serhiy.storchaka link issue21853 dependencies
2014-06-24 07:44:07 serhiy.storchaka link issue21852 dependencies
2014-06-24 07:43:56 serhiy.storchaka link issue21851 dependencies
2014-06-24 07:38:08 serhiy.storchaka link issue21850 dependencies
2014-06-24 07:38:00 serhiy.storchaka link issue21849 dependencies
2014-06-24 07:37:48 serhiy.storchaka link issue21847 dependencies
2014-06-24 07:37:44 serhiy.storchaka link issue21848 dependencies
2014-06-24 07:37:18 serhiy.storchaka link issue21846 dependencies
2014-06-24 07:37:01 serhiy.storchaka link issue21845 dependencies
2014-06-24 07:36:33 serhiy.storchaka link issue21843 dependencies
2014-06-24 07:22:05 serhiy.storchaka link issue21842 dependencies
2014-06-24 07:21:43 serhiy.storchaka link issue21841 dependencies
2014-06-24 07:21:24 serhiy.storchaka link issue21840 dependencies
2014-06-24 07:21:10 serhiy.storchaka link issue21839 dependencies
2014-06-24 07:20:55 serhiy.storchaka link issue21838 dependencies
2014-06-24 07:16:17 vstinner set messages: +
2014-06-24 07:11:15 ned.deily set nosy: + ned.deily, loewismessages: +
2014-06-24 07:09:20 serhiy.storchaka link issue21837 dependencies
2014-06-24 07:09:03 serhiy.storchaka link issue21836 dependencies
2014-06-24 07:08:47 serhiy.storchaka link issue21835 dependencies
2014-06-24 07:01:49 serhiy.storchaka link issue21834 dependencies
2014-06-24 07:01:41 serhiy.storchaka set nosy: + vstinnercomponents: + Unicode
2014-06-24 06:53:22 serhiy.storchaka create