Subject: bug#74730: [PATCH] 30.0.92; eww-browse-with-external-browser and eww-follow-link should use browse-url-with-browser-kind

From: Eli Zaretskii <[email-masked]>
Date: Sun, 08 Dec 2024 07:57:13 +0200

> Date: Sat, 07 Dec 2024 23:02:09 +0100
> From:  Daniel Mendler via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <[email-masked]>
> 
> The command `eww-browse-with-external-browser' uses
> `browse-url-secondary-browser-function'. This makes the command
> ineffective in the common setup where
> `browse-url-secondary-browser-function' is set to `eww-browse-url' and
> `browse-url-browser-function' is set to an external browser.

The doc string of browse-url-secondary-browser-function explicitly
says not to set it to eww.  So users who do the above are acting
against the design and the recommended usage, and I'm not sure we
should support that at all, let alone with a (seemingly)
backward-incompatible change such as the one you propose.

> Fortunately we can use `browse-url-with-browser-kind' instead, which
> guarantees that an external browser is launched.
> 
> Furthermore `eww-follow-link' should use `browse-url-with-browser-kind'
> if the EXTERNAL prefix argument is non-nil.
> 
> I've looked at all other uses of `browse-url-browser-function' and
> `browse-url-secondary-browser-function' in the Emacs code base and I
> have not found other problems. Most commands use a prefix argument to
> switch to the secondary browser, relying on the primary browser by
> default. The problem is limited to `eww-browse-with-external-browser'
> and `eww-follow-link'.

What will happen as result of this change to users who customize
browse-url-secondary-browser-function as its doc string says, and then
invoke the command eww-browse-with-external-browser?