Print messages about where from modules are imported when -v is given.
diff --git a/Python/import.c b/Python/import.c
index 7fc50c8..c76d8c9 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -38,6 +38,8 @@
#include "ceval.h"
#include "osdefs.h"
+extern int verbose; /* Defined in pythonmain.c */
+
#ifdef DEBUG
#define D(x) x
#else
@@ -186,6 +188,10 @@
D(fprintf(stderr, "dl_loadmod failed\n"));
}
else {
+ if (verbose)
+ fprintf(stderr,
+ "import %s # dynamically loaded from \"%s\"\n",
+ name, namebuf);
(*p)();
*m_ret = m = dictlookup(modules, name);
if (m == NULL) {
@@ -234,10 +240,25 @@
co = (codeobject *)v;
}
fclose(fpc);
+ if (verbose) {
+ if (co != NULL)
+ fprintf(stderr,
+ "import %s # precompiled from \"%s\"\n",
+ name, namebuf);
+ else
+ fprintf(stderr,
+ "# invalid precompiled file \"%s\"\n",
+ namebuf);
+ }
}
namebuf[namelen] = '\0';
- if (co == NULL)
+ if (co == NULL) {
+ if (verbose)
+ fprintf(stderr,
+ "import %s # from \"%s\"\n",
+ name, namebuf);
err = parse_file(fp, namebuf, file_input, &n);
+ }
else
err = E_DONE;
fclose(fp);
@@ -307,7 +328,8 @@
if ((m = dictlookup(modules, name)) == NULL) {
if (init_builtin(name)) {
if ((m = dictlookup(modules, name)) == NULL)
- err_setstr(SystemError, "builtin module missing");
+ err_setstr(SystemError,
+ "builtin module missing");
}
else {
m = load_module(name);
@@ -385,6 +407,9 @@
int i;
for (i = 0; inittab[i].name != NULL; i++) {
if (strcmp(name, inittab[i].name) == 0) {
+ if (verbose)
+ fprintf(stderr, "import %s # builtin\n",
+ name);
(*inittab[i].initfunc)();
return 1;
}