[3.9] bpo-40939: Fix test_keyword for the old parser (GH-20814)

diff --git a/Lib/keyword.py b/Lib/keyword.py
index afc3db3..a4db67e 100644
--- a/Lib/keyword.py
+++ b/Lib/keyword.py
@@ -19,7 +19,7 @@
     'False',
     'None',
     'True',
-    '__new_parser__',
+    '__peg_parser__',
     'and',
     'as',
     'assert',
diff --git a/Lib/pydoc.py b/Lib/pydoc.py
index a5368bf..35ef3eb 100755
--- a/Lib/pydoc.py
+++ b/Lib/pydoc.py
@@ -1817,7 +1817,7 @@
         'False': '',
         'None': '',
         'True': '',
-        '__new_parser__': '',
+        '__peg_parser__': '',
         'and': 'BOOLEAN',
         'as': 'with',
         'assert': ('assert', ''),
diff --git a/Lib/test/test_keyword.py b/Lib/test/test_keyword.py
index 3e2a8b3..e1042cf 100644
--- a/Lib/test/test_keyword.py
+++ b/Lib/test/test_keyword.py
@@ -1,5 +1,6 @@
 import keyword
 import unittest
+from test.support import use_old_parser
 
 
 class Test_iskeyword(unittest.TestCase):
@@ -21,7 +22,10 @@
         self.assertFalse(keyword.iskeyword('eggs'))
 
     def test_all_keywords_fail_to_be_used_as_names(self):
-        for key in keyword.kwlist:
+        all_keywords = set(keyword.kwlist)
+        if use_old_parser():
+            all_keywords.discard('__peg_parser__')
+        for key in all_keywords:
             with self.assertRaises(SyntaxError):
                 exec(f"{key} = 42")