Thanks Dirk.
M-x browse-url does indeed do what I want, opening my default browser.
Looking at those three variables you (and indeed, the docs) mention, I was still expecting that my preferred default browser would be used.
I figured it out (and will get there), but for the purpose of this discussion:
browse-url-browser-function is a variable defined in ‘browse-url.el’.
- Its value is ‘browse-url-default-browser’
browse-url-handlers is a variable defined in ‘browse-url.el’.
- Its value is nil
browse-url-default-handlers is a variable defined in ‘browse-url.el’.
- Its value is
(("\\mailto:" . browse-url--mailto) ("\\man:" . browse-url--man)
("\\irc6?s?://" . browse-url--irc)
(browse-url--non-html-file-url-p . browse-url-emacs))
OK, fine, back to square one. Looking at the "a-v" action (view in browser), I started looking up function definitions, opening up plausible subjects in the code, and going a bit down the rabbit hole. I should do this more in Emacs, but after all this time, it's something I haven't done much of before. It is very cool that I *can*, however.
Anyway, it occurred to me in all this that the end result seems to be calling browse-url after all, but after the gnus article code has written it out as a temporary HTML file.
xdg-open
https://whatever opens Vivaldi, while xdg-open file://foo.html opens Firefox.
Aha! It's not what Emacs is doing after all, but the desktop settings that hadn't caught up for opening an HTML file. I changed that, and it works!
Cheers,
Tim