summaryrefslogtreecommitdiff
path: root/contrib
Commit message (Collapse)AuthorAgeFilesLines
* groff_mm(7): Fix content, style, and markup nits.G. Branden Robinson2023-05-171-566/+754
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Content: * Document that AF can end a TL-initiated title as AU can. * Describe AF's behavior when specified multiple times. * Add cross references in AF, macro descriptions. * Clarify that AT interacts with letters. * Cross-reference LI and LE macros in all list-beginning macro descriptions. * Drop explicit documentation of how some macros handle empty arguments are handled when this information is presented in a table; these already list "none", and the introduction to the "Macros" section explains how to explicitly pass empty macro arguments. * When discussing "compatibility reasons", identify what we're trying to be compatible with (DWB mm). * Stop reporting values of string defaults in macro descriptions; these are properly documented in the "Strings" section. * Begin more macro descriptions with meaningful imperative statements. Stop bending into pretzel shapes trying to make these expansions of an abbreviation that the macro name encodes. * Stop associating `FC` with MT memoranda; they don't use it. (The internal macro `let@mt-closing` appears to be misleadingly named.) * Explain what the second argument to `FD` does. * Drop synopses of hook macros in favor of their descriptions in the in the macros that call them. (Except for EOP and TP, which demand further consideration before recasting because they are called by traps, which aren't otherwise described.) * Drop example from `IND` macro description; it communicated nothing that isn't said as well in prose. * Document `Rf` string. * Document `Ref` register and its use by the IND macro. Style: * Format macro names without leading dot. * Recast descriptions of macros 1C, AF, AL, AT, AU, AV, AVL, BL, BS, BVL, COVER, COVEND, DF, DL, DS, FC, FD, FE, FS, H, HY, HZ, IA, IE, IND, INDP, INITI, LB, LC, LE, LI, LO, LT, MULB, ND, nP, NS, PGFORM, PGNH, RL, RS, SM, TL, VL, WA, and WE; and Verbnm string. * Fix comma splice (BE). * Parallelize wording, particularly when macros or diversions are used to collect input. * Stop further indenting tables and code displays in macro descriptions. Aligning them with the paragraphs suffices. * Set "none" in italics when presenting tables of parameter meanings. * In tables, use sentences more and fragments less. * Use more idiomatic English. * Fix fractured wording (mine, I think) in EQ description. * More consistently capitalize table column headings when they aren't metasyntactic variables. * Fix subject/verb agreement in Le/Lf/Lt/Lx register description. Markup: * Use \~ instead of \space in macro synopses. * Use \c and font alternation macros instead of \f in macro synopses. * Use tbl(1) more idiomatically when presenting lists of strings available to EOP and TP macros. * Adjust dead-tree pagination with `br` and `ne` requests.
* groff_mm(7): Fix sorting errors.G. Branden Robinson2023-05-171-64/+65
|
* groff_mm(7): Flesh out introduction.G. Branden Robinson2023-05-141-0/+47
| | | | | Survey some major features to give the reader without a copy of the DWB mm manual handy a means of entry to this huge package.
* groff_mm(7): Improve localization guidance.G. Branden Robinson2023-05-141-6/+7
|
* groff_mm(7): Improve introduction to package.G. Branden Robinson2023-05-141-11/+12
| | | | | | | * Express requirement that an mm(7) macro be called to initialize the package. * Relocate advise regarding simple mm documents earlier, and further simplify.
* [man pages]: Revise some syntax synopses.G. Branden Robinson2023-05-064-4/+4
| | | | | | | | | | | | | 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.
* [man pages]: Adjust dead-tree pagination.G. Branden Robinson2023-05-052-2/+4
| | | | Also drop an unnecessary paragraph break in glilypond(1).
* groff_mm(7): Drop garbage.G. Branden Robinson2023-04-211-2/+0
|
* Move ChangeLog entry to correct file.G. Branden Robinson2023-04-141-0/+10
|
* groff_mm(7): Recast pg header/footer macro descs.G. Branden Robinson2023-04-091-55/+87
|
* groff_mm(7): Recast .TC, \*[Ci], and \n[Cl] descs.G. Branden Robinson2023-04-091-72/+106
| | | | | Also fix an orphaned line by adjusting dead-tree typography of `P` macro description.
* [mom]: Fix trivial typos in copyright example filesPeter Schaffter2023-03-312-2/+2
|
* [mom]: Always generate test script.G. Branden Robinson2023-03-022-3/+10
| | | | | | | | | | | | | | | | | | | [mom]: Generate test script even if we'll skip it. * contrib/mom/examples/test-mom.sh.in: Check availability of required pdfinfo(1) and pdfimages(1) commands at test time; skip if they aren't present. * contrib/mom/mom.am [!HAVE_PDFTOOLS]: Generate the test script even if these tools aren't available. This approach also has the slight advantage that if you build groff, then install these tools after building (or even testing), you can simply run the tests again with "make check" without having to "make distclean" and start all over. As a developer, I find it confusing when the (total) quantity of test scripts bounces around from one host environment to another.
* [mom]: Doc fix: remove broken link.Peter Schaffter2023-02-241-11/+0
|
* [man pages]: Define page-local `MR` fallback.G. Branden Robinson2023-02-2215-0/+225
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [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.
* Revert "[man pages]: Define page-local `MR` fallback."G. Branden Robinson2023-02-2115-195/+0
| | | | | | | | | | | 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.
* pdfroff(1): Note new upstream development site.G. Branden Robinson2023-02-211-1/+11
| | | | See <https://savannah.gnu.org/bugs/?63133>.
* contrib/gdiffmk/ChangeLog: Fix missing word.G. Branden Robinson2023-02-201-6/+6
|
* [build]: Uninstall more fastidiously.G. Branden Robinson2023-02-186-3/+31
| | | | | | | | | | | | Try to remove the configured PDF documentation directory in the event it is empty, but do not fail if it isn't. (It can be a directory shared with other groff components; we don't know in what order the uninstall targets will serialize, but the last one run should succeed.) * contrib/mom/mom.am (uninstall_mom): * contrib/pdfmark/pdfmark.am (uninstall-pdfmark-hook): * contrib/sboxes/sboxes.am (uninstall_sboxes): * doc/doc.am (uninstall-pdf): Do it.
* [build]: Detangle pdfroff, gropdf config (2/2).G. Branden Robinson2023-02-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | * m4/groff.m4: Give pdfroff its own Autoconf macros to handle dependency checking, build objectives, and user notice. (GROFF_PDFROFF_DEPENDENCIES_CHECK): New macro requires `GROFF_AWK_PATH` and `GROFF_GHOSTSCRIPT_PATH`, determines whether pdfroff can be used at build time, and (if not) constructs part of message to be shown to user explaining why. (GROFF_PDFROFF_PROGRAM_NOTICE): New macro requires `GROFF_PDFROFF_DEPENDENCIES_CHECK` and emits message if needed. (GROFF_GHOSTSCRIPT_AVAILABILITY_NOTICE): Drop mention of impact on pdfroff since its dedicated notice covers this now. * configure.ac: Call the new macros at appropriate times. Produce a new Automake macro, `USE_PDFROFF`, to replace inapposite use of `USE_GROPDF` in pdfmark.am. * contrib/pdfmark/pdfmark.am: Use `USE_PDFROFF` instead of `USE_GROPDF`.
* mmroff(1): Revise.G. Branden Robinson2023-02-171-13/+25
| | | | | | | | | | * Make more clear when this groff wrapper is useful. * Drop a lot of language from `-x` option description. I can't make sense of it; running "mmroff -x" won't result in a document with stale cross references--it won't produce the document. To get a document with stale cross references, update the source, then forget to run "mmroff -x", instead running groff (nroff, troff) directly. * Recast.
* [mm]: Add `--help` option support to mmroff.G. Branden Robinson2023-02-173-4/+23
| | | | | * mmroff.pl: Recognize `--help` option. * mmroff.1.man (Synopsis, Options): Document.
* contrib/chem/chem.pl: Tweak usage message.G. Branden Robinson2023-02-171-1/+1
| | | | | | Place ellipsis within option brackets. See commit 688bbd6489, 22 October.
* contrib/gdiffmk/ChangeLog: Fix doubled word.G. Branden Robinson2023-02-111-4/+4
|
* [gdiffmk]: Revise test regime.G. Branden Robinson2023-02-095-90/+120
| | | | | | | | | | | | | | | | | | | | | | | | Reduce amount of indirection required to run a test, and directly use the same script for standalone and Automake-integrated testing. * contrib/gdiffmk/tests/gdiffmk_tests.sh: Delete. * contrib/gdiffmk/tests/runtests.sh: Revise to search for test artifact input and output directories (source vs. build). Drop argument argument processing, converting two modes ("run" and "clean") into one (run, with cleaning afterward). Also ensure we use the build directory to construct "tmp_file.7". Update authorship credit so that Mike Bianchi isn't asked to support it. * contrib/gdiffmk/tests/baseline.7: Update expected test output. * contrib/gdiffmk/gdiffmk.am (TESTS): Run "runtests.sh" instead of "gdiffmk_tests.sh". (clean-local, clean_gdiffmk_check): Drop targets now that the test script cleans up after itself. Tested with in-tree and out-of-tree builds, calling "runtests.sh" manually and via "make check" and "make distcheck".
* [gdiffmk]: Refactor file handling in test.G. Branden Robinson2023-02-092-4/+24
| | | | | | | | | | | | | | * contrib/gdiffmk/tests/runtests.sh: Refactor file handling. Use narrower globs to match the file names actually used; they are suffixed with a dot a number, not a number alone. Honor $TMPDIR when creating the even-more-temporary file. Revise trap setup so that the trap handler cannot be interrupted if it is already running. Call the handler, then commit suicide with SIGINT. Use symbolic names for signals, not numbers. Call new CleanUp function before exiting normally. (CleanUp): Pull temporary file clean-up logic into new function. Also delete the even-more-temporary file used in test 1.
* Fix Savannah #63589.G. Branden Robinson2023-02-058-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* [man pages]: Define page-local `MR` fallback.G. Branden Robinson2023-02-0315-0/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [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. The sed script I used follows. I patched neqn(1), which does not require compatibility mode, by hand. /^\.cp 0/a\ .\ .\\" Define fallback for groff 1.23's MR macro if the system lacks it.\ .de @@\ . de MR\ . ie \\n(.$=1 \\\ . I \%\\$1\ . el \\\ . IR \%\\$1 (\\$2)\\$3\ . \\\\.\ ..\ .if \\n(.g .if !d MR .@@\ .if !\\n(.g .@@\ .rm @@
* gdiffmk(1): Update maintenance status.G. Branden Robinson2023-02-021-2/+7
| | | | ...per email from Mike Bianchi. Thanks to Mike for his contributions.
* [groff] [mom]: Add PREFIX and SUFFIX args to UNDERSCORE(2)Peter Schaffter2023-02-023-30/+96
| | | | | | | Prevents initial and terminating punctuation of underscored or double-underscored text from being underscored. Update ChangeLog and docs.
* groff_mm(7): Revise `H` description.G. Branden Robinson2023-02-021-83/+64
| | | | | | | | * Use run-in headings to organize the discussion of the H macro's many configurable features. * Clarify operation of HX, HY, and HZ hooks and the registers and strings they use or may modify. * Tighten wording.
* contrib/mm/m.tmac: Adjust comments.G. Branden Robinson2023-02-021-8/+8
| | | | Wrap long lines and annotate deliberately empty string definitions.
* contrib/mm/m.tmac (H, SETR): Trivially refactor.G. Branden Robinson2023-02-022-4/+10
| | | | | | * contrib/mm/m.tmac (H, SETR): Trivially refactor. Rename register to conform to convention: `hd-mark-trimmed` -> `hd@mark-trimmed`. This register is used outside of its "module", "hd".
* groff_mm(7): Fix content, style, and markup nits.G. Branden Robinson2023-02-021-31/+35
| | | | | | | | | | | | * Correct `LE` description: the only accepted argument is a literal "1". * Document amount of vertical space used by `LE` and `LI` macros. * Make descriptions of threshold registers consistent with respect to values and sense of comparison. * Rename metasyntactic variable from "string" to "contents", following groff(7). * Tighten wording. * Permit break after slash in paired macro names. * Use contemporary groff man page convention for empty requests.
* contrib/mm/m.tmac (H, LI): Trivially refactor.G. Branden Robinson2023-02-022-17/+21
| | | | | | | * contrib/mm/m.tmac (H, LI): Trivially refactor. Annotate and test threshold registers consistently. Also break some long input lines.
* contrib/mm/m.tmac: Fix code style nit.G. Branden Robinson2023-02-022-15/+23
| | | | | | | * contrib/mm/m.tmac: Fix code style nit. Except for initial register tests for GNU troff formatter and compatibility mode, migrate special character, register, and string interpolation escape sequences from `(xx` form to `[xx]`. Also rewrite an instance of `\nP` to `\n[P]`.
* groff_mm(7): Fix copy and paste error.G. Branden Robinson2023-01-301-1/+1
|
* groff_mm(7): Recast discussion of headings.G. Branden Robinson2023-01-291-211/+185
|
* groff_mm(7): Migrate terminology.G. Branden Robinson2023-01-291-50/+21
| | | | | | ...from (user-defined) "exit" to "hook". "Exit" seems archaic. Also tighten presentation of hook macros.
* groff_mm(7): Fix content, style, and markup nits.G. Branden Robinson2023-01-291-2/+9
| | | | | | | | | * Add cross reference from LT to COVER. * End a sentence with a period. * Add poor man's keep. * Annotate a potentially confusing point regarding the `Cp` register. * Fix semicolon splice. * Set off code example with inter-paragraph space.
* groff_mm(7): Tighten wording.G. Branden Robinson2023-01-251-4/+5
|
* [mm]: Fix Savannah #54909.G. Branden Robinson2023-01-252-24/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When register `Pt` was 2, paragraphs immediately following displays and lists were being indented, contrary to DWB mm behavior. * m.tmac: Replace `par@ind-flag` register with two separate state bits, `par*indentation-eligible` and `par@suppress-indentation`. (P, nP): Remove complex test for deciding whether the current paragraph is being set immediately after a heading. (P): Set `par*indentation-eligible` to the logical complement of `par@suppress-indentation`. Call `par@doit` (which underlies both `P` and `nP`) unconditionally. (nP): Force `par*indentation-eligible` off, since numbered paragraphs are not influenced by a `Pt` value of "2" in DWB mm. {The paragraph number occupies the indentation space.} (par@doit): Introduce local register `par*do-indent`, manipulate it, and use it to control `ti` request instead of scattering the request across multiple locations. Remove this register when done. Clear `par@suppress-indentation` at end, since after indentation is suppressed once, it should not happen again until a special circumstance (the setting of a heading, display, or list) arises. (H): Convert test of `hd*htype` register, which tells us if we're setting a run-in heading or not, from `if` to `ie`. (The first paragraphing macro call after a run-in heading should _not_ have its indentation suppressed, because the material after the heading title constitutes a first pagraph.) In the true arm, set `par@suppress-indentation`; in the new else arm, clear it. This replaces the "complex test" above, and seems much more straightforward and reliable. Stop manipulating `par@ind-flag`. (df@end, ds@end, LC): Set `par@suppress-indentation` instead of clearing `par@ind-flag`. (LE): Set `par@suppress-indentation`. Fixes Savannah #54909. Thanks to Jeff Conrad for the report.
* [mm]: Regression-test Savannah #54909.G. Branden Robinson2023-01-253-0/+143
| | | | | | | | * contrib/mm/tests/P-indentation-works.sh: Do it. * contrib/mm/mm.am (mm_TESTS): Run test. Test fails at this commit (cases 8 and 10 of 11, paragraph indentation after displays and lists).
* [mm]: Eliminate spew at high debug levels.G. Branden Robinson2023-01-252-1/+13
| | | | | | | * contrib/mm/m.tmac (df@print-float): Eliminate spew at high debug levels. This macro gets called even when there aren't any floating displays pending, so we cannot assume that related registers are defined.
* [mm]: Fix grievous typo.G. Branden Robinson2023-01-252-1/+6
| | | | | | | | ...that put blank lines on the output, sometimes adding additional space between paragraphs. * contrib/mm/m.tmac (P): Fix missing backslash after brace escape sequence. Problem introduced by me in 3b1afbdb8e, 6 January.
* groff_mm(7): Document another difference from DWB.G. Branden Robinson2023-01-251-0/+11
|
* groff_mm(7): Revise "Register" section.G. Branden Robinson2023-01-231-310/+426
| | | | ...making numerous clarifications and corrections.
* contrib/mm/m.tmac: Clarify comments.G. Branden Robinson2023-01-231-5/+5
| | | | Also stop using pointless leading quote in string definition.
* groff_mm(7): Recast descriptions of .VERB{ON,OFF}.G. Branden Robinson2023-01-231-36/+30
|
* groff_mm(7): Clarify indentation management.G. Branden Robinson2023-01-231-14/+19
|