--- m4-1.4.3.orig/README 2004-08-21 17:29:00.000000000 +0700 +++ m4-1.4.3/README 2005-10-10 13:55:33.000000000 +0700 @@ -25,7 +25,7 @@ feature which allows for changing the syntax of what is a "word" in `m4'. This might go away, so don't count on it yet. -Send bug reports to address@hidden'. A bug report is -an adequate description of the problem: your input, what you expected, -what you got, and why this is wrong. Diffs are welcome, but they only -describe a solution, from which the problem might be uneasy to infer. +Send bug reports to address@hidden'. A bug report is an adequate +description of the problem: your input, what you expected, what you got, +and why this is wrong. Diffs are welcome, but they only describe a +solution, from which the problem might be uneasy to infer. --- m4-1.4.3.orig/src/m4.c 2005-02-10 03:58:38.000000000 +0700 +++ m4-1.4.3/src/m4.c 2005-10-10 13:52:11.000000000 +0700 @@ -263,6 +263,7 @@ macro_definition *tail; macro_definition *new; int optchar; /* option character */ + int retcode = EXIT_SUCCESS; macro_definition *defines; FILE *fp; @@ -484,6 +485,14 @@ if (fp == NULL) { error (0, errno, "%s", argv[optind]); + /* + * In order not to break existing applications that may + * depend on m4 continuing past non-existent files, I + * have decided to have m4 keep going as it always has + * past errors, but I make the final exit code be + * EXIT_FAILURE in this case. + */ + retcode = EXIT_FAILURE; continue; } else @@ -506,5 +515,5 @@ undivert_all (); } - exit (EXIT_SUCCESS); + exit (retcode); }