Bug #1684254: webbrowser now uses shlex to split any command lines
given to get(). It also detects when you use '&' as the last argument
and creates a BackgroundBrowser then.
 (backport -- this is a regression from 2.4 and therefore backported)
diff --git a/Lib/webbrowser.py b/Lib/webbrowser.py
index 3735587..b71ef8d 100644
--- a/Lib/webbrowser.py
+++ b/Lib/webbrowser.py
@@ -2,6 +2,7 @@
 """Interfaces for launching and remotely controlling Web browsers."""
 
 import os
+import shlex
 import sys
 import stat
 import subprocess
@@ -32,7 +33,11 @@
     for browser in alternatives:
         if '%s' in browser:
             # User gave us a command line, split it into name and args
-            return GenericBrowser(browser.split())
+            browser = shlex.split(browser)
+            if browser[-1] == '&':
+                return BackgroundBrowser(browser[:-1])
+            else:
+                return GenericBrowser(browser)
         else:
             # User gave us a browser name or path.
             try:
diff --git a/Misc/NEWS b/Misc/NEWS
index d8c8871..bc29eaa 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -217,6 +217,10 @@
 Library
 -------
 
+- Bug #1684254: webbrowser now uses shlex to split any command lines
+  given to get(). It also detects when you use '&' as the last argument
+  and creates a BackgroundBrowser then.
+
 - Patch #1681153: the wave module now closes a file object it opened if
   initialization failed.