| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use ellipsis more idiomatically, favoring it over plurals, and including
it within instead of outside option brackets for clarity.
The construction:
foo bar [baz] ...
is ambiguous. If I specify no "baz", can "bar"s be repeated?
Also say "argument" when we mean an option OR an operand.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Content:
* More carefully distinguish escape sequences from device control
commands; the former are more general.
* The *roff `\X` escape sequence is a device control command, not a
"special". *roff already freights the latter term with enough meaning
without hauling in TeX's use for it.
* The "ps:" or "pdf:" part of a device control command escape sequence
parameter is the "tag", not the entire parameter. It is a name
spacing convention.
* Clarify operation of `xrev` device control command.
Style:
* Recast: all device control commands are "extensions"; there is no
standard set.
* Convert mentions of (g)pic(1) and grops(1) to man page cross
references.
* Set pic(1) command names in bold, not italics.
* Set "mom" macro package name in italics, not bold.
* Set "gropdf" in italics, not bold.
* Capitalize "PDF" in prose.
* Protect Perl's "localtime" function name from hyphenation.
* Hyphenate adjectival phrases.
* Hyphenate metasyntactic variable consistently with its introduction.
* Otherwise recast for (attempted) clarity and concision.
Markup:
* Use two empty requests where vertical space is expected.
* Annotate a mismatch in conventions between grotty(1) and gropdf(1).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Content:
* Introduce the concept of convenience macros earlier, then rely on it.
* Align terminology regarding page location traps with the rest of
groff's documentation.
* Align header/footer terminology with the rest of groff's
documentation.
Style:
* Tighten wording.
* Set macro call literals in bold.
* Use imperative voice more when describing device control commands.
* Present convenience macros _after_ full discussion of device control
command behavior, not in the midst of it.
* Coalesce some single-sentence paragraphs into their predecessors.
Markup:
* Set file names in italics.
* Protect macro call literals from hyphenation.
* Use an empty request between sentences.
* Use two empty requests where vertical space is expected.
|
|
|
|
|
| |
The page references it several times; we should explain what it is and
link to it.
|
|
|
|
|
| |
Drop a paragraph break after a very short paragraph to buy a vee and fix
an orphaned line on U.S. letter paper.
|
| |
|
|
|
|
| |
Also drop an unnecessary paragraph break in glilypond(1).
|
| |
|
| |
|
|
|
|
| |
Implemented in commit 41d05cbfac, 4 July 2019.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Kick mention of region option case-invariance down to "GNU tbl
enhancements" subsection.
* Discuss the content of column descriptors _before_ discussing how
they're separated.
* Arrange mentions of column modifier correspondence to *roff requests
consistently, _after_ covering the syntax of those modifiers.
* Clarify that tbl doesn't perform measurements itself; it constructs
formatter instructions to do so.
* Tighten wording.
Also adjust dead-tree pagination.
|
|
|
|
|
| |
Align language with forthcoming (post-1.23.0) changes from Savannah
ticket #63967.
|
|
|
|
| |
Thanks to Doug McIlroy and Ralph Corderoy for the feedback.
|
| |
|
|
|
|
| |
The list below this subsection title isn't comprehensive.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This tightens pic(1)'s claim regarding what can accept its output; it no
longer implies that any troff can interpret it. The output does seem to
largely avoid groff-specific syntax or extensions, apart from stroke and
fill color selection. It's not clear to me if that defeats the
processing of GNU pic output by, say, DWB or Plan 9 troff, so until we
know, make the narrower claim.
|
| |
|
| |
|
|
|
|
| |
Also drop needless quotation of a lone macro argument.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 0290924f05f823039c546f5b14422af7eef70644.
This has been separately committed on the post-1.23.0 branch so that it
is easier for Bertrand to decide where to place a tag for 1.23.0.rc4 in
this branch, or which commits to cherry-pick from that branch before
doing so. (It is not yet decided what commits since 1.23.0.rc3 from
this branch of post-1.23.0 will comprise 1.23.0.rc4--possibly all.)
|
|
|
|
|
|
|
| |
* src/devices/gropdf/pdfmom.pl: Add flag -roff which severs
hardcoded link to the mom macros.
* src/devices/gropdf/pdfmom.pl: Document changes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* bootstrap.conf: Add "stdint" module to ensure that the `uintptr_t`
type is available.
* src/include/symbol.h: Include <stdint.h> for `uintptr_t`.
(class symbol):
(symbol::hash): Change return type from `unsigned long`, which causes
build failures on 64-bit MinGW, to `uintptr_t`.
(symbol::hash): Use a C++ type cast, not a C-style one.
Thanks to Bruno Haible for reporting the build failure in the 64-bit
MinGW environment, and for suggesting a remedy.
Also update editor aid comments; drop old style Emacs file-local
variable setting.
Any day you get to use the foot-Howitzer reinterpret_cast is a good one.
Commits since 0221b657fe tested on:
Debian bullseye
Debian sid 2023-03-06 chroot
macOS 12
OpenBSD 7.2
Solaris 10
Solaris 11
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/roff/groff/tests/initialization_is_quiet.sh: Stop using "set -e".
Instead use `fail` variable and `wail` function (and lowercase names
for our internal variables) like many of our other tests. If the
"unset" shell built-in fails, skip the test (prompted by
/usr/xpg4/bin/sh on Solaris). Attempt every groff locale, with and
without compatibility mode initially enabled, instead of stopping at
the first failure. Report standard error and standard output content
separately. Use groff's `-a` flag to prepare the standard output, for
readability.
* PROBLEMS: Document that this test might be skipped rather than failing
on Solaris. (What actually happens depends on which shell you run it
with, and we advise a variety of approaches.)
Thanks to Bruno Haible for feedback regarding mysterious failures of
this test on GNU/Hurd and NetBSD systems.
|
|
|
|
|
|
| |
Ensure we give printf a properly escaped backslash from the shell.
Discovered on NetBSD 9.0; thanks to Bruno Haible for the report.
|
|
|
|
|
|
|
|
|
|
| |
* src/roff/groff/tests/ab_works.sh:
* src/roff/groff/tests/handle_special_input_code_points.sh:
* src/roff/groff/tests/initialization_is_quiet.sh:
* src/roff/groff/tests/msoquiet_works.sh:
* src/roff/groff/tests/soquiet_works.sh:
* tmac/tests/an-ext_MR-works.sh:
* tmac/tests/an_MR-works.sh: Do it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/roff/groff/tests/ab_works.sh:
* src/roff/groff/tests/handle_special_input_code_points.sh:
* src/roff/groff/tests/initialization_is_quiet.sh:
* src/roff/groff/tests/msoquiet_works.sh:
* src/roff/groff/tests/soquiet_works.sh:
* tmac/tests/an-ext_MR-works.sh:
* tmac/tests/an_MR-works.sh:
* tmac/tests/an_font-remapping-does-not-affect-titles.sh: Unset
$GROFF_ENCODING before running test because preconv(1) confounds these
tests.
Thanks to Alexis for reporting this problem.
|
|
|
|
|
| |
Thanks to Brian Inglis for raising an ambiguity in the previous
language.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[grohtml]: Revise tests to check for requisite programs at test time and
skip if not found, rather than configuring them away at build time,
which can cause a distribution archive to be incorrectly structured.
* m4/groff.m4: Annotate requisite program list since we're violating the
DRY principle.
* src/roff/groff/groff.am (groff_TESTS): Populate unconditionally.
* src/roff/groff/tests/html_works_with_grn_and_eqn.sh:
* src/roff/groff/tests/smoke-test_html_device.sh: Check for requisite
programs and skip test if any are not found.
Fixes <https://savannah.gnu.org/bugs/?63824> (1/2).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[man pages]: Provide page-local fallback definition of new `MR` macro.
I didn't think I was going to have to do this, but the premier site on
the web for viewing Linux man pages, Michael Kerrisk's man7.org, has
been pulling snapshots of the pages themselves without upgrading the
underlying macros, and so man page cross references set with `MR` are
getting lost in its presentations. (I acknowledge: Ingo Schwarze warned
me something like this could happen.) This definition is intended as a
stopgap measure only. I want to revert this after groff 1.23 is
released and has spread to some reasonable degree.
* contrib/chem/chem.1.man:
* contrib/eqn2graph/eqn2graph.1.man:
* contrib/gdiffmk/gdiffmk.1.man:
* contrib/glilypond/glilypond.1.man:
* contrib/gperl/gperl.1.man:
* contrib/gpinyin/gpinyin.1.man:
* contrib/grap2graph/grap2graph.1.man:
* contrib/hdtbl/groff_hdtbl.7.man:
* contrib/mm/groff_mm.7.man:
* contrib/mm/groff_mmse.7.man:
* contrib/mm/mmroff.1.man:
* contrib/mom/groff_mom.7.man:
* contrib/pdfmark/pdfroff.1.man:
* contrib/pic2graph/pic2graph.1.man:
* contrib/rfc1345/groff_rfc1345.7.man:
* man/groff.7.man:
* man/groff_char.7.man:
* man/groff_diff.7.man:
* man/groff_font.5.man:
* man/groff_out.5.man:
* man/groff_tmac.5.man:
* man/roff.7.man:
* src/devices/grodvi/grodvi.1.man:
* src/devices/grohtml/grohtml.1.man:
* src/devices/grolbp/grolbp.1.man:
* src/devices/grolj4/grolj4.1.man:
* src/devices/gropdf/gropdf.1.man:
* src/devices/gropdf/pdfmom.1.man:
* src/devices/grops/grops.1.man:
* src/devices/grotty/grotty.1.man:
* src/devices/xditview/gxditview.1.man:
* src/preproc/eqn/eqn.1.man:
* src/preproc/eqn/neqn.1.man:
* src/preproc/grn/grn.1.man:
* src/preproc/pic/pic.1.man:
* src/preproc/preconv/preconv.1.man:
* src/preproc/refer/refer.1.man:
* src/preproc/soelim/soelim.1.man:
* src/preproc/tbl/tbl.1.man:
* src/roff/groff/groff.1.man:
* src/roff/nroff/nroff.1.man:
* src/roff/troff/troff.1.man:
* src/utils/addftinfo/addftinfo.1.man:
* src/utils/afmtodit/afmtodit.1.man:
* src/utils/grog/grog.1.man:
* src/utils/hpftodit/hpftodit.1.man:
* src/utils/indxbib/indxbib.1.man:
* src/utils/lkbib/lkbib.1.man:
* src/utils/lookbib/lookbib.1.man:
* src/utils/pfbtops/pfbtops.1.man:
* src/utils/tfmtodit/tfmtodit.1.man:
* src/utils/xtotroff/xtotroff.1.man:
* tmac/groff_man.7.man.in:
* tmac/groff_me.7.man:
* tmac/groff_ms.7.man:
* tmac/groff_trace.7.man:
* tmac/groff_www.7.man: Do it.
Fixes <https://savannah.gnu.org/bugs/?63825>. Thanks greatly to Alexis
for identifying an issue with mandoc(1)'s handling of an earlier
iteration of this fallback, and to John Gardner for identifying a method
of detecting mandoc as the renderer at formatting time.
Tested with groff 1.22.4, mandoc 1.14.5, and groff Git HEAD (of course).
The sed script I used follows.
/^\.cp 0/a\
.\
.\\" Define fallback for groff 1.23's MR macro if the system lacks it.\
.nr do-fallback 0\
.if !\\n(.f .nr do-fallback 1 \\" mandoc\
.if \\n(.g .if !d MR .nr do-fallback 1 \\" older groff\
.if !\\n(.g .nr do-fallback 1 \\" non-groff *roff\
.if \\n[do-fallback] \\{\\\
. de MR\
. ie \\\\n(.$=1 \\\
. I \\%\\\\$1\
. el \\\
. IR \\%\\\\$1 (\\\\$2)\\\\$3\
. .\
.\\}\
.rr do-fallback
ANNOUNCE: Update bug counts. Credit Alexis with assistance.
|
|
|
|
| |
We don't actually need it at present, but we're about to.
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 18d708e489758636ff9e168eee2592591755eb61.
Unfortunately my clever hack [sic] does not work with mandoc 1.14.5,
causing that tool to truncate the entire text of the man page after the
summary description.
The good news is that there is a simpler replacement that works better,
forthcoming.
|
|
|
|
|
|
|
|
|
| |
* src/roff/groff/tests/regression_savannah_58153.sh: Improve
portability. Avoid the unpredictability of implementations when
putting backslashes inside a groff-piped printf shell command inside a
here document inside a command substitution by changing the groff
escape character to something meaningless to the shell and to printf
('@'). Fixes a test failure on Solaris 11.
|
|
|
|
|
| |
* src/roff/groff/groff.am (groff_TESTS) [!USE_GROHTML]: Don't test the
'grohtml' driver if we know it won't work.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/roff/groff/tests/device_control_escapes_express_basic_latin.sh:
Use printf(1), which is often a shell built-in command, more
consistently. Double backslashes intended as literals in the format
string, and single-quote format strings using them. Fixes test
failure seen on Solaris 11 with GNU Bash 4.4 and ksh 93u+
(2012-08-01).
Also spell failure message in full capitals, like all other tests
producing this sort of output.
|
|
|
|
|
| |
* src/roff/groff/tests/device_control_escapes_express_basic_latin.sh:
Send progress updates to standard error stream.
|
|
|
|
|
|
| |
* Consistently refer to "roff dummy character" instead of "non-printing
input token".
* Fix missing space in phrase.
|
|
|
|
|
|
|
|
|
|
|
| |
* src/roff/groff/tests/some_escapes_accept_newline_delimiters.sh: Weaken
regexes in two test cases to accommodate excessive output from macOS's
'od' command. Resolves test failure seen on macOS.
* HACKING: Add section "Writing Tests" and document the above since this
is the second time I've cracked my shin on this.
* ANNOUNCE: Drop notice of failing test case, now resolved.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[docs]: Re-re-christen 'ESCAPE_AMPERSAND' ('\&'). Now call it a
(non-transparent) "dummy character". Also rechristen
'ESCAPE_RIGHT_PARENTHESIS', ('\)') as the "transparent dummy character";
it has no impact on sentence-ending detection.
* doc/groff.texi:
* doc/meref.me.in:
* man/groff.7.man:
* man/groff_diff.7.man:
* man/roff.7.man:
* src/preproc/refer/refer.1.man:
* tmac/groff_man.7.man.in: Do it.
Fixes <https://savannah.gnu.org/bugs/?62816>. Thanks to Dave Kemper for
the report and to the groff mailing list for the vigorous discussion. I
don't expect my solution to please everyone.
Also update references to the \& escape sequence in comments.
ANNOUNCE: Update bug counts.
|
|
|
|
| |
Fix widowed line.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Inclusion order is not supposed to matter for standard C header files,
so treating this as a code style issue.
* src/devices/grodvi/dvi.cpp:
* src/devices/grolj4/lj4.cpp:
* src/include/stringclass.h:
* src/libs/libbib/linear.cpp:
* src/libs/libbib/search.cpp:
* src/libs/libdriver/printer.cpp:
* src/libs/libgroff/assert.cpp:
* src/libs/libgroff/color.cpp:
* src/libs/libgroff/errarg.cpp:
* src/libs/libgroff/font.cpp:
* src/libs/libgroff/nametoindex.cpp:
* src/libs/libgroff/prime.cpp:
* src/libs/libgroff/relocate.cpp:
* src/libs/libgroff/searchpath.cpp:
* src/preproc/eqn/box.cpp:
* src/preproc/eqn/delim.cpp:
* src/preproc/eqn/pile.cpp:
* src/preproc/eqn/script.cpp:
* src/preproc/html/pre-html.cpp:
* src/preproc/pic/pic.h:
* src/preproc/preconv/preconv.cpp:
* src/preproc/soelim/soelim.cpp:
* src/roff/groff/groff.cpp:
* src/roff/troff/troff.h:
* src/utils/hpftodit/hpftodit.cpp:
* src/utils/indxbib/indxbib.cpp:
* src/utils/lkbib/lkbib.cpp:
* src/utils/lookbib/lookbib.cpp:
* src/utils/tfmtodit/tfmtodit.cpp: Do it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Switch to using system's assert.h header file. It is futile to attempt
to preserve compatibility with ISO C90 systems by providing a bespoke
predicate-reporting assert() (a C99 feature) when gnulib, which we
require, itself demands C99. This ensures that `static_assert` remains
defined so that gnulib can use it. Thanks to Bruno Haible for the
consultation.
<https://lists.gnu.org/archive/html/groff/2023-02/msg00034.html>
* src/include/assert.h: Delete.
* src/devices/grodvi/dvi.cpp:
* src/devices/grolbp/lbp.cpp:
* src/devices/grolj4/lj4.cpp:
* src/include/itable.h:
* src/include/stringclass.h:
* src/libs/libbib/linear.cpp:
* src/libs/libbib/search.cpp:
* src/libs/libdriver/printer.cpp:
* src/libs/libgroff/assert.cpp:
* src/libs/libgroff/color.cpp:
* src/libs/libgroff/errarg.cpp:
* src/libs/libgroff/font.cpp:
* src/libs/libgroff/nametoindex.cpp:
* src/libs/libgroff/prime.cpp:
* src/libs/libgroff/relocate.cpp:
* src/libs/libgroff/searchpath.cpp:
* src/preproc/eqn/box.cpp:
* src/preproc/eqn/delim.cpp:
* src/preproc/eqn/pile.cpp:
* src/preproc/eqn/script.cpp:
* src/preproc/html/pre-html.cpp:
* src/preproc/pic/pic.h:
* src/preproc/preconv/preconv.cpp:
* src/preproc/soelim/soelim.cpp:
* src/roff/groff/groff.cpp:
* src/roff/troff/troff.h:
* src/utils/hpftodit/hpftodit.cpp:
* src/utils/indxbib/indxbib.cpp:
* src/utils/lkbib/lkbib.cpp:
* src/utils/lookbib/lookbib.cpp:
* src/utils/tfmtodit/tfmtodit.cpp: Respell "assert.h" inclusion with
angle brackets instead of quotation marks.
Fixes <https://savannah.gnu.org/bugs/?63078>.
* ANNOUNCE: Update bug counts.
|
|
|
|
|
|
|
|
|
| |
* src/roff/troff/input.cpp (token::next): Use correct kind of null
object in comparison. Fixes latent bug that would be exposed if we
were to migrate from zero literals to `nullptr`.
Seen in bjarnigroff at
<https://lists.gnu.org/archive/html/bug-gnulib/2023-02/msg00083.html>.
|
|
|
|
|
|
|
|
|
|
| |
* src/devices/gropdf/gropdf.pl: Parse papersize string for
possible multiple (space separated) entries. First valid entry
wins.
[gropdf] Parse multiple entries in 'papersize' as specified in
the groff_font man page. Reported by Ben Wong and fix based on
his patch, thanks.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Correct numerous typos and solecisms throughout the source tree.
* ChangeLog:
* ChangeLog.115:
* ChangeLog.116:
* ChangeLog.117:
* ChangeLog.118:
* ChangeLog.119:
* ChangeLog.121:
* ChangeLog.122:
* Makefile.am:
* NEWS:
* PROBLEMS:
* README:
* contrib/chem/chem.am:
* contrib/chem/chem.pl:
* contrib/glilypond/README.txt:
* contrib/glilypond/glilypond.pl:
* contrib/hdtbl/groff_hdtbl.7.man:
* contrib/mm/ChangeLog:
* contrib/mm/m.tmac:
* contrib/pdfmark/pdfmark.ms:
* doc/automake.mom:
* doc/groff.texi:
* doc/me-revisions:
* doc/webpage.ms:
* m4/lib-link.m4:
* man/groff.7.man:
* man/groff_diff.7.man:
* man/roff.7.man:
* src/devices/grohtml/post-html.cpp:
* src/devices/grolbp/lbp.h:
* src/devices/gropdf/TODO:
* src/devices/gropdf/gropdf.1.man:
* src/devices/gropdf/gropdf.pl:
* src/devices/xditview/ChangeLog:
* src/devices/xditview/xditview.c:
* src/libs/libdriver/input.cpp:
* src/libs/libgroff/glyphuni.cpp:
* src/preproc/eqn/eqn.1.man:
* src/preproc/grn/gprint.h:
* src/preproc/grn/main.cpp:
* src/preproc/html/pre-html.cpp:
* src/preproc/preconv/preconv.cpp:
* src/preproc/tbl/table.cpp:
* src/roff/groff/pipeline.c:
* src/roff/groff/tests/substring_works.sh:
* src/roff/groff/tests/use_point_size_escape_with_single_digit_arg.sh:
* src/roff/troff/div.cpp:
* src/roff/troff/input.cpp:
* src/roff/troff/troff.1.man:
* src/utils/grog/grog.pl:
* src/utils/indxbib/indxbib.cpp:
* src/utils/tfmtodit/tfmtodit.1.man:
* tmac/doc-old.tmac:
* tmac/doc.tmac:
* tmac/groff_man.7.man.in:
* tmac/hyphen.fr: Do it.
Fixes <https://savannah.gnu.org/bugs/?63589>. Thanks to Bjarni Ingi
Gislason for the report.
* ANNOUNCE: Update bug counts.
I also killed some pointless white space, refilled affected lines at 72
columns where convenient and non-disruptive to existing text flow, and
corrected a misspelling of Ralph Corderoy's surname.
|