bpo-31014: Fix the webbrowser module. (GH-7267) · python/cpython@a410f9f

Original file line numberDiff line numberDiff line change

@@ -86,7 +86,7 @@ def open_new_tab(url):

8686

return open(url, 2)

8787
8888
89-

def _synthesize(browser, update_tryorder=1):

89+

def _synthesize(browser, *, preferred=True):

9090

"""Attempt to synthesize a controller base on existing controllers.

9191
9292

This is useful to create a controller when a user specifies a path to

@@ -113,7 +113,7 @@ def _synthesize(browser, update_tryorder=1):

113113

controller = copy.copy(controller)

114114

controller.name = browser

115115

controller.basename = os.path.basename(browser)

116-

register(browser, None, controller, update_tryorder)

116+

register(browser, None, instance=controller, preferred=preferred)

117117

return [None, controller]

118118

return [None, None]

119119

@@ -563,7 +563,7 @@ def register_standard_browsers():

563563

# and prepend to _tryorder

564564

for cmdline in userchoices:

565565

if cmdline != '':

566-

cmd = _synthesize(cmdline, -1)

566+

cmd = _synthesize(cmdline, preferred=False)

567567

if cmd[1] is None:

568568

register(cmdline, None, GenericBrowser(cmdline), preferred=True)

569569