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.