Added zip, map, filter to future_bultins (#2171)
diff --git a/Modules/future_builtins.c b/Modules/future_builtins.c
index 686925d..5baaa60 100644
--- a/Modules/future_builtins.c
+++ b/Modules/future_builtins.c
@@ -59,11 +59,24 @@
PyMODINIT_FUNC
initfuture_builtins(void)
{
- PyObject *m;
+ PyObject *m, *itertools, *iter_func;
+ char *it_funcs[] = {"imap", "ifilter", "izip", NULL};
+ char **cur_func;
m = Py_InitModule3("future_builtins", module_functions, module_doc);
if (m == NULL)
return;
+ itertools = PyImport_ImportModuleNoBlock("itertools");
+ if (itertools == NULL)
+ return;
+
+ for (cur_func = it_funcs; *cur_func; ++cur_func){
+ iter_func = PyObject_GetAttrString(itertools, *cur_func);
+ if (iter_func == NULL)
+ return;
+ PyModule_AddObject(m, *cur_func+1, iter_func);
+ }
+ Py_DECREF(itertools);
/* any other initialization needed */
}