groff
[Top][All Lists]
Advanced

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

Re: [groff] 01/08: mdoc: Accept mixed-case section headings.


From: Steffen Nurpmeso
Subject: Re: [groff] 01/08: mdoc: Accept mixed-case section headings.
Date: Wed, 04 Nov 2020 23:24:00 +0100
User-agent: s-nail v14.9.19-158-g7c269c7f-dirty

Hello,

and sorry for the late reply.

G. Branden Robinson wrote in
 <20201101035740.2azpyoxgyrd6ozdl@localhost.localdomain>:
 |Hi, Steffen.  Coming back to an old item of business.
 |
 |At 2020-09-29T19:12:00+1000, G. Branden Robinson wrote:
 |> At 2020-09-28T22:57:37+0200, Steffen Nurpmeso wrote:
 |>> Rereading the first messages of the thread ... i reiterated one of
 |>> Ingo's statements in fact.
 |> 
 |> Yes, I think the earlier discussions were pretty comprehensive.
 |> 
 |> I haven't brought CS and CT support to groff_mdoc yet but I haven't
 |> forgotten.  Savannah #59106 is nagging me like a toothache.
 |
 |I fixed #59106 but more bugs lurk with various combinations of cR and
 |the C register.  However, they don't seem to be regressions but rather
 |to be of rather long tooth, and given a paucity of evidence of other
 |users finding and complain about them, I think they can wait for the
 |post-groff-1.23.0 era.
 |
 |CS and CT are now supported in mdoc, as of
 |9fa2aed4facae1c94cc339b891aca25c57074551, which I've just pushed.

Thank you.

No offense meant (!), but you possibly should adjust

      if (mode == STRING_DOWNCASE)
        nc = tolower(c);
      else
        nc = toupper(c);

to 

      if ((unsigned char)c & 0x80) {
        del mac;
        error("cannot apply string case transformation to non-ASCII ('%1')",
             s.contents());
        skip_line();
        return;
      } else if (mode == STRING_DOWNCASE)
        nc = tolower(c);
      else
        nc = toupper(c);

before the release is out and people start creating manual pages
with "normal" casing and these requests become used.
Yes, i wanted to look for (non-standard?!) isascii(3), but like so
is stumbled upon problems (just try "git grep -i isascii master"),
there are quite some

  #ifdef isascii
  #define ISASCII(c) isascii(c)
  #else
  #define ISASCII(c) (1)
  #endif

and that is of course plain wrong, it should be

  #ifdef isascii
  #define ISASCII(c) isascii(c)
  #else
  #define ISASCII(c) (((unsigned char)c & 0x80) == 0)
  #endif

 |I've also tightened the synchrony between groff man(7) and mdoc(7)
 |regarding registers and strings used for rendering parameters.  They
 |haven't diverged to date, and with this work it's less likely that they
 |will in the future.
 |
 |Regards,
 |Branden

 --End of <20201101035740.2azpyoxgyrd6ozdl@localhost.localdomain>

Good night!

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)



reply via email to

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