[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Release Candidate 1.23.0.rc1
From: |
G. Branden Robinson |
Subject: |
Re: Release Candidate 1.23.0.rc1 |
Date: |
Thu, 15 Apr 2021 21:29:54 +1000 |
User-agent: |
NeoMutt/20180716 |
Hi, Bertrand!
At 2021-04-10T11:30:13+0200, Bertrand Garrigues wrote:
> Hi Branden,
>
> On Thu, Apr 08 2021 at 12:24:56 PM, "G. Branden Robinson"
> <g.branden.robinson@gmail.com> wrote:
> > That's my understanding. I inquired after an rc2 a few weeks ago[1]
> > but nothing has come of it as yet.
>
> I will probably need to take one day off holiday in order to make this
> rc2, perhaps next week or the week after. We could also add Deri's
> latest extension to gropdf and ms, what do you think? I also owe a
> small dev for Ingo on the texinfo doc generation (this was discussed
> off-list last year).
I don't want to apply any pressure to your schedule. I've now committed
the itchiest thing I've been working on, the change to localization.
I'm happy to work on Deri's change next.
I had several other goals for "the next groff release" and I've met some
of them; I'll follow-up at some point to my email about that from about
6 months ago.
I was a little disappointed at the lack of feedback or evidence of
uptake of the previous release candidate; while it would be nice to
chalk this up to it being rock-solid and making everyone happy, I
suspect it may be more due to the release announcement not flogging
what's changed. With that in mind, here's a light adaptation of the
NEWS file to tell people what's changed since the last RC, and since
the previous release. Feel free to use it for an rc2 announcement mail.
===SNIP===
Changes since groff 1.23.0.rc1
==============================
troff
-----
o The groff locale (the default input language) is now determined using
the system locale. The LC_ALL and LANG environment variables are
checked, in that order. If set, the value's first two characters
determine the groff locale. If these variables are not set, if the
first one found is set to "C", or if no groff localization file exists
for the language, groff falls back to English, loading en.tmac.
Those who want groff's default locale to differ from LC_ALL/LANG
should edit the troffrc file to source the appropriate groff locale
macro file (cs.tmac, de.tmac, den.tmac, fr.tmac, ja.tmac, sv.tmac,
zh.tmac).
The default hyphenation mode (as used by the .hy request) for users of
English is thus changed from "1", which was inappropriate for the
TeX-based hyphenation patterns groff has used since at least 1991, to
"4". However, calling .hy without an argument remains synonymous with
".hy 1".
o A new read-only register ".nm" is implemented. It reports the
enablement status of output line numbering (caused by the .nm
request) irrespective of the temporary suspension of numbering with
the .nn request. This register was introduced because there was no
way to introspect its state, tbl(1) needs to be able to do so, and the
writable line number register \n[ln] is not a reliable proxy for it.
o New requests 'soquiet' and 'msoquiet' are available. They operate as
'so' and 'mso', respectively, except that they do not emit a warning
diagnostic if the file name argument does not exist.
nroff
-----
o nroff now recognizes the -b, -k, -K, and -z options and passes them
through to troff.
Macro Packages
--------------
o The new rfc1345 macro package, contributed by Dorai Sitaram, defines
special character glyph names implementing RFC 1345 mnemonics (plus
some additions from Vim, which itself uses RFC 1345 for its digraphs).
It is documented in the groff_rfc1345(7) man page.
o The s (ms) macro package supports a new string, FR, which defines the
ratio of the footnote line length to the current line length. The
default expression is "11/12", 11/12ths of the normal line length,
adopted for better compatibility with ms documents prepared with AT&T
ms or its descendant implementations in Heirloom Doctools and
neatroff. This is a change from previous groff releases, which used a
ratio of 5/6ths.
You may wish to set the FR string to 1 to align with contemporary
typesetting practices. In Version 7 Unix ms, its descendants, and
groff prior to this release, an FL register was used for the line
length in footnotes; however, setting this register at document
initialization time had no effect on the footnote line length in
multi-column arrangements.
FR should be used in preference to the old FL register in contemporary
documents; see the groff Texinfo manual or the "Using groff with the
ms macros" document, also part of this release.
Miscellaneous
-------------
o The semantics of the environment variable SOURCE_DATE_EPOCH (support
for which was added in 1.22.4) to groff were not established with
respect to time zone selection, prompting divergent interpretations;
Debian and distributions derived from it have for several years
patched groff to implicitly use UTC as the time zone when interpreting
the current time (or SOURCE_DATE_EPOCH) as a local time. While a
convenient and defensible choice for reproducible build efforts, it
runs against the grain of user expectations. Systems programmers like
monotonically increasing clocks; the broader user base usually prefers
a clock that follows an applicable civil calendar. Users of
SOURCE_DATE_EPOCH may also wish to set the TZ environment variable.
Changes since groff 1.22.4
==============================
troff
-----
o A new read-only register ".cp" is implemented. Within a .do request,
"\n[.cp]" holds the saved value of compatibility mode. See
groff_diff(7) or the groff Texinfo manual for rationale, use case, and
example.
o Point-size escapes of the form '\sNN', where NN is in the range 10-39,
are now recognized only in compatibility mode (groff -C); when
encountered, an error diagnostic is emitted. In normal mode, \sN is
interpreted as setting the point size to the single-digit value N,
which ends the escape. This change eliminates a quirk in the language
grammar that dates back to the mid-1970s (AT&T troff by Ossanna) but
was not documented in the Troff User's Manual until 1992 when
Kernighan updated CSTR #54 for device-independent AT&T troff.
The form '\s(NN' is accepted for two-digit point sizes in all known
troffs. The form '\s[NNN]' accepts a numeric expression of variable
length; it has been supported by groff since version 1.02 (June 1991)
at the latest and is by current versions of Heirloom Doctools troff
and neatroff. The form "\s'NNN'" is also widely supported.
Summary: in your documents, rewrite escapes beginning with '\s1',
'\s2', or '\s3' in an unambiguous and portable form. For instance,
'\s36' can become any of:
\s(36
\s[36]
\s'36'
You can use
grep '\\s[123]'
to find instances in your documents.
Those who have changed the escape character with the 'ec' request (an
advanced usage) are expected to be able to cope; ask the development
team for support if you need it.
o New requests 'stringdown' and 'stringup' are available. These change
the string named in their argument by replacing each of its bytes with
its lowercase or uppercase version (if any), respectively. groff
special characters (see the groff_char(7) man page) can be used and
the output will often transform in the expected way due to the
regular naming convention of the special character escapes for
accented letters.
nroff
-----
o The new option -P takes an argument to pass to the output driver
(always grotty(1)). "-P-i" directs the terminal device to display
real italic (oblique) characters instead of underlining: it is up to
your terminal (emulator) to support italics (xterm does since patch
#314 [2014-12-28]). "-P-c" and "-P-h" can now be used instead of "-c"
and "-h"; the latter pair may eventually be deprecated and repurposed.
o The new option -V emits the constructed groff command that nroff would
run to standard output instead of executing it. Arguments to nroff
that contain shell metacharacters may not be sufficiently escaped for
the output of nroff -V to be copied and pasted to the shell prompt;
this is a historical deficiency of the Bourne shell family not yet
corrected by the POSIX standard.
o nroff now recognizes the -E option and passes it through to troff.
Macro Packages
--------------
o The an (man) and doc (mdoc) macro packages support new CS and CT
registers to control rendering of man page section headings and titles
(seen in the page header), respectively, in full capitals. These
default off (with no visible effect on pages which already fully
capitalize these strings in man page sources). The rationale is to
encourage man page authors to preserve case distinction information in
(or restore it to) their titles and section headings, while giving
users (including system administrators, distributors, integrators, and
maintainers of man(1) implementations) a way to view the rendered page
elements in full capitals if desired.
o The an (man) macro package no longer honors an .ll request to set the
line length in nroff devices prior to processing a man page. This was
deprecated 18 years ago, and all known man program and macro package
implementations either have set an LL register since 2002 (man-db
man), 2005 (Brouwer/Lucifredi man), or don't let the user vary the
line length freely (DWB troff, Solaris troff, Plan 9 troff) or at all
(mandoc, Heirloom Doctools troff).
o The groff_man(7) man page documenting the groff implementation of the
groff_man_style(7), is a tutorial and style guide containing the same
material supplemented with explanations, examples, and advice for the
reader who is not an expert in *roff systems or in writing man pages.
o The doc (mdoc) macro package now honors the HY register as the an
(man) package does: to set the default hyphenation mode. It
furthermore recognizes but ignores the AD string (see above) for
compatibility with an (man).
o The s (ms) macro package has added strings, \*< and \*>, to perform
subscripting within a paragraph. They work analogously to the \*{ and
\*} superscripting strings that have been present in groff ms since
1991 or earlier.
o The s (ms) macro package no longer manipulates the warning level. If
you want all warnings on, use the ".warn" request with no arguments in
your ms document or pass "-w w" to groff (see troff(1) or the groff
Texinfo manual for more on warnings).
grotty
------
o On the Latin-1 output device ("groff -T latin1") the output glyph
\[oq] (opening quote) is now rendered as code point 0x27 (apostrophe)
instead of 0x60 (grave accent). The ISO 8859/ECMA-94 Latin character
sets do not define any glyphs for directional ("typographer's")
quotation marks, but the apostrophe is depicted as a neutral
(vertical) glyph, whereas the grave accent 0x60 and acute accent 0xB4
are mirror-symmetric diacritical marks.
This change has no effect on _input_ conventions for roff source
documents. You can still get directional single quotes on UTF-8,
PostScript, PDF, and other output devices supporting them by typing
sequences like `this' in the input (character remapping with ".char"
requests and similar notwithstanding).
Miscellaneous
-------------
o groffer has been deleted from the distribution.
===SNIP===
Regards,
Branden
signature.asc
Description: PGP signature