Re: a morsel of groff 1.23.0 status
On Thursday, 6 July 2023 02:02:39 BST Peter Schaffter wrote: > On Wed, Jul 05, 2023, Dave Kemper wrote: > > On 7/5/23, G. Branden Robinson wrote: > > > May I be excused some > > > pride in our delivery of over 400 bug fixes and 150 automated tests? > > > > Fully justified. I'm glad it's finally out in the world. Thank you > > for your tireless work in making groff more featureful, more portable, > > better documented, and less buggy. > > Hear, hear! Well done.
Re: a morsel of groff 1.23.0 status
Bravo to everybody involved!! Seriously, I can't express just how good it feels to see a long-awaited release finally be published to the world. :) On Thu, 6 July 2023, 8:12 am G. Branden Robinson, < g.branden.robin...@gmail.com> wrote: > At 2023-07-05T23:31:54+0200, Bertrand Garrigues wrote: > > I've pushed tag 1.23.0 and published the archive on > > https://ftp.gnu.org/gnu/groff/ > > Rock and roll, and good times! > > > For the announcement email I'll send the mail to info-...@gnu.org as you > > don't have the official maintainer title yet. > > Ah! If I had known it was sender-restricted, I'd forgotten. > > > There are some guidelines > > to follow [1], basically a short presentation, then were to get the > > soft, then the NEWS file. > > I see--I hadn't actually read that section before. I do note that it > says only what should be included, and doesn't discourage us from saying > more, which my announcement template admittedly does. > > > You can see my previous announcement here [2], I intend to write > > something similar and mentioning you as the lead developer. Do you > > see any important things to add? > > If what I'm using as a template in the ANNOUNCE file[A] doesn't fit what > you want to say, then I'd suggest adding the following, though I don't > insist on either of them. > > 1. Use the description of groff that is now synchronized between our > home page, Texinfo manual, and man pages. > > --- > groff (GNU roff) is a typesetting system that reads plain text > input files that include formatting commands to produce output in > PostScript, PDF, HTML, or DVI formats or for display to a terminal. > Formatting commands can be low-level typesetting primitives, macros > from a supplied package, or user-defined macros. All three > approaches can be combined. > > A reimplementation and extension of the typesetter from AT&T Unix, > groff is present on most POSIX systems owing to its long association > with Unix manuals (including man pages). It and its predecessor are > notable for their production of several best-selling software > engineering texts. groff is capable of producing typographically > sophisticated documents while consuming minimal system resources. > --- > > 2. Incorporate the "Changes" section from the "ANNOUNCE" file. I think > it useful for at least two reasons: it summarizes the gigantic > amount (nearly 700 lines) of "NEWS" for this release; it underscores > the emphasis on quality of implementation. May I be excused some > pride in our delivery of over 400 bug fixes and 150 automated tests? > > I do grant that if you include both of the above, a modification of > your 1.22.4 release announcement will look more like than unlike the > "ANNOUNCE" template. > > The writing of promotional copy is not my strong suit, but my concern > here is to ensure that users of groff 1.22.4 are not lacking reasons to > upgrade, so I think it is worth going to a little trouble to flog > 1.23.0's advantages: not just more features, but more testing, more > documentation, and a better quality of life for our community. > > (On that high note, I should probably go re-watch _Glengarry Glen Ross_ > to remind myself what salesmen are really like...) > > Above all, _thank you_ for being the groff maintainer and working to > make this release possible! Let me know what sort of fermented or > distilled beverage you enjoy. :) > > > [1] https://www.gnu.org/prep/maintain/html_node/Announcements.html > > [2] https://lists.gnu.org/archive/html/info-gnu/2018-12/msg00015.html > > Best regards, > Branden > > [A] > https://git.savannah.gnu.org/cgit/groff.git/tree/ANNOUNCE?id=198346d187de9e340bbf9d4f80c2dc4d42f5f74e >
Re: [TUHS] Re: symbols in eqnchar
Branden, In an earlier lifetime, my very smart colleague Weeks White implemented a fudged version of 'eqn' which interpreted a line .SO file which was NOT between .EQ and .EN. The file was a legal troff input file which normally contained .EQ/.EN blocks (among other things). This file was pulled directly into the EQN input stream. Another approach. Thanks - Damian
groff online manuals updated for 1.23.0 release
Hi folks, I've updated the groff home page. Yesterday, to reflect the release; today, to update the online copies of our Texinfo manual and to add the collected groff man pages. You can have a look at: https://www.gnu.org/software/groff/manual/ The groff home page is managed in CVS; dealing with CVS consistently reminds me how much more pleasant Git is to work with. Here's a condensed digest of changes. --- groff online manual: Update and revamp. * Do less by hand. - Add Makefile. - Create index.html from index.html.in. - Get file sizes from system. * Drop PostScript version of manual; groff 1.23.0 doesn't generate it. * Rename "groff.html_node.tar.gz" to "groff.html.node.tar.gz" to match current practice in the groff build. * Replace "groff.texi.tar.gz" with "groff.texi.gz"; there's no point having a single-file tape archive. * Provide our Texinfo in source form as well (plain and compressed). * Update descriptions of documentation files. Most importantly, describe plain texi version of our Texinfo manual as encoded in "ISO Latin-1" instead of "ASCII", which was incorrect. --- manual: Add groff man page collection. --- manual/index.html*: Fix ugly markup. --- Regards, Branden signature.asc Description: PGP signature
Re: early adopters of groff 1.23.0
"G. Branden Robinson" writes: > [[PGP Signed Part:Undecided]] > Hi folks, > > I'm pleased to see that even in the absence of an official announcement > (so far), distributors are getting their hands on the still piping-fresh > groff 1.23.0 release. > > Over the course of the release cycle, I've kept my eye on repology.org > to see who's been taking up the release candidates. That monitoring has > not been wholly disappointing, but it has underscored the importance of > producing official releases. No matter how solid your code quality, > many people will not take up your work until you pronounce it "ready". > > I'd like to recognize the following distributions for moving fast. > > * Alpine Linux Edge > * Carbs Linux > * Gentoo > * KaOS Build > * Termux Thank you! We've indeed been testing the RCs too, although we made them opt-in for users. And thank you all for the new groff release! I know it was a massive push to get here.
Re: early adopters of groff 1.23.0
Hello all, after having tested the RCs on darwin nixpkgs for the past weeks and seeing the message about the 1.23.0 source archive being available I felt the time was right to create a GitHub Pull-Request¹ and update the groff package on NixOS and nixpkgs. Folks reviewing said PR have reported potentially related man-db test failures caused by: grotty::():9: warning: unrecognized X command 'sgr 0' ignored which might be due to bug #61561: [grotty] remove 'sgr' device control command² Does anyone have more context on this and is willing to share their take on it and how to possibly fix the test failures should they be related to the update to groff 1.23.0? Regardless of any NixOS/nixpkgs related woes: Thank you for all the work and effort put into the release!! Best Alexis ¹ https://github.com/NixOS/nixpkgs/pull/241870 ² https://savannah.gnu.org/bugs/?61561
Re: a morsel of groff 1.23.0 status
Hi Branden, On mer., juil. 05 2023 at 05:11:37 , "G. Branden Robinson" wrote: [...] > If what I'm using as a template in the ANNOUNCE file[A] doesn't fit what > you want to say, then I'd suggest adding the following, though I don't > insist on either of them. Ah, I've completely forgotten your ANNOUNCE file... [...] > I do grant that if you include both of the above, a modification of > your 1.22.4 release announcement will look more like than unlike the > "ANNOUNCE" template. > > The writing of promotional copy is not my strong suit, but my concern > here is to ensure that users of groff 1.22.4 are not lacking reasons to > upgrade, so I think it is worth going to a little trouble to flog > 1.23.0's advantages: not just more features, but more testing, more > documentation, and a better quality of life for our community. The ANNOUNCE file fits perfectly well to the job, so I'll use it. I'll just swap the 1st and 2nd paragraph (normal people usually want to know what the software is about before actually downloading it). > (On that high note, I should probably go re-watch _Glengarry Glen > Ross_ to remind myself what salesmen are really like...) > Above all, _thank you_ for being the groff maintainer and working to > make this release possible! Let me know what sort of fermented or > distilled beverage you enjoy. :) Well both, I've allowed myself a drop of Armagnac (it's like cognac, but even better) and brewed a cup of Taiwanese Oolong (semi-fermented) tea... Cheers! The announcement will be sent in a few minutes. Regards, Bertrand
Groff version 1.23.0
We are pleased to announce the availability of groff 1.23.0. What is groff? == groff (GNU roff) is a typesetting system that reads plain text input files that include formatting commands to produce output in PostScript, PDF, HTML, or DVI formats or for display to a terminal. Formatting commands can be low-level typesetting primitives, macros from a supplied package, or user-defined macros. All three approaches can be combined. A reimplementation and extension of the typesetter from AT&T Unix, groff is present on most POSIX systems owing to its long association with Unix manuals (including man pages). It and its predecessor are notable for their production of several best-selling software engineering texts. groff is capable of producing typographically sophisticated documents while consuming minimal system resources. https://www.gnu.org/software/groff/ Download Obtain it from the GNU mirror network, https://ftpmirror.gnu.org/groff/groff-1.23.0.tar.gz or, if the network is for some reason inoperative, directly from GNU https://ftp.gnu.org/gnu/groff/groff-1.23.0.tar.gz Ensure the integrity of your download by checking this source code archive's cryptographic signature; see "Obtaining groff" below. Changes === Changes since the most recent release candidate, 1.23.0.rc4, comprise about 200 commits' worth of changes to documentation, including over 1,000 lines of updates to each of doc/groff.texi (our Texinfo manual) and the man pages groff_mm(7) and eqn(1). Since groff 1.22.4 was released in December 2018, 28 people have made a total of over 4,500 commits: 14 Bertrand Garrigues 14 Bjarni Ingi Gislason 2 Bruno Haible 6 Colin Watson 1 Cynthia A. E. Livingston 1 Damian McGuckin 31 Dave Kemper 29 Deri James 2 Dorai Sitaram 1 Edmond Orignac 1 Eric Allman 4778 G. Branden Robinson 1 George HELFFRICH 33 Ingo Schwarze 1 John Gardner 4 Keith Bostic 25 Keith Marshall 2 Michael J. Karels 1 Nate Bargmann 3 Nikita Ivanov 1 Paul Eggert 71 Peter Schaffter 1 Samanta Navarro 1 T. Kurt Bond 3 Tadziu Hoffmann 1 Thomas Dupond 2 ivan tkachenko 1 наб (Some possibly surprising names in the above are due to a rebase of groff me(7) against 4.4BSD.) Headline features nominated by our development community include: * a new 'man' macro, "MR", for formatting man page cross references; * hyperlinked text in terminals via the ECMA-48 OSC 8 escape sequence; * a new 'rfc1345' macro package, contributed by Dorai Sitaram, enabling use of RFC 1345 mnemonics as groff special characters; * a new 'sboxes' macro package, contributed by Deri James, enabling 'ms' documents to place shaded and/or bordered rectangles underneath any groff page elements (PDF output only); * 'mom' 2.5, a macro package contributed by Peter Schaffter; * the 'ms' package's new strings to assist subscripting; * Italian localization, including hyphenation patterns and macro package string translations, thanks to Edmond Orignac; and * new hyphenation patterns for English. For more on these and other feature changes, see "News" below. Much attention has been given to fixing bugs, improving diagnostic messages, and correcting and expanding documentation. The previous release shipped with three automated unit tests; this one ships with over 160 unit and regression tests. As of this writing, per the GNU Savannah bug tracker, the groff project has resolved 431 problems as fixed for the 1.23.0 release. Some of the bugs we've corrected were over 30 years old. Classifying these issues by type and the component of the project to which they apply, we find the following. Type Component - Build/installation 39 Core 102 Crash/unresponsive 11 Driver: grohtml 7 Documentation 111 Driver: gropdf 10 Feature change 41 Driver: grops 2 Incorrect behavior 131 Driver: grotty 4 Lint 15 Driver: others/general 7 Rendering/cosmetics 10 Font: devpdf1 Test 6 Font: devps 3 Warning/suspicious behavior 67 Font: others/general4 General51 Macros: man33 Macros: mdoc 15 Macros: me 36 Macros: mm 20 Macros: mom11 Macros: ms
unrecognized X command 'sgr 0' ignored (was: early adopters of groff 1.23.0)
[looping in Colin Watson for man-db test suite advice] Hi Alexis, At 2023-07-06T23:34:20+0200, Alexis wrote: > after having tested the RCs on darwin nixpkgs for the past weeks > and seeing the message about the 1.23.0 source archive being available > I felt the time was right to create a GitHub Pull-Request¹ and update > the groff package on NixOS and nixpkgs. Definitely. Thank you! > Folks reviewing said PR have reported potentially related man-db > test failures caused by: > > grotty::():9: warning: > unrecognized X command 'sgr 0' ignored > > which might be due to bug #61561: > > [grotty] remove 'sgr' device control command² I think that is relevant but not the whole story. > Does anyone have more context on this and is willing to share > their take on it and how to possibly fix the test failures > should they be related to the update to groff 1.23.0? I built man-db 2.11.2 from its Git repo on my GNU/Linux amd64 box with groff 1.23.0 in my $PATH and did not get this test failure. I got a different one. FAIL: man1/lexgrog.1 man -E UTF-8 -l ./man1/lexgrog.1 produced error output: troff::136: warning: cannot select font 'CW' troff::160: warning: cannot select font 'CW' troff::170: warning: cannot select font 'CW' troff::171: warning: cannot select font 'CW' troff::180: warning: cannot select font 'CW' FAIL man1/lexgrog.1 (exit status: 1) All other tests passed. I regard the foregoing as a problem with the man page; the font name "CW" is not portable; in fact, it is meaningless on terminal devices. People/distributors can put the following into man.local to work around it if they expect a lot of man pages to cause this issue. .if n .ftr CW R These are only warnings, so they are _not_ fatal to man page rendering--it is this test script deciding to fail because diagnostics are appearing). To get back to the problem you reported, that's mysterious to me. I don't see anything in man-db explicitly constructing device control command escape sequences that would cause this "unrecognized X command 'sgr 0' ignored" warning. But what _could_ do it is if, somehow, GNU troff 1.22.4 or earlier is being used to produce output and grotty from groff 1.23.0 is being used to consume it. It's tempting to blame a manually constructed pipeline for that, and I think man-db man(1) constructs one, but it's hard for me to account for how desynchronized versions of troff and grotty are being found in the same $PATH. So that may not be what's happening. I hope Colin Watson can offer us a clue here. > ¹ https://github.com/NixOS/nixpkgs/pull/241870 > ² https://savannah.gnu.org/bugs/?61561 Regards, Branden signature.asc Description: PGP signature
Re: a morsel of groff 1.23.0 status
Hi Bertrand, At 2023-07-07T00:31:57+0200, Bertrand Garrigues wrote: > Ah, I've completely forgotten your ANNOUNCE file... If it helps, I'm attaching a copy of what I used to announce the release to the Debian bug tracking system. > The ANNOUNCE file fits perfectly well to the job, so I'll use it. > I'll just swap the 1st and 2nd paragraph (normal people usually want > to know what the software is about before actually downloading it). Yes--I dithered over that. The release per se is the "news" item and should be the "lede" in journalistic parlance, but for the reader who doesn't know what "groff" is, such a lede is not enlightening. > Well both, I've allowed myself a drop of Armagnac (it's like cognac, > but even better) and brewed a cup of Taiwanese Oolong (semi-fermented) > tea... Cheers! Very nice! I sent a friend of mine a bottle of Armagnac when he got his Ph.D.-- but I've still never had any! But I don't sip cognac often--I like it, but it's pretty sweet. 20 years ago, 2 fellow Debian developers, of whom Colin Watson was one, introduced me to the joys of single-malt Scotch... Best regards, Branden signature.asc Description: PGP signature
Re: a morsel of groff 1.23.0 status
[remembering the attachment his time] We are pleased to announce the availability of groff 1.23.0. Obtain it from the GNU mirror network, https://ftpmirror.gnu.org/groff/groff-1.23.0.tar.gz or, if the network is for some reason inoperative, directly from GNU. https://ftp.gnu.org/gnu/groff/groff-1.23.0.tar.gz Ensure the integrity of your download by checking this source code archive's cryptographic signature; see "Obtaining groff" below. What is groff? == groff (GNU roff) is a typesetting system that reads plain text input files that include formatting commands to produce output in PostScript, PDF, HTML, or DVI formats or for display to a terminal. Formatting commands can be low-level typesetting primitives, macros from a supplied package, or user-defined macros. All three approaches can be combined. A reimplementation and extension of the typesetter from AT&T Unix, groff is present on most POSIX systems owing to its long association with Unix manuals (including man pages). It and its predecessor are notable for their production of several best-selling software engineering texts. groff is capable of producing typographically sophisticated documents while consuming minimal system resources. https://www.gnu.org/software/groff/ Changes === Changes since the most recent release candidate, 1.23.0.rc4, comprise about 250 commits' worth of changes to documentation, including over 1,000 lines of updates to each of doc/groff.texi (our Texinfo manual) and the man pages groff_diff(7), groff_mm(7), and eqn(1). Since groff 1.22.4 was released in December 2018, 28 people have made a total of over 5,000 commits. $ git shortlog --summary 1.22.4..1.23.0 14 Bertrand Garrigues 14 Bjarni Ingi Gislason 2 Bruno Haible 6 Colin Watson 1 Cynthia A. E. Livingston 1 Damian McGuckin 31 Dave Kemper 29 Deri James 2 Dorai Sitaram 1 Edmond Orignac 1 Eric Allman 4778 G. Branden Robinson 1 George HELFFRICH 33 Ingo Schwarze 1 John Gardner 4 Keith Bostic 25 Keith Marshall 2 Michael J. Karels 1 Nate Bargmann 3 Nikita Ivanov 1 Paul Eggert 71 Peter Schaffter 1 Samanta Navarro 1 T. Kurt Bond 3 Tadziu Hoffmann 1 Thomas Dupond 2 ivan tkachenko 1 наб (Some possibly surprising names in the above are due to a rebase of groff me(7) against 4.4BSD.) Headline features nominated by our development community include: * a new 'man' macro, "MR", for formatting man page cross references; * hyperlinked text in terminals via the ECMA-48 OSC 8 escape sequence; * a new 'rfc1345' macro package, contributed by Dorai Sitaram, enabling use of RFC 1345 mnemonics as groff special characters; * a new 'sboxes' macro package, contributed by Deri James, enabling 'ms' documents to place shaded and/or bordered rectangles underneath any groff page elements (PDF output only); * 'mom' 2.5, a macro package contributed by Peter Schaffter; * the 'ms' package's new strings to assist subscripting; * Italian localization, including hyphenation patterns and macro package string translations, thanks to Edmond Orignac; and * new hyphenation patterns for English. For more on these and other feature changes, see "News" below. Much attention has been given to fixing bugs, improving diagnostic messages, and correcting and expanding documentation. The previous release shipped with three automated unit tests; this one ships with over 160 unit and regression tests. As of this writing, per the GNU Savannah bug tracker, the groff project has resolved 432 problems as fixed for the 1.23.0 release. Some of the bugs we've corrected were over 30 years old. Classifying these issues by type and the component of the project to which they apply, we find the following. Type Component - Build/installation 39 Core 102 Crash/unresponsive 11 Driver: grohtml 7 Documentation 111 Driver: gropdf 10 Feature change 41 Driver: grops 2 Incorrect behavior 131 Driver: grotty 4 Lint 15 Driver: others/general 7 Rendering/cosmetics 10 Font: devpdf1 Test 6 Font: devps 3 Warning/suspicious behavior 67 Font: others/general4 General51 Macros: man33 Macros: mdoc 15 Macros: me 36 Macros: mm 20 Macros: mom