Issue #5275: In Cookie's Cookie.load(), properly handle non-string arguments as documented.
diff --git a/Lib/Cookie.py b/Lib/Cookie.py
index 1ccfd16..fc6d9f6 100644
--- a/Lib/Cookie.py
+++ b/Lib/Cookie.py
@@ -624,7 +624,9 @@
         if type(rawdata) == type(""):
             self.__ParseString(rawdata)
         else:
-            self.update(rawdata)
+            # self.update() wouldn't call our custom __setitem__
+            for k, v in rawdata.items():
+                self[k] = v
         return
     # end load()
 
diff --git a/Misc/NEWS b/Misc/NEWS
index eea32c1..b517b97 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -364,6 +364,9 @@
 Library
 -------
 
+- Issue #5275: In Cookie's Cookie.load(), properly handle non-string arguments
+  as documented.
+
 - Issue #2666: Handle BROWSER environment variable properly for unknown browser
   names in the webbrowser module.