public inbox for newlib@sourceware.org
 help / color / mirror / Atom feed
From: Brian Inglis <Brian.Inglis@Shaw.ca>
To: newlib@sourceware.org
Subject: Re: [PATCH v3 0/2] newlib/libc/time/strftime: fix multi-page table format issues
Date: Wed, 22 Feb 2023 17:03:56 -0700	[thread overview]
Message-ID: <fd5f7667-e197-684a-f23b-6187af9cfc1b@Shaw.ca> (raw)
In-Reply-To: <d5eae973-93af-1480-7292-4cfa8503b419@dronecode.org.uk>

[Sorry - answered to patches not newlib!]
On 2023-02-22 13:10, Jon Turney wrote:
 > On 21/02/2023 09:15, Corinna Vinschen wrote:
 >> Jon,
 >> I'd like your GTG on the patchset before merging it.

 > Sorry, I don't think this patchset is good as is.

 >> On Feb 20 21:17, Brian Inglis wrote:
 >>> Discussion about why newlib man generation by docbook2man is
 >>> incompatible with how man is incompatible with groff/tbl/grohtml:
 >>>     https://lists.gnu.org/archive/html/bug-groff/2023-02/msg00118.html
 >>> There does not appear to be good way to deal in docbook2man processing
 >>> with generation of tables > "page" size, or that may not adversely affect
 >>> other [newlib] doc man page tables, as the problem occurs solely on the
 >>> strftime.3 man page!

 > So, this seems to be saying that "strftime manpage misrenders under some
 > circumstances", but I even after re-reading several times, I have no clear sense
 > what that circumstance is exactly: generating html output? with current version
 > of groff? a future one?
 > (Your answer should be a single sentence)
Current groff tbl pre-/processing generates table images for non-tty 
"devices"/file formats where tables > "page" size disappear if it is not handled 
appropriately, but the proper solution for tbl preprocessor output from groff 
can not be used, as there is a conflict between man requiring macro .TH and tbl 
needing command .TH to be passed thru to fix the problem - can't be done!

 >>> The imminent groff/tbl release fixes a number of tbl issues, so may
 >>> affect man pages with tables differently.
 >>> The following groff/grohtml release plans to change grohtml, from
 >>> generating tables as PNG graphics, which don't work reliably on some
 >>> "devices"/file formats, and are not searchable, to generating tables in
 >>> searchable text form on all "devices"/file formats, and fix other
 >>> related issues, so may also affect man pages with tables differently.
 >>> So for the current release, localize the changes to the man page chew
 >>> input embedded in the strftime.c source comments, and the generated
 >>> strftime.3 man page table formatting.
 >>> Be prepared to tweak formatting if doc generation needs it, and
 >>> eventually eliminate custom processing.

 > I'm not sure "make it look worse in the typical case (someone looking at it in a
 > terminal with 'man strftime') to make it look better in the atypical case (?)"
 > is a good trade-off.
We could mess up other tables in other man pages if we tried to change 
makedocbook/docbook2man processing to try to split "long" tables as that depends 
on the length of the descriptive text column entries in lines and pages, which 
depends on the "device"/file format!

It seems easier, given the future changes above with unknown impacts, to handle 
the strftime long man page table rendering by splitting the (chew) table about 
the middle +/-%Ox, which fixes the table length > page length issue, then 
correcting the generated man page markup, which fixes the non-tty table 
rendering issue.
We could also do all the work just on the generated man page markup, but that 
seems even "hack"ier to me, than the current proposal.

-- 
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer     but when there is no more to cut
                                 -- Antoine de Saint-Exupéry

  reply	other threads:[~2023-02-23  0:03 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-17 20:49 [PATCH 0/2] newlib/libc/time/strftime: table format fix man, tbl, groff multi-page table issues Brian Inglis
2023-02-17 20:49 ` [PATCH 1/2] newlib/libc/time/strftime.c: split table of conversion specifiers to " Brian Inglis
2023-02-17 20:49 ` [PATCH 2/2] newlib/libc/Makefile.inc: sed fix strftime.3 table format man, tbl, groff multi-page issues Brian Inglis
2023-02-18 16:54 ` [PATCH v2 " Brian Inglis
2023-02-20  9:45 ` [PATCH 0/2] newlib/libc/time/strftime: table format fix man, tbl, groff multi-page table issues Corinna Vinschen
2023-02-20 20:25   ` Brian Inglis
2023-02-20 22:03     ` Jon Turney
2023-02-20 23:20       ` Brian Inglis
2023-02-22 20:10         ` Jon Turney
2023-02-23 15:12           ` Brian Inglis
2023-02-21  4:17 ` [PATCH v3 0/2] newlib/libc/time/strftime: fix multi-page table format issues Brian Inglis
2023-02-21  4:18   ` [PATCH v3 1/2] newlib/libc/time/strftime.c: split chew table of conversion format specifiers Brian Inglis
2023-02-21  4:18   ` [PATCH v3 2/2] newlib/libc/Makefile.inc: sed fix strftime.3 tbl/groff format issues Brian Inglis
2023-02-21  9:15   ` [PATCH v3 0/2] newlib/libc/time/strftime: fix multi-page table " Corinna Vinschen
2023-02-22 20:10     ` Jon Turney
2023-02-23  0:03       ` Brian Inglis [this message]
2023-02-23 15:33     ` Brian Inglis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fd5f7667-e197-684a-f23b-6187af9cfc1b@Shaw.ca \
    --to=brian.inglis@shaw.ca \
    --cc=newlib@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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 read-only IMAP folder(s) and NNTP newsgroup(s).