* import.c (get_module): pass .py filename to parse_file, not .pyc filename!
* funcobject.c (func_repr): don't call getstringvalue(None) for anonymous
  functions.
* bltinmodule.c: removed lambda (which is now a built-in function);
  removed implied lambda for string arg to filter/map/reduce.
* Grammar, graminit.[ch], compile.[ch]: replaced lambda as built-in
  function by lambda as grammar entity: instead of "lambda('x: x+1')" you
  write "lambda x: x+1".
* Xtmodule.c (checkargdict): return 0, not NULL, for error.
diff --git a/Python/import.c b/Python/import.c
index 2fc3995..a8cfe5b 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -174,7 +174,8 @@
 
 	case PY_SOURCE:
 		mtime = getmtime(namebuf);
-		strcat(namebuf, "c");
+		len = strlen(namebuf);
+		strcpy(namebuf + len, "c");
 		fpc = fopen(namebuf, "rb");
 		if (fpc != NULL) {
 			magic = rd_long(fpc);
@@ -204,6 +205,7 @@
 			}
 			fclose(fpc);
 		}
+		namebuf[len] = '\0';
 		err = parse_file(fp, namebuf, file_input, &n);
 		if (err != E_DONE) {
 			err_input(err);
@@ -215,9 +217,9 @@
 			return NULL;
 		if (verbose)
 			fprintf(stderr,
-				"import %s # from %.*s\n",
-				name, strlen(namebuf)-1, namebuf);
+				"import %s # from %s\n", name, namebuf);
 		/* Now write the code object to the ".pyc" file */
+		strcpy(namebuf + len, "c");
 		fpc = fopen(namebuf, "wb");
 		if (fpc == NULL) {
 			if (verbose)