Fix the bug Sjoerd Mullender discovered, where find_from_args() wasn't
trying hard enough to find out what the arguments to an import were. There
is no test-case for this bug, yet, but this is what it looked like:
from encodings import cp1006, cp1026
ImportError: cannot import name cp1026
'__import__' was called with only the first name in the 'arguments' list.
diff --git a/Python/ceval.c b/Python/ceval.c
index 92fa887..9167abe 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -2864,7 +2864,9 @@
} else {
do {
oparg = (next_instr[1]<<8) + next_instr[0];
- next_instr += 2;
+ /* Jump over our own argument, the next instruction
+ (which is a STORE), and its argument.*/
+ next_instr += 5;
name = Getnamev(f, oparg);
if (PyList_Append(list, name) < 0) {
Py_DECREF(list);