discuss@mandoc.bsd.lv
 help / color / mirror / Atom feed
* .Bl -tag -width ".mdoc macro" not recognised sometimes(?)
@ 2022-06-05 16:16 наб
  2022-06-05 17:55 ` Jan Stary
  0 siblings, 1 reply; 7+ messages in thread
From: наб @ 2022-06-05 16:16 UTC (permalink / raw)
  To: discuss


[-- Attachment #1.1: Type: text/plain, Size: 2369 bytes --]

Hi!

I'm attaching a manual that reproduces this; in short:
  .Bl -tag -compact -offset 4n -width ".Sy \e\e , \ea , \eb , \et"
works, but
  .Bl -tag -offset 4n -width ".Sy [\& Ns Ar c Ns Sy *] , [\& Ns Ar c Ns Sy * Ns Ar len Ns Sy \&]"
doesn't.

Wherein "doesn't" is defined as "I think it's just taking the literal
width of the string", which means mandoc really struggles to set this:
-- >8 --
O\bOP\bPT\bTI\bIO\bON\bNS\bS
   S\bSE\bET\bT E\bEX\bXP\bPA\bAN\bNS\bSI\bIO\bON\bN
     In all places where an arbitrary character is allowed, it can instead be
     one of the following escapes:
         \\b\\\b\, \\b\a\ba, \\b\b\bb, \\b\t\bt
         \\b\n\bn, \\b\v\bv, \\b\f\bf, \\b\r\br         The backslash, bell, backspace, tab, line
                                feed, vertical tab, form feed, and carriage
                                return characters, respectively.
         \\b\_\bO[_\bO[_\bO]]               Octal byte of value.
         \\b\_\bc                     Literal _\bc, without considering any other
                                sequences.

     Additionally, the following expansions are recognised:

         _\bf-\b-_\bt                                                           Inclusive
                                                                       range
                                                                       of all
                                                                       &c.

         [\b[:\b:_\bc_\bl_\ba_\bs_\bs:\b:]\b]                                                     Where
                                                                       _\bc_\bl_\ba_\bs_\bs
                                                                       may be
                                                                       any of
                                                                         a\bal\bln\bnu\bum\bm       alphanumeric
                                                                                     characters
                                                                         a\bal\blp\bph\bha\ba       letters
                                                                         b\bbl\bla\ban\bnk\bk       blanks
-- >8 --

This is on a fresh (like, 20 minutes old) CVS checkout,
and also affects 1.14.5-1 off Debian.

groff processes this fine in both [nt]roff modes.

Best,
наб

[-- Attachment #1.2: Type: text/plain, Size: 2315 bytes --]

.\" SPDX-License-Identifier: 0BSD
.\"
.Dd
.Dt TR 1
.Os
.
.Sh NAME
.Nm tr
.Nd transliterate bytes
.
.Sh OPTIONS
.Ss SET EXPANSION
In all places where an arbitrary character is allowed, it can instead be one of the following escapes:
.Bl -tag -compact -offset 4n -width ".Sy \e\e , \ea , \eb , \et"
.It Sy \e\e , \ea , \eb , \et
.It Sy \en , \ev , \ef , \er
The backslash, bell, backspace, tab, line feed, vertical tab, form feed, and carriage return characters, respectively.
.
.It Sy \e Ns Ar O Ns Op Ar O Ns Op Ar O
Octal byte of value.
.
.It Sy \e Ns Ar c
Literal
.Ar c ,
without considering any other sequences.
.El
.Pp
Additionally, the following expansions are recognised:
.
.Bl -tag -offset 4n -width ".Sy [\& Ns Ar c Ns Sy *] , [\& Ns Ar c Ns Sy * Ns Ar len Ns Sy \&]"
.It Ar f Ns Sy - Ns Ar t
Inclusive range of all characters between
.Ar f
and
.Ar t ,
in ascending order.
Recognised only if
.Ar t
is at least
.Ar f .
.
.It Sy [: Ns Ar class Ns Sy :]
Where
.Ar class
may be any of
.Bl -tag -compact -offset 2n -width ".Sy xdigit"
.It Sy alnum
alphanumeric characters
.It Sy alpha
letters
.It Sy blank
blanks
.It Sy cntrl
control characters
.It Sy digit
digits
.It Sy graph
graphic characters \(em printable except space
.It Sy lower
lower-case letters
.It Sy print
printable characters
.It Sy punct
punctuation characters
.It Sy space
whitespace
.It Sy upper
upper-case letters
.It Sy xdigit
hexadecimal digits
.El
These correspond directly to respective
.Pp
.St -p1003.1-2008
only guarantees equivalent relative ordering for
.Sy [:lower:]
and
.Sy [:upper:] ,
so reliance upon any given ordering of characters generated by character classes may not be portable.
.
.It Sy [= Ns Ar e Ns Sy =]
Just
.Ar e .
.St -p1003.1-2008
specifies this to be characters with the same equivalence (collation) class as
.Ar e
according to the current locale, but this is scarcely supported and most implementations just do
.Ar e .
.
.It Sy [\& Ns Ar c Ns Sy *] , [\& Ns Ar c Ns Sy * Ns Ar len Ns Sy \&]
If
.Ar len
is
.Em 0
or missing, repeat
.Ar c
until length of set matches length of the first set (not available when expanding the first set), otherwise repeat
.Ar c len
times.
.Ar len
is a decimal integer
.Pq octal if it starts with Sy 0 .
.El
.Pp
If enabled,
.Fl c
occurs directly after processing these transformations.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-06-06 10:08 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-05 16:16 .Bl -tag -width ".mdoc macro" not recognised sometimes(?) наб
2022-06-05 17:55 ` Jan Stary
2022-06-05 18:28   ` наб
2022-06-05 19:43     ` Ingo Schwarze
2022-06-05 20:16       ` наб
2022-06-05 20:48         ` Jan Stary
2022-06-06 10:08         ` Ingo Schwarze

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).