Skip to content

mandoc: Vendor import snapshot 2025-04-08 #1689

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

concussious
Copy link
Contributor

This is my first time attempting anything like this, so please be critical and nit. This has a prequel commit to switch all instances of our macros for the C23 standard to what upstream does so there is no conflict.

I tried to put a changelog summary in the annotated tag message, but I don't really understand that.

Many thanks to @erikarn, @bapt , @brooksdavis
CC @sergio-carlavilla , @mhorne

@bsdimp
Copy link
Member

bsdimp commented May 4, 2025

so, this will need to be a vendor import
But might I suggest that you add an alias for isoc-2023 to our tree in one commit.
then fix the few places in the tree that do this in one commit,
Then do the vendor import and merge (or have me do it if you don't know how).

@@ -56,7 +56,7 @@ LINE("-isoC-tcor1", "ISO/IEC 9899/TCOR1:1994 (\\(lqISO\\~C90, Technical Corrigen
LINE("-isoC-tcor2", "ISO/IEC 9899/TCOR2:1995 (\\(lqISO\\~C90, Technical Corrigendum 2\\(rq)")
LINE("-isoC-99", "ISO/IEC 9899:1999 (\\(lqISO\\~C99\\(rq)")
LINE("-isoC-2011", "ISO/IEC 9899:2011 (\\(lqISO\\~C11\\(rq)")
LINE("-isoC-2024", "ISO/IEC 9899:2024 (\\(lqISO\\~C23\\(rq)")
LINE("-isoC-2023", "ISO/IEC 9899:2024 (\\(lqISO\\~C23\\(rq)")
Copy link
Member

@bsdimp bsdimp May 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd accept both to avoid chicken and egg problems that may otherwise arise. We may need to do that in the stable branch anyway (though its obscure enough maybe not). Accepting both will allow older man pages to render correctly on current systems.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deprecated comment for the old one + notice in src/UPDATING? Accept both until 16.0 release?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alternatively, what if I MFC changing all the C24s that can MFC so we don't have this problem?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd add isoC2023 like you have and add a deprecated comment. I'd commit those changes here and the rest of the tree. then start on doing the vendor import to get the rest. I'd merge it to 14 after 14.3 is released (since it's a minor thing that doesn't change the rendered man pages and re@ dislikes churn that doesn't make things better). Catch me on irc/discord/etc and we can work out the logistics since there's a lot of details that matter and it's hard to catch them all on a github pull request. They are documented in the handbook, but it can be a little confusing in places (which I'd love to see improved, but I've read it so many times I'm blind to it, though I also know it's confusing).

@bsdimp
Copy link
Member

bsdimp commented May 5, 2025

pulled the PR. The merge looks OK. It looks to be the proper subtree merge.
But there's a couple of more steps to tag the vendor branch and to write a longer commit message for the merge itself.

Switch all instances of the -isoC-2024 macro to -isoC-2023 selected by
upstream. Keep -isoC-2024 defined, but deprecated, for backwards compat.

MFC after:      3 days (I will resolve merge conflicts with cdefs)
Interesting changes:
+ correct legacy mandoc date typo, reported on our very own bugzilla
+ improve libmandoc manual
+ strengthen recommendations to omit macros from title lines in mdoc(7)
+ improve html5 compliance in html output
+ improve RFC linking in markdown output
+ libmandoc and mdoc manuals have been improved
+ support arithmetic operations in tbl(7) column widths for DocBook
+ define the St -isoC-2023 macro for referencing the C23 spec
Interesting changes:
+ correct legacy mandoc date typo, reported on our very own bugzilla
+ improve libmandoc manual
+ strengthen recommendations to omit macros from title lines in mdoc(7)
+ improve html5 compliance in html output
+ improve RFC linking in markdown output
+ libmandoc and mdoc manuals have been improved
+ support arithmetic operations in tbl(7) column widths for DocBook
+ define the St -isoC-2023 macro for referencing the C23 spec

MFC after:      3 days
Thanks:         adrian, bapt, brooks, imp
@concussious concussious self-assigned this May 6, 2025
@concussious concussious added the needs-review Someone should look at this before proceeding label May 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-review Someone should look at this before proceeding
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants