m4-commit
[Top][All Lists]
Advanced

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

Changes to m4/src/Attic/builtin.c,v [branch]


From: Eric Blake
Subject: Changes to m4/src/Attic/builtin.c,v [branch]
Date: Tue, 06 Jun 2006 12:28:49 +0000

CVSROOT:        /sources/m4
Module name:    m4
Branch:         branch
Changes by:     Eric Blake <ericb>      06/06/06 12:28:46

Index: src/builtin.c
===================================================================
RCS file: /sources/m4/m4/src/Attic/builtin.c,v
retrieving revision 1.1.1.1.2.5
retrieving revision 1.1.1.1.2.6
diff -u -b -r1.1.1.1.2.5 -r1.1.1.1.2.6
--- src/builtin.c       31 May 2006 22:54:13 -0000      1.1.1.1.2.5
+++ src/builtin.c       6 Jun 2006 12:28:46 -0000       1.1.1.1.2.6
@@ -488,7 +488,7 @@
     return;
   s = lookup_symbol (ARG (1), SYMBOL_LOOKUP);
 
-  if (s != NULL)
+  if (s != NULL && SYMBOL_TYPE (s) != TOKEN_VOID)
     result = ARG (2);
   else if (argc == 4)
     result = ARG (3);
@@ -695,7 +695,7 @@
     return;
 
   s = lookup_symbol (name, SYMBOL_LOOKUP);
-  if (s == NULL)
+  if (s == NULL || SYMBOL_TYPE (s) == TOKEN_VOID)
     M4ERROR ((warning_status, 0,
              "Undefined macro `%s'", name));
   else
@@ -1179,6 +1179,9 @@
 set_trace (symbol *sym, const char *data)
 {
   SYMBOL_TRACED (sym) = (boolean) (data != NULL);
+  /* Remove placeholder from table if macro is undefined and untraced.  */
+  if (SYMBOL_TYPE (sym) == TOKEN_VOID && data == NULL)
+    lookup_symbol (SYMBOL_NAME (sym), SYMBOL_DELETE);
 }
 
 static void
@@ -1192,12 +1195,8 @@
   else
     for (i = 1; i < argc; i++)
       {
-       s = lookup_symbol (TOKEN_DATA_TEXT (argv[i]), SYMBOL_LOOKUP);
-       if (s != NULL)
+       s = lookup_symbol (TOKEN_DATA_TEXT (argv[i]), SYMBOL_INSERT);
          set_trace (s, (char *) obs);
-       else
-         M4ERROR ((warning_status, 0,
-                   "Undefined name %s", TOKEN_DATA_TEXT (argv[i])));
       }
 }
 
@@ -1219,9 +1218,6 @@
        s = lookup_symbol (TOKEN_DATA_TEXT (argv[i]), SYMBOL_LOOKUP);
        if (s != NULL)
          set_trace (s, NULL);
-       else
-         M4ERROR ((warning_status, 0,
-                   "Undefined name %s", TOKEN_DATA_TEXT (argv[i])));
       }
 }
 




reply via email to

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