bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 1/3] traces: show the full m4 invocation


From: Akim Demaille
Subject: [PATCH 1/3] traces: show the full m4 invocation
Date: Fri, 22 May 2020 20:31:53 +0200

Unfortunately the effect of -dV is still position independent.

* src/output.c (output_skeleton): here.
---
 src/output.c | 26 +++++++++++++++-----------
 1 file changed, 15 insertions(+), 11 deletions(-)

diff --git a/src/output.c b/src/output.c
index 1871fd75..5bee092d 100644
--- a/src/output.c
+++ b/src/output.c
@@ -698,17 +698,6 @@ output_skeleton (void)
 
   /* Create an m4 subprocess connected to us via two pipes.  */
 
-  if (trace_flag & trace_tools)
-    fprintf (stderr, "running: %s %s - %s %s\n",
-             m4, m4sugar, m4bison, skel);
-
-  /* Some future version of GNU M4 (most likely 1.6) may treat the -dV in a
-     position-dependent manner.  Keep it as the first argument so that all
-     files are traced.
-
-     See the thread starting at
-     <http://lists.gnu.org/archive/html/bug-bison/2008-07/msg00000.html>
-     for details.  */
   int filter_fd[2];
   pid_t pid;
   {
@@ -730,6 +719,13 @@ output_skeleton (void)
 
     argv[i++] = "-I";
     argv[i++] = datadir;
+    /* Some future version of GNU M4 (most likely 1.6) may treat the
+       -dV in a position-dependent manner.  Keep it as the first
+       argument so that all files are traced.
+
+       See the thread starting at
+       <http://lists.gnu.org/archive/html/bug-bison/2008-07/msg00000.html>
+       for details.  */
     if (trace_flag & trace_m4)
       argv[i++] = "-dV";
     argv[i++] = m4sugar;
@@ -739,6 +735,14 @@ output_skeleton (void)
     argv[i++] = NULL;
     aver (i <= ARRAY_CARDINALITY (argv));
 
+    if (trace_flag & trace_tools)
+      {
+        fputs ("running:", stderr);
+        for (int j = 0; argv[j]; ++j)
+          fprintf (stderr, " %s", argv[j]);
+        fputc ('\n', stderr);
+      }
+
     /* The ugly cast is because gnulib gets the const-ness wrong.  */
     pid = create_pipe_bidi ("m4", m4, (char **)(void*)argv, false, true,
                             true, filter_fd);
-- 
2.26.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]