This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Backport to 2.2.2 of codec registry fix
Type: Stage:
Components: Interpreter Core Versions: Python 2.2
process
Status: closed Resolution: accepted
Dependencies: Superseder:
Assigned To: loewis Nosy List: geertj, gvanrossum, lemburg, loewis
Priority: normal Keywords: patch

Created on 2003-03-27 08:09 by geertj, last changed 2022-04-10 16:07 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
codecs-2.2.2.diff geertj, 2003-03-27 08:25
Messages (7)
msg43187 - (view) Author: Geert Jansen (geertj) * Date: 2003-03-27 08:09
Hi, 
 
attached is a backport to Python 2.2.2 of the patch that 
fixes bug: 
 
  #663074: codec registry and Python embedding problem 
 
which is discussed here: 
 
http://sourceforge.net/tracker/index.php?func=detail&aid=663074&group_id=5470&atid=105470 
 
If there will be a Python 2.2.3 release, I suggest this patch 
is applied. Currently, mod_python programs cannot use 
encodings, because mod_python is one of the (few?) 
programs that uses multiple subinterpreters. 
 
About the patch: it is a backport of Gustavo Niemeyer's 
patch for 2.3 CVS. I had to adapt it a little bit because in 
2.2 there is no codec error registry. 
 
Greetings, 
Geert Jansen 
msg43188 - (view) Author: Geert Jansen (geertj) * Date: 2003-03-27 08:25
Logged In: YES 
user_id=537938

Here is the patch. It is tested and verified to fix the problem by 
two people. I also verified that it passes the test suite. 
msg43189 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2003-03-28 00:00
Logged In: YES 
user_id=21627

Marc-Andre, can you take a look? If not, please unassign it.
msg43190 - (view) Author: Marc-Andre Lemburg (lemburg) * (Python committer) Date: 2003-03-28 08:40
Logged In: YES 
user_id=38388

Looks ok.
msg43191 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2003-03-29 14:16
Logged In: YES 
user_id=21627

This patch breaks binary compatibility, as it changes the
layout of PyInterpreterState. We could reduce the risk of
breakage by moving the new members at the end of the struct.

Assigning to Guido for pronouncement: Should this
a) be rejected?
b) be accepted as is? (arguing that nobody uses the
interpreter state, anyway)
c) accepted with the proposed change (i.e.
sizeof(PyInterpreterState) still changes, but the offset of
the existing members doesn't).
msg43192 - (view) Author: Guido van Rossum (gvanrossum) * (Python committer) Date: 2003-03-30 20:45
Logged In: YES 
user_id=6380

(c) is okay with me. Since PyInterpreterState is always
allocated by the Python core, I can't see how this could
possibly break something.
msg43193 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2003-03-30 21:12
Logged In: YES 
user_id=21627

Thanks for the patch. Committed (with changes) as

pystate.h 2.18.16.3
NEWS 1.337.2.4.2.69
codecs.c 2.13.26.3
pystate.c 2.20.16.3
pythonrun.c 2.153.6.5
History
Date User Action Args
2022-04-10 16:07:54adminsetgithub: 38223
2003-03-27 08:09:47geertjcreate