I noticed in ctwm 3.6 that m4 was not used in a portable manner. Not all
m4s know about -s. I propose something like the following patch:
--- parse.c.dist Tue Dec 11 16:38:52 2001
+++ parse.c Sat Mar 8 04:48:39 2003
@@ -2089,6 +2089,7 @@
extern Display *dpy;
extern char *display_name;
char *tmp_file;
+ char command[128];
/* Child */
close(0); /* stdin */
@@ -2097,7 +2098,10 @@
dup2(fids[1], 1); /* stdout = pipe to parent */
/* get_defs("m4", dpy, display_name) */
tmp_file = m4_defs(dpy, display_name);
- execlp("m4", "m4", "-s", tmp_file, "-", NULL);
+ /* execlp("m4", "m4", "-s", tmp_file, "-", NULL); */
+ /* Not all m4s know about -s -Rhialto */
+ snprintf(command, sizeof(command), "cat '%s' - | m4", tmp_file);
+ execlp("/bin/sh", "sh", "-c", command, NULL);
/* If we get here we are screwed... */
perror("Can't execlp() m4");
exit(124);
-Olaf.
--
___ Olaf 'Rhialto' Seibert -- The evil eye is caused by the black
\X/ rhialto/at/xs4all.nl -- tongue - Tom Poes, "Het boze oog", 4456.