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: