groff
[Top][All Lists]
Advanced

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

Re: Proposed v2: revised man(7) synopsis macros


From: Alejandro Colomar
Subject: Re: Proposed v2: revised man(7) synopsis macros
Date: Sun, 5 May 2024 19:00:33 +0200

Hi Branden,

On Sun, May 05, 2024 at 04:11:21PM +0200, Alejandro Colomar wrote:
> On Sun, May 05, 2024 at 08:54:53AM -0500, G. Branden Robinson wrote:
> > Hi Alex,
> 
> Hi Branden,
> 
> > At 2024-05-05T14:41:44+0200, Alejandro Colomar wrote:
> > > Thanks!
> > > 
> > > I'm trying it already in liba2i, since it's a project that I don't
> > > expect to use until 1.24.0 is out.
> > 
> > Thanks for giving it some field testing.  groff's own man pages aren't
> > the best test bed because I've revised nearly all of them so extensively
> > that they don't do things I wouldn't anticipate.
> > 
> > > -  Hardcoded line widths have an interesting feature: the author
> > >    decides the breaking point, which is interesting to highlight
> > >    differences between similar functions.  See for example printf(3):
> > > 
> > >      int printf(const char *restrict format, ...);
> > >      int fprintf(FILE *restrict stream,
> > >                  const char *restrict format, ...);
> > >      int dprintf(int fd,
> > >                  const char *restrict format, ...);
> > >      int sprintf(char *restrict str,
> > >                  const char *restrict format, ...);
> > >      int snprintf(char str[restrict .size], size_t size,
> > >                  const char *restrict format, ...);
> > > 
> > >    As you can see, the breaking point clearly shows the differences
> > >    between all of those, and leaves the common part in a separate
> > >    line.
> > 
> > Yes.  You could still use the `br` request to force a break here.  `SY`
> > and `YS` should not interfere.  groff and mandoc do discourage the use
> > of *roff requests, but in frankness no one will ever be able to get away
> > with not supporting `br`.  And at least its semantics are very obvious
> > and easy to implement in just about any text formatting system.
> 
> Hmmm, I hadn't considered .br.  That changes things.
> 
> > >    Still, this is not the common case, and most pages would benefit of
> > >    this SY.  I'm just mentioning here to note that old hard-coded BI
> > >    still has its place in some pages.  I will probably never use SY in
> > >    printf(3).
> > 
> > Awww.  Too bad.  I think a lot of aspiring page authors would look
> > there, because the function is so familiar, and they might wonder how to
> > do the variadic thing.
> 
> With .br I think I retire my previous statement.  I'll test it when I
> finish some other stuff I'm working on.

Done.  I like it very much.  It works just like it should.  :-)
In case you want to check my pages for testing your code, here they are:

<https://git.kernel.org/pub/scm/libs/liba2i/liba2i.git/tree/man/man3/a2i.3?h=main>
<https://git.kernel.org/pub/scm/libs/liba2i/liba2i.git/tree/man/man3/str2i.3?h=main>

While I don't care for liba2i.git too much, it would be interesting if
these enhancements could be backported to Debian stable, which would
allow using them earlier in the Linux man-pages.

Have a lovely day!
Alex

-- 
<https://www.alejandro-colomar.es/>
A client is hiring kernel driver, mm, and/or crypto developers;
contact me if interested.

Attachment: signature.asc
Description: PGP signature


reply via email to

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