Issue #9020: The Py_IS* macros from pyctype.h should generally only be
used with signed/unsigned char arguments. For integer arguments, EOF
has to be handled separately.
diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c
index a647d9c..ee6313b 100644
--- a/Parser/tokenizer.c
+++ b/Parser/tokenizer.c
@@ -1365,7 +1365,7 @@
                 goto letter_quote;
             break;
         }
-        while (Py_ISALNUM(c) || c == '_') {
+        while (c != EOF && (Py_ISALNUM(c) || c == '_')) {
             c = tok_nextc(tok);
         }
         tok_backup(tok, c);