updated for version 7.4b.012
Problem:    Output from a shell command is truncated at a NUL. (lcd 47)
Solution:   Change every NUL into an SOH.
diff --git a/src/misc1.c b/src/misc1.c
index 9581631..11f456b 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -10887,7 +10887,14 @@
 	buffer = NULL;
     }
     else
+    {
+	/* Change NUL into SOH, otherwise the string is truncated. */
+	for (i = 0; i < len; ++i)
+	    if (buffer[len] == NUL)
+		buffer[len] = 1;
+
 	buffer[len] = NUL;	/* make sure the buffer is terminated */
+    }
 
 done:
     vim_free(tempname);