texinfo-commits
[Top][All Lists]
Advanced

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

[7135] parsetexi update


From: Gavin D. Smith
Subject: [7135] parsetexi update
Date: Sun, 24 Apr 2016 15:34:52 +0000

Revision: 7135
          http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=7135
Author:   gavin
Date:     2016-04-24 15:34:51 +0000 (Sun, 24 Apr 2016)
Log Message:
-----------
parsetexi update

Modified Paths:
--------------
    trunk/tp/parsetexi/macro.c

Modified: trunk/tp/parsetexi/macro.c
===================================================================
--- trunk/tp/parsetexi/macro.c  2016-04-24 14:53:32 UTC (rev 7134)
+++ trunk/tp/parsetexi/macro.c  2016-04-24 15:34:51 UTC (rev 7135)
@@ -77,7 +77,7 @@
   macro->cmd = cmd;
   macro->line_nr = line_nr;
 
-  add_extra_string (macro, "arg_line", line);
+  add_extra_string (macro, "arg_line", strdup (line));
   /* FIXME: This extra value isn't used much, so is a candidate for
      simplification. */
 
@@ -144,6 +144,23 @@
       text_append_n (&arg->text, args_ptr, q2 - args_ptr);
       add_to_element_args (macro, arg);
 
+      /* Check the argument name. */
+      {
+      char *p;
+      for (p = args_ptr; p < q2; p++)
+        {
+          if (!isalnum (*p) && *p != '_' && *p != '-')
+            {
+              char c = *q2; *q2 = 0;
+              line_error ("bad or empty @%s formal argument: %s",
+                          command_name(cmd), args_ptr);
+              *q2 = c;
+              add_extra_string (macro, "invalid_syntax", "1");
+              break;
+            }
+        }
+      }
+
       args_ptr = q + 1;
 
       if (*q == '}')




reply via email to

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