Issue 7459: Magic word incorrect in Python 3 (original) (raw)

Issue7459

Created on 2009-12-08 16:43 by Arfrever, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
python-3.2-fix_magic_word.patch Arfrever,2009-12-08 16:43 Fix magic word (for 3.2)
python-3.1-fix_documentation_of_magic_word.patch Arfrever,2009-12-08 16:52 Fix documentation of magic word (for 3.1)
Messages (4)
msg96138 - (view) Author: Arfrever Frehtes Taifersar Arahesis (Arfrever) * (Python triager) Date: 2009-12-08 16:43
Python/import.c defines magic word which is used in the beginning of .pyc files to verify if .pyc files have been generated by compatible version of Python. Python 2 supports undocumented -U option increases magic word by 1. Python 3 uses unicode strings by default and doesn't support -U option, but seemingly incorrect change was committed in r55013, which causes that magic word is always increased by 1 in Python 3 in contrary to documentation, which says that it could only happen with some command line options. This problem cannot be fixed in Python 3.1.2 for compatibility with e.g. 3.1.1, but it can be fixed in 3.2. Additionally documentation in 3.1.2 can be fixed.
msg96146 - (view) Author: Guido van Rossum (gvanrossum) * (Python committer) Date: 2009-12-08 17:58
I don't see a bug here. The value returned by imp.get_magic() matches the first bytes of a bytecode file. That's all that matters. Of course, we could remove the global variable and just use the defined constant; but that's just an optimization, not a bugfix. PS. The two uploaded patches look about the same?
msg96167 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2009-12-09 11:29
I think the point is more of self-documentation not being deceiving. Here someone tries to use import.c 's embedded documentation about existing magic numbers and he/she gets mystified because the actual magic number doesn't seem to correspond. Also, it's true that the "Unicode mode fixup" is obsolete and should be removed anyway.
msg96188 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2009-12-10 02:18
Fixed in r76731. Thanks.
History
Date User Action Args
2022-04-11 14:56:55 admin set github: 51708
2009-12-10 02🔞14 benjamin.peterson set status: open -> closedresolution: fixedmessages: +
2009-12-09 16:33:39 benjamin.peterson set assignee: benjamin.peterson
2009-12-09 11:30:02 pitrou set nosy: + benjamin.peterson
2009-12-09 11:29:12 pitrou set nosy: + pitroumessages: +
2009-12-08 17:58:10 gvanrossum set messages: +
2009-12-08 16:52:14 Arfrever set files: + python-3.1-fix_documentation_of_magic_word.patch
2009-12-08 16:43:39 Arfrever create