[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Changes to m4/modules/gnu.c,v
From: |
Eric Blake |
Subject: |
Changes to m4/modules/gnu.c,v |
Date: |
Sat, 23 Dec 2006 00:02:23 +0000 |
CVSROOT: /sources/m4
Module name: m4
Changes by: Eric Blake <ericb> 06/12/23 00:02:21
Index: modules/gnu.c
===================================================================
RCS file: /sources/m4/m4/modules/gnu.c,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -b -r1.69 -r1.70
--- modules/gnu.c 19 Dec 2006 17:23:46 -0000 1.69
+++ modules/gnu.c 23 Dec 2006 00:02:20 -0000 1.70
@@ -399,7 +399,7 @@
int resyntax = m4_regexp_syntax_encode (spec);
if (resyntax < 0)
- m4_error (context, 0, 0, _("%s: bad syntax-spec: `%s'"), caller, spec);
+ m4_warn (context, 0, _("%s: bad syntax-spec: `%s'"), caller, spec);
return resyntax;
}
@@ -434,16 +434,28 @@
int i;
for (i = 1; i < argc; i++)
{
- char key = *M4ARG (i);
- if (key != '\0'
- && (m4_set_syntax (M4SYNTAX, key,
- m4_expand_ranges (M4ARG (i) + 1, obs)) < 0))
- {
- m4_error (context, 0, 0, _("%s: undefined syntax code: `%c'"),
+ const char *spec = M4ARG (i);
+ char key = *spec++;
+ char action = key ? *spec : '\0';
+ switch (action)
+ {
+ case '-':
+ case '+':
+ case '=':
+ spec++;
+ break;
+ case '\0':
+ break;
+ default:
+ action = '=';
+ break;
+ }
+ if (m4_set_syntax (M4SYNTAX, key, action,
+ key ? m4_expand_ranges (spec, obs) : "") < 0)
+ m4_warn (context, 0, _("%s: undefined syntax code: `%c'"),
M4ARG (0), key);
}
}
- }
else
assert (!"Unable to import from m4 module");
}