Merge: #24903: Remove misleading error message to fix regression.
diff --git a/Lib/compileall.py b/Lib/compileall.py
index 64c0a9a..0cc0c1d 100644
--- a/Lib/compileall.py
+++ b/Lib/compileall.py
@@ -238,9 +238,6 @@
     args = parser.parse_args()
     compile_dests = args.compile_dest
 
-    if (args.ddir and (len(compile_dests) != 1
-            or not os.path.isdir(compile_dests[0]))):
-        parser.exit('-d destdir requires exactly one directory argument')
     if args.rx:
         import re
         args.rx = re.compile(args.rx)
diff --git a/Lib/test/test_compileall.py b/Lib/test/test_compileall.py
index ef2b669..2ce8a61 100644
--- a/Lib/test/test_compileall.py
+++ b/Lib/test/test_compileall.py
@@ -398,14 +398,6 @@
         self.assertCompiled(init2fn)
         self.assertCompiled(bar2fn)
 
-    def test_d_takes_exactly_one_dir(self):
-        rc, out, err = self.assertRunNotOK('-d', 'foo')
-        self.assertEqual(out, b'')
-        self.assertRegex(err, b'-d')
-        rc, out, err = self.assertRunNotOK('-d', 'foo', 'bar')
-        self.assertEqual(out, b'')
-        self.assertRegex(err, b'-d')
-
     def test_d_compile_error(self):
         script_helper.make_script(self.pkgdir, 'crunchyfrog', 'bad(syntax')
         rc, out, err = self.assertRunNotOK('-q', '-d', 'dinsdale', self.pkgdir)
diff --git a/Misc/ACKS b/Misc/ACKS
index 7ecb31a..cd715de 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -477,6 +477,7 @@
 Nitin Ganatra
 Fred Gansevles
 Lars Marius Garshol
+Jake Garver
 Dan Gass
 Andrew Gaul
 Matthieu Gautier
diff --git a/Misc/NEWS b/Misc/NEWS
index 4cca7a2..fc2797c 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -22,6 +22,10 @@
 Library
 -------
 
+- Issue #24903: Fix regression in number of arguments compileall accepts when
+  '-d' is specified.  The check on the number of arguments has been dropped
+  completely as it never worked correctly anyway.
+
 - Issue #25764: In the subprocess module, preserve any exception caused by
   fork() failure when preexec_fn is used.