Issue1511381
Created on 2006-06-23 15:00 by hyeshik.chang, last changed 2006-06-26 09:29 by doerwalter.
| File name |
Uploaded |
Description |
Edit |
Remove |
|
getstreamcodec.diff
|
hyeshik.chang,
2006-06-23 15:00
|
patch to codec_getstreamcodec |
|
|
|
msg28873 - (view) |
Author: Hyeshik Chang (hyeshik.chang) |
Date: 2006-06-23 15:00 |
|
codec_getstreamcodec passes a None object (null
pointer, originally) as a "error" argument when errors
is given as a null pointer. Due to this behavior,
parsers can't utilize cjkcodecs which doesn't allow
None as a default argument:
SyntaxError: encoding problem: with BOM
Attached patch fixes it to omit the argument, "errors",
and changed it to use PyObject_CallFunction instead of
PyEval_CallFunction because PyEval_CallFunction doesn't
work for simple "O" argument. (I don't know it was
intended. But we can still use PyEval_CallFunction if
we write it as "(O)") I wonder if there's a reason
that you chose PyEval_CallFunction for the
initialization order or something?
How to reproduce the error:
echo "# coding: cp949" > test.py
./python test.py
|
|
msg28874 - (view) |
Author: Walter Dörwald (doerwalter) |
Date: 2006-06-23 15:47 |
|
Logged In: YES
user_id=89016
The patch looks good to me. Switching from
PyEval_CallFunction() to PyObject_CallFunction() should be
OK. (There seems to be subtle differences between the two,
but finding out what it is looks like a scavenger hunt to me
:-/)).
So go ahead and check it in.
|
|
msg28875 - (view) |
Author: Hyeshik Chang (hyeshik.chang) |
Date: 2006-06-23 21:18 |
|
Logged In: YES
user_id=55188
Committed as r47086.
Thanks for the review! :)
|
|
msg28876 - (view) |
Author: Walter Dörwald (doerwalter) |
Date: 2006-06-26 09:29 |
|
Logged In: YES
user_id=89016
Closing the patch
|
|
| Date |
User |
Action |
Args |
| 2006-06-23 15:00:23 | hyeshik.chang | create | |
|