bpo-34333: Fix %-formatting in Path.with_suffix() (GH-8663)

(cherry picked from commit 423d05f6f59b24c91b9ef6b2e4ac130316764382)

Co-authored-by: Berker Peksag <berker.peksag@gmail.com>
diff --git a/Lib/pathlib.py b/Lib/pathlib.py
index 4fe9d4a..6be372e 100644
--- a/Lib/pathlib.py
+++ b/Lib/pathlib.py
@@ -813,7 +813,7 @@
         """
         f = self._flavour
         if f.sep in suffix or f.altsep and f.altsep in suffix:
-            raise ValueError("Invalid suffix %r" % (suffix))
+            raise ValueError("Invalid suffix %r" % (suffix,))
         if suffix and not suffix.startswith('.') or suffix == '.':
             raise ValueError("Invalid suffix %r" % (suffix))
         name = self.name
diff --git a/Lib/test/test_pathlib.py b/Lib/test/test_pathlib.py
index d95a831..ae7c75d 100644
--- a/Lib/test/test_pathlib.py
+++ b/Lib/test/test_pathlib.py
@@ -577,6 +577,8 @@
         self.assertRaises(ValueError, P('a/b').with_suffix, '.c/.d')
         self.assertRaises(ValueError, P('a/b').with_suffix, './.d')
         self.assertRaises(ValueError, P('a/b').with_suffix, '.d/.')
+        self.assertRaises(ValueError, P('a/b').with_suffix,
+                          (self.flavour.sep, 'd'))
 
     def test_relative_to_common(self):
         P = self.cls
diff --git a/Misc/NEWS.d/next/Library/2018-08-04-00-06-28.bpo-34333.5NHG93.rst b/Misc/NEWS.d/next/Library/2018-08-04-00-06-28.bpo-34333.5NHG93.rst
new file mode 100644
index 0000000..000f684
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2018-08-04-00-06-28.bpo-34333.5NHG93.rst
@@ -0,0 +1,2 @@
+Fix %-formatting in :meth:`pathlib.PurePath.with_suffix` when formatting an
+error message.