groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [BUG] Hyperlink macros: breaking should conserve the full hyperlink


From: G. Branden Robinson
Subject: Re: [BUG] Hyperlink macros: breaking should conserve the full hyperlink
Date: Tue, 8 Feb 2022 10:13:33 +1100
User-agent: NeoMutt/20180716

At 2022-02-07T23:18:22+0100, Alejandro Colomar (man-pages) wrote:
> I see the same broken link I saw in my experiments:
> 
> [
> foo(1)                      General Commands Manual
> foo(1)
> 
> Name
>        foo - frobnicate a bar
> 
> Description
>        Here’s  an  example  from  Alejandro Colomar (corrected).  You
> can find
>        more about this at the Linux kernel Web  site
>https://www.kernel.org/
>        doc/html/latest/process/coding-style.html#allocating-memory⟩.
> 
> groff test suite                  2022-02-08
> foo(1)
> ]
> 
> When I move the mouse over the link, it only highlights
> 'https://www.kernel.org/', and the hyperlink opens that same page
> <https://www.kernel.org>.
> 
> The only difference is that there's some text preceding the hyperlink.

This is baffling.  Here's what I get, with several scenarios attempted.

$ groff --version | head -n 1
GNU groff version 1.22.4
$ groff -Tutf8 -man ~/tmp/long-uri.man
foo(1)                      General Commands Manual                     foo(1)



Name
       foo - frobnicate a bar

Description
       Here's  an  example  from  Alejandro Colomar (corrected).  You can find
       more about this at the Linux kernel Web  site  ⟨https://www.kernel.org/
       doc/html/latest/process/coding‐style.html#allocating‐memory⟩.



groff test suite                  2022‐02‐08                            foo(1)

$ type tgu
tgu is aliased to `./build/test-groff -b -ww -Tutf8'
$ tgu --version | head -n 1
GNU groff version 1.23.0.rc1.1931-35c9b
$ git log --oneline origin..HEAD
beb9bd4fc (HEAD -> master) [docs]: Fix thinko.
a27ce8685 NEWS: Fix typo.
3d7bf3ce0 NEWS: Add item for translated man(7) sections.
b3814ea65 ChangeLog: Add bug closer to item.
949edb73d Revert "* tmac/a4.tmac: Work in compatibility mode."
$ tgu -man ~/tmp/long-uri.man
foo(1)                      General Commands Manual                     foo(1)

Name
       foo - frobnicate a bar

Description
       Here’s  an  example  from  Alejandro Colomar (corrected).  You can find
       more about this at the Linux kernel Web  site  ⟨https://www.kernel.org/
       doc/html/latest/process/coding-style.html#allocating-memory⟩.

groff test suite                  2022-02-08                            foo(1)
$ tgu -Z -man ~/tmp/long-uri.man | grep 'x X tty'
$ tgu -man -rU1 ~/tmp/long-uri.man
foo(1)                      General Commands Manual                     foo(1)

Name
       foo - frobnicate a bar

Description
       Here’s  an  example  from  Alejandro Colomar (corrected).  You can find
       more about this at the Linux kernel Web site.

groff test suite                  2022-02-08                            foo(1)
$ tgu -Z -man -rU1 ~/tmp/long-uri.man  | grep 'x X tty'
x X tty: link 
https://www.kernel.org/doc/html/latest/process/coding-style.html#allocating-memory
x X tty: link

All of the foregoing looks exactly like what I expect.

When did I last touch UR/UE?

$ git blame tmac/an-ext.tmac | sed -n '/\.de UR/,/\.de MT/p'
dc265728ee (Werner LEMBERG       2007-01-30 23:05:02 +0000 102) .de UR
dc265728ee (Werner LEMBERG       2007-01-30 23:05:02 +0000 103) .  ds m1 \\$1\"
6aaef43904 (G. Branden Robinson  2021-11-06 07:00:11 +1100 104) .  \" We can 
only hyperlink if we're not in a diversion.
6aaef43904 (G. Branden Robinson  2021-11-06 07:00:11 +1100 105) .  nr mD 0
6aaef43904 (G. Branden Robinson  2021-11-06 07:00:11 +1100 106) .  if '\\n(.z'' 
.nr mD 1
6aaef43904 (G. Branden Robinson  2021-11-06 07:00:11 +1100 107) .  if 
\\n(mD&\\nU&\\n(mU \{\
dc265728ee (Werner LEMBERG       2007-01-30 23:05:02 +0000 108) .    \" Start 
diversion in a new environment.
d8214d1414 (G. Branden Robinson  2021-05-22 10:04:39 +1000 109) .    do ev 
link-text-env
d8214d1414 (G. Branden Robinson  2021-05-22 10:04:39 +1000 110) .    do di 
link-text-div
dc265728ee (Werner LEMBERG       2007-01-30 23:05:02 +0000 111) .  \}
dc265728ee (Werner LEMBERG       2007-01-30 23:05:02 +0000 112) ..
dc265728ee (Werner LEMBERG       2007-01-30 23:05:02 +0000 113) .
dc265728ee (Werner LEMBERG       2007-01-30 23:05:02 +0000 114) .
dc265728ee (Werner LEMBERG       2007-01-30 23:05:02 +0000 115) .\" End URL.
dc265728ee (Werner LEMBERG       2007-01-30 23:05:02 +0000 116) .de UE
6aaef43904 (G. Branden Robinson  2021-11-06 07:00:11 +1100 117) .  ie 
\\n(mD&\\nU&\\n(mU \{\
dc265728ee (Werner LEMBERG       2007-01-30 23:05:02 +0000 118) .    br
dc265728ee (Werner LEMBERG       2007-01-30 23:05:02 +0000 119) .    di
dc265728ee (Werner LEMBERG       2007-01-30 23:05:02 +0000 120) .    ev
dc265728ee (Werner LEMBERG       2007-01-30 23:05:02 +0000 121) .
5c250cc6e7 (G. Branden Robinson  2021-10-01 21:43:31 +1000 122) .    \" Has 
there been at least one input line of hyperlinked text?
dc265728ee (Werner LEMBERG       2007-01-30 23:05:02 +0000 123) .    ie \\n(dn 
\{\
5c250cc6e7 (G. Branden Robinson  2021-10-01 21:43:31 +1000 124) .      if 
\\n(mH \
01edc79f70 (G. Branden Robinson  2021-05-23 01:44:26 +1000 125) \X^html:<a 
href="\\*(m1">^\c
5c250cc6e7 (G. Branden Robinson  2021-10-01 21:43:31 +1000 126) .      if 
\\n(mY \
5c250cc6e7 (G. Branden Robinson  2021-10-01 21:43:31 +1000 127) \X^tty: link 
\\*(m1^\c
5c250cc6e7 (G. Branden Robinson  2021-10-01 21:43:31 +1000 128) .      \" Strip 
off the final newline of the diversion and emit it.
d8214d1414 (G. Branden Robinson  2021-05-22 10:04:39 +1000 129) .      do chop 
link-text-div
d8214d1414 (G. Branden Robinson  2021-05-22 10:04:39 +1000 130) .      do 
link-text-div
dc265728ee (Werner LEMBERG       2007-01-30 23:05:02 +0000 131) \c
5c250cc6e7 (G. Branden Robinson  2021-10-01 21:43:31 +1000 132) .      if 
\\n(mH \
01edc79f70 (G. Branden Robinson  2021-05-23 01:44:26 +1000 133) \X^html:</a>^\c
5c250cc6e7 (G. Branden Robinson  2021-10-01 21:43:31 +1000 134) .      if 
\\n(mY \
5c250cc6e7 (G. Branden Robinson  2021-10-01 21:43:31 +1000 135) \X^tty: link^\c
dc265728ee (Werner LEMBERG       2007-01-30 23:05:02 +0000 136) .    \}
5c250cc6e7 (G. Branden Robinson  2021-10-01 21:43:31 +1000 137) .    el \{\
5c250cc6e7 (G. Branden Robinson  2021-10-01 21:43:31 +1000 138) .      if 
\\n(mH \
01edc79f70 (G. Branden Robinson  2021-05-23 01:44:26 +1000 139) \X^html:<a 
href="\\*(m1">\\*(m1</a>^\c
5c250cc6e7 (G. Branden Robinson  2021-10-01 21:43:31 +1000 140) .      if 
\\n(mY \
5c250cc6e7 (G. Branden Robinson  2021-10-01 21:43:31 +1000 141) \X^tty: link 
\\*(m1^\\*(m1\X^tty: link^\c
5c250cc6e7 (G. Branden Robinson  2021-10-01 21:43:31 +1000 142) .    \}
b6e1e6b985 (Eric S. Raymond      2007-02-06 09:27:41 +0000 143) \&\\$*\"
dc265728ee (Werner LEMBERG       2007-01-30 23:05:02 +0000 144) .  \}
7c2e5782d9 (G. Branden Robinson  2020-06-04 21:08:16 +1000 145) .  el \{\
618490dd26 (G. Branden Robinson  2020-08-16 03:03:34 +1000 146) .    nh
5b35c1a1d6 (G. Branden Robinson  2022-02-01 00:59:42 +1100 147) 
\\*(mL\\*(m1\\*(mR\\$1
c7efb5fd40 (G. Branden Robinson  2021-11-01 19:33:50 +1100 148) .    do shift
6aaef43904 (G. Branden Robinson  2021-11-06 07:00:11 +1100 149) .    ie \n(.g 
.if \n(.$ \&\\$*\"
6aaef43904 (G. Branden Robinson  2021-11-06 07:00:11 +1100 150) .    el .if 
\n(.$>1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9\"
45ff6c6564 (G. Branden Robinson  2020-08-16 05:27:11 +1000 151) .    hy \\n(HY
7c2e5782d9 (G. Branden Robinson  2020-06-04 21:08:16 +1000 152) .  \}
6aaef43904 (G. Branden Robinson  2021-11-06 07:00:11 +1100 153) . rr mD
8ca267dc32 (Werner LEMBERG       2007-01-22 07:52:19 +0000 154) ..
8ca267dc32 (Werner LEMBERG       2007-01-22 07:52:19 +0000 155) .
8ca267dc32 (Werner LEMBERG       2007-01-22 07:52:19 +0000 156) .
dc265728ee (Werner LEMBERG       2007-01-30 23:05:02 +0000 157) .\" Start email 
address.
dc265728ee (Werner LEMBERG       2007-01-30 23:05:02 +0000 158) .de MT

I don't expect you to make sense of all that, let's just make sure you
are running more or less the same code.  Yes, there was a recent change
on 1 February[1], but it shouldn't have had any impact on what you see.

Maybe someone else can see something that my mazed eyes are overlooking.

Regards,
Branden

[1] 
https://git.savannah.gnu.org/cgit/groff.git/commit/?id=5b35c1a1d6d16dbc659ca57db80c1163223bb164

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]