diff --git a/Lib/codeop.py b/Lib/codeop.py
index 4c10470..7a08610 100644
--- a/Lib/codeop.py
+++ b/Lib/codeop.py
@@ -102,11 +102,20 @@ def _maybe_compile(compiler, source, filename, symbol):
     try:
         if code:
             return code
-        if not code1 and repr(err1) == repr(err2):
+        if not code1 and _is_syntax_error(err1, err2):
             raise err1
     finally:
         err1 = err2 = None
 
+def _is_syntax_error(err1, err2):
+    rep1 = repr(err1)
+    rep2 = repr(err2)
+    if "was never closed" in rep1 and "was never closed" in rep2:
+        return False
+    if rep1 == rep2:
+        return True
+    return False
+
 def _compile(source, filename, symbol):
     return compile(source, filename, symbol, PyCF_DONT_IMPLY_DEDENT)
 
diff --git a/Lib/test/test_codeop.py b/Lib/test/test_codeop.py
index 1da6ca5..ecc46af 100644
--- a/Lib/test/test_codeop.py
+++ b/Lib/test/test_codeop.py
@@ -135,6 +135,10 @@ def test_incomplete(self):
         ai("a = {")
         ai("b + {")
 
+        ai("print([1,\n2,")
+        ai("print({1:1,\n2:3,")
+        ai("print((1,\n2,")
+
         ai("if 9==3:\n   pass\nelse:")
         ai("if 9==3:\n   pass\nelse:\n")
         ai("if 9==3:\n   pass\nelse:\n   pass")
diff --git a/Misc/NEWS.d/next/Library/2021-02-08-21-13-51.bpo-43163.E2MgzH.rst b/Misc/NEWS.d/next/Library/2021-02-08-21-13-51.bpo-43163.E2MgzH.rst
new file mode 100644
index 0000000..ddd60ea
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2021-02-08-21-13-51.bpo-43163.E2MgzH.rst
@@ -0,0 +1,2 @@
+Fix a bug in :mod:`codeop` that was causing it to not ask for more input
+when multi-line snippets have unclosed parentheses. Patch by Pablo Galindo
