Hi Oliver, At 2023-04-23T12:23:06+0200, Oliver Corff wrote: > I came across a minor case of misbehaviour when trying to open html > links in man pages. > > $ man 7 roff > > has a section "SEE ALSO" with a number of links to Internet sites. > > The first link under "History of Unix Manpages" > ⟨http://manpages.bsd.lv/history.html⟩ is ready for opening in the > browser once the mouse hovers over it but cannot be opened (404 file not > found) because the closing parenthesis ")" erroneously makes its way > into the link. See also the automated highlighting (on my terminal via > underlining). The underlined region includes the closing parenthesis > (but not the opening parenthesis). > > However, the next link (http://www.troff.org) is activated correctly. > > It seems to be that URLs ending in top-level domains are recognized > correctly whereas URS with a page element (.../history.html in the first > example) are not recognized correctly. > > Is this an issue of the terminal (I use lxterminal 0.4.0) of of the > formatting process chain?
It can be. > The manpage source code is structurally identical in both cases: > > .\" on-screen URL highlighting includes closing parenthesis, Ctrl+Left > Click produces wrong URL (closing with ")") > .UR http://\:manpages.bsd.lv/\:history.html > > .\" on-screen URL highlighting does not include closing parenthesis, > Ctrl+Left Click produces correct URL > .UR http://\:www.troff.org That these hyperlink differently (with respect to trailing punctuation, apart from the obvious difference in URL content) suggests a problem with the terminal emulator... > PS: This machine runs groff 1.22.4, ...and that clinches it. groff 1.22.4 did not attempt to tell the terminal emulator about hyperlinks; the emulator is inferring them, and getting it wrong. (Not a surprise--it is an AI-hard problem to guess correctly.) > please forgive me if this is already fixed in the upcoming 1.23.0 > release. I _hope_ that it is avoided, and that lxterminal does not try to pattern-match URLs in the terminal window when the character cells it would auto-hyperlink are already covered by an active OSC 8 escape sequence, but I can't promise that any given terminal emulator isn't buggy. This bug might be worth reporting to the lxterminal developers for the sake of people not yet using groff 1.23.0. There'll be a few, since we haven't yet officially released. Regards, Branden
signature.asc
Description: PGP signature