    Make second argument to shell_command() optional

    If missing, the command input argument to shell_command() is set to the
    empty string internally.

diff -ur nedit_official nedit_mod
diff -ur nedit_official/source/macro.c nedit_mod/source/macro.c
--- nedit_official/source/macro.c	2007-10-04 18:04:25.000000000 +0200
+++ nedit_mod/source/macro.c	2008-05-21 02:17:48.000000000 +0200
@@ -2785,11 +2785,14 @@
 {
     char stringStorage[2][TYPE_INT_STR_SIZE(int)], *cmdString, *inputString;
 
-    if (nArgs != 2)
+    if (nArgs < 1 && 2 < nArgs)
     	return wrongNArgsErr(errMsg);
     if (!readStringArg(argList[0], &cmdString, stringStorage[0], errMsg))
     	return False;
-    if (!readStringArg(argList[1], &inputString, stringStorage[1], errMsg))
+
+    inputString = "";
+    if (nArgs == 2 &&
+        !readStringArg(argList[1], &inputString, stringStorage[1], errMsg))
     	return False;
     
     /* Shell command execution requires that the macro be suspended, so
