logical operator bug fixes
[pspp] / src / language / control / define.c
index 187eb9fcf840b1e7932d36c49cfc77f1bde1b1ae..7e9e5f37d4273e59506fe549a5ea9867dbd25e28 100644 (file)
@@ -37,12 +37,12 @@ force_macro_id (struct lexer *lexer)
 }
 
 static bool
-match_macro_id (struct lexer *lexer, const char *id)
+match_macro_id (struct lexer *lexer, const char *keyword)
 {
-  if (id[0] != '!')
-    return lex_match_id (lexer, id);
+  if (keyword[0] != '!')
+    return lex_match_id (lexer, keyword);
   else if (lex_token (lexer) == T_MACRO_ID
-           && ss_equals_case (lex_tokss (lexer), ss_cstr (id)))
+           && lex_id_match_n (ss_cstr (keyword), lex_tokss (lexer), 4))
     {
       lex_get (lexer);
       return true;